-
Notifications
You must be signed in to change notification settings - Fork 708
VPP CommitterTasks PullThrottleBranch
- 1 VPP RC1 pre-Milestone Tasklist
- 2 Jira versions
- 3 Pulling a VPP Throttle Branch
- 4 Marking the auto-generated release notes for later use
- 5 Historical Recipes
-
At least a week prior to the RC1 date, email a reminder to email about VPP RC1 Milestone. See an example email or another example email.
-
To be done before RC1:
: a. Follow-up that ci-management change below is merged : b. Verify that packagecloud.io repository fdio/YYMM (as corresponding to the branch stable/YYMM that is being created) exists and follow up with Ed Warnicke to ensure it is created and has "lf-fdio" added as a collaborator. : c. Prepare "first commit of rc0 of next release" commit on master branch so it is ready for merge + tagging at the time of the RC1.
- Resend reminder about (1) a day or two prior to the RC1 date.
RC1 milestone involves a fair bit of watching the paint dry, so it is a good use of part of this time to create the next version in Jira. VPP committers should have admin access to Jira.
From https://jira.fd.io/plugins/servlet/project-config/VPP/summary navigate to Releases (or Versions, same thing) and fill in the empty boxes labelled Version name and start date (which should be the date that RC1 of the current release is created). Then select Add.
Additionally, if the previous version was not released (because the previous release manager forgot to), now is a good time to do so. Choose the Release action for the version and then move still-open issues to the current release. Set the release date for the previous release appropriately.
Finally, check that the dates for the current release are accurate; it is likely the release date is empty. By this point we should know the anticipated release date, so it is worth filling it in.
NOTE: Steps 3 and 4 can be done any time prior to RC1 branch day. At the very least, discuss the requirements with the individuals ahead of time to set the correct expectations.
-
nexus - no longer needed.
-
Request Ed Warnicke create the package cloud repos. Send and email to Ed Warnicke (email and/or email) reminding him to create the package cloud repositories for the new release, and have lf-fdio as a collaborator. Since 21.01RC1 the verify/merge jobs do not require the packages to be present in the deb repos.
-
Jenkins: (can be done and merged some days before the date of pulling the branch) - In the ci-management Git repo, edit
jjb/vpp/vpp.yaml:
: a. https://git.fd.io/ci-management/tree/jjb/vpp/vpp.yaml#n49
: add a new 'stream' for your new *YYMM*. Example for *stable/1801*:
- '1801':
branch: 'stable/1801’'
repo-stream-part: 'stable.1801'
: b. https://git.fd.io/ci-management/tree/jjb/vpp/vpp.yaml#n87
: likewise add a new stream here. Exactly the same idea as the previous step.
: c. Example: https://gerrit.fd.io/r/9934/
: d. Similarly, edit jjb/vpp/docs.yaml
: add a new 'stream' for your new *YYMM*. Example for *stable/1904*:
- '1904':
branch: 'stable/1904’'
repo-stream-part: 'stable.1904'
: e. Example: https://gerrit.fd.io/r/#/c/18982/
- (since 22.02) On master branch, edit docs/aboutvpp/releasenotes/index.rst and remove the oldest version designator. Add this same version designator at the top of the docs/aboutvpp/releasenotes/past.rst file. This will be the commit that the next release -rc0 tag is placed on.
: Examples:
: <https://gerrit.fd.io/r/c/vpp/+/34967>
- (before 22.02) On master branch, edit vpp/RELEASE.md and add a placeholder for the next release and merge the patch on master and edit vpp/doxygen/test_framework_doc.md and add a new link to the next release's test framework documentation. This will be the commit that the next release -rc0 tag is placed on.
: Examples:
: <https://gerrit.fd.io/r/#/c/18803/1/RELEASE.md>
: <https://gerrit.fd.io/r/#/c/19292/1/doxygen/test_framework_doc.md>
-
Lay down a tag for the next release RC0 (e.g.
1804-rc0) on master, using the hash of the above commit as an explicit argument for tagging.
: a. Verify that the tag shows up by looking for it at https://git.fd.io/vpp/log/ - it usually takes a few minutes. : b. Remerge the last merged patch on master - you can see the "to be" version in the build logs for the merge jobs. : c. When the remerge of the last patch on master is complete, go look for package with the correct versions at packagecloud.io/fdio/master : d. Follow instructions on VPP/Installing_VPP_binaries_from_packages and verify that packages with the new versions are installed on packagecloud.io
There may be existing patches from others waiting to be merged on master - then instead of a remerge of the patch from step (6), if that patch is being merged, it can be used for sanity check instead of patch from step (6).
- Create a new branch stable/YYMM (example: stable/1801) in the Gerrit web UI and specify the hash of the commit JUST BEFORE the one you merged in step 6.
: a. https://gerrit.fd.io/r/#/admin/projects/vpp,branches
- On the new stable/YYMM branch (example: stable/1801) prepare a commit which updates the
.gitreviewto reflect the correct branch. (You will need a "git pull" in your local repo to see the ref for the newly created branch).
: a. Examples:
: <https://gerrit.fd.io/r/c/vpp/+/34968>
: <https://gerrit.fd.io/r/#/c/1157/1/.gitreview>
: <https://gerrit.fd.io/r/#/c/9937/>
: b. Merge patch onto the new stable branch
NOTE: Verify that this patch is in fact on the new stable branch, and not on master!
-
Lay down a tag (
v18.01-rc1) on stable/1801 at the point of the patch you just merged.
NOTE: If the verification steps in 11 & 12 don't happen by the end of the day, it is best to send an email re-opening master to commits.
- Verify that the packagecloud.io repos have packages with the correct version and are working
: a. Remerge the patch from step 9 after you push the tag (you can verify the to-be version of artifacts in the beginning of the VPP build log messages)
: b. When the remerge from step 9 is complete, verify that the correct package versions have been uploaded onto the packagecloud.io/fdio/XXYY repository - if the job succeeded, the packages typically will be there. You can verify by visiting the packagecloud.io web interface and checking there.
: c. Verify that the packages for the supported OSes are installable from the packagecloud.io/fdio/XXYY repo
: d. Update the Installing VPP Binaries from Packages Wiki page with instructions for the new branch, and test that you can install packages from packagecloud.io
-
Send the all-clear message. Example.
-
If the Jira steps from VPP/CommitterTasks/ApiFreeze#Jira_versions didn't happen yet, do them now.
Amend as necessary with any caveats; for example the 1804 RC1 milestone opened master and stable on different days while minor issues were resolved.
To facilitate the automated creation of the release notes, put a vXX.YY-rc1 tag onto https://github.com/vpp-dev/vpp-release-notes and push it there. This will allow to easily find the correct version of the release notes, as after the VPP -rc0 tag for the new release is pushed, they will be overwritten the next day!
- VPP 2022 Make Test Use Case Poll
- VPP-AArch64
- VPP-ABF
- VPP Alternative Builds
- VPP API Concepts
- VPP API Versioning
- VPP-ApiChangeProcess
- VPP-ArtifactVersioning
- VPP-BIER
- VPP-Bihash
- VPP-BugReports
- VPP Build System Deep Dive
- VPP Build, Install, And Test Images
- VPP-BuildArtifactRetentionPolicy
- VPP-c2cpel
- VPP Code Walkthrough VoD
- VPP Code Walkthrough VoD Topic Index
- VPP Code Walkthrough VoDs
- VPP-CodeStyleConventions
- VPP-CodingTips
- VPP Command Line Arguments
- VPP Command Line Interface CLI Guide
- VPP-CommitMessages
- VPP-Committers-SMEs
- VPP-CommitterTasks-ApiFreeze
- VPP CommitterTasks Compare API Changes
- VPP-CommitterTasks-CutPointRelease
- VPP-CommitterTasks-CutRelease
- VPP-CommitterTasks-FinalReleaseCandidate
- VPP-CommitterTasks-PullThrottleBranch
- VPP-CommitterTasks-ReleasePlan
- VPP Configuration Tool
- VPP Configure An LW46 MAP E Terminator
- VPP Configure VPP As A Router Between Namespaces
- VPP Configure VPP TAP Interfaces For Container Routing
- VPP-CoreFileMismatch
- VPP-cpel
- VPP-cpeldump
- VPP-CurrentData
- VPP-DHCPKit
- VPP-DHCPv6
- VPP-DistributedOwnership
- VPP-Documentation
- VPP DPOs And Feature Arcs
- VPP EC2 Instance With SRIOV
- VPP-elog
- VPP-FAQ
- VPP Feature Arcs
- VPP-Features
- VPP-Features-IPv6
- VPP-FIB
- VPP-g2
- VPP Getting VPP 16.06
- VPP Getting VPP Release Binaries
- VPP-HA
- VPP-HostStack
- VPP-HostStack-BuiltinEchoClientServer
- VPP-HostStack-EchoClientServer
- VPP-HostStack-ExternalEchoClientServer
- VPP HostStack Hs Test
- VPP-HostStack-LDP-iperf
- VPP-HostStack-LDP-nginx
- VPP-HostStack-LDP-sshd
- VPP-HostStack-nginx
- VPP-HostStack-SessionLayerArchitecture
- VPP-HostStack-TestHttpServer
- VPP-HostStack-TestProxy
- VPP-HostStack-TLS
- VPP-HostStack-VCL
- VPP-HostStack-VclEchoClientServer
- VPP-Hotplug
- VPP How To Add A Tunnel Encapsulation
- VPP How To Build The Sample Plugin
- VPP How To Connect A PCI Interface To VPP
- VPP How To Create A VPP Binary Control Plane API
- VPP How To Deploy VPP In EC2 Instance And Use It To Connect Two Different VPCs
- VPP How To Optimize Performance %28System Tuning%29
- VPP How To Use The API Trace Tools
- VPP How To Use The C API
- VPP How To Use The Packet Generator And Packet Tracer
- VPP-Howtos
- VPP-index
- VPP Installing VPP Binaries From Packages
- VPP Interconnecting vRouters With VPP
- VPP Introduction To IP Adjacency
- VPP Introduction To N Tuple Classifiers
- VPP IP Adjacency Introduction
- VPP-IPFIX
- VPP-IPSec
- VPP IPSec And IKEv2
- VPP IPv6 SR VIRL Topology File
- VPP Java API
- VPP Java API Plugin Support
- VPP Jira Workflow
- VPP-Macswapplugin
- VPP-MakeTestFramework
- VPP-Meeting
- VPP-MFIB
- VPP Missing Prefetches
- VPP Modifying The Packet Processing Directed Graph
- VPP MPLS FIB
- VPP-NAT
- VPP Nataas Test
- VPP-OVN
- VPP Per Feature Notes
- VPP Performance Analysis Tools
- VPP-perftop
- VPP Progressive VPP Tutorial
- VPP Project Meeting Minutes
- VPP Pulling, Building, Running, Hacking And Pushing VPP Code
- VPP Pure L3 Between Namespaces With 32s
- VPP Pure L3 Container Networking
- VPP Pushing And Testing A Tag
- VPP Python API
- VPP-PythonVersionPolicy
- VPP-QuickTrexSetup
- VPP Random Hints And Kinks For KVM Usage
- VPP Release Plans Release Plan 16.09
- VPP Release Plans Release Plan 17.01
- VPP Release Plans Release Plan 17.04
- VPP Release Plans Release Plan 17.07
- VPP Release Plans Release Plan 17.10
- VPP Release Plans Release Plan 18.01
- VPP Release Plans Release Plan 18.04
- VPP Release Plans Release Plan 18.07
- VPP Release Plans Release Plan 18.10
- VPP Release Plans Release Plan 19.01
- VPP Release Plans Release Plan 19.04
- VPP Release Plans Release Plan 19.08
- VPP Release Plans Release Plan 20.01
- VPP Release Plans Release Plan 20.05
- VPP Release Plans Release Plan 20.09
- VPP Release Plans Release Plan 21.01
- VPP Release Plans Release Plan 21.06
- VPP Release Plans Release Plan 21.10
- VPP Release Plans Release Plan 22.02
- VPP Release Plans Release Plan 22.06
- VPP Release Plans Release Plan 22.10
- VPP Release Plans Release Plan 23.02
- VPP Release Plans Release Plan 23.06
- VPP Release Plans Release Plan 23.10
- VPP Release Plans Release Plan 24.02
- VPP Release Plans Release Plan 24.06
- VPP Release Plans Release Plan 24.10
- VPP Release Plans Release Plan 25.02
- VPP Release Plans Release Plan 25.06
- VPP Release Plans Release Plan 25.10
- VPP Release Plans Release Plan 26.02
- VPP Release Plans Release Plan 26.06
- VPP-RM
- VPP-SecurityGroups
- VPP Segment Routing For IPv6
- VPP Segment Routing For MPLS
- VPP Setting Up Your Dev Environment
- VPP-SNAT
- VPP Software Architecture
- VPP STN Testing
- VPP The VPP API
- VPP Training Events
- VPP-Troubleshooting
- VPP-Troubleshooting-BuildIssues
- VPP-Troubleshooting-Vagrant
- VPP Tutorial DPDK And MacSwap
- VPP Tutorial Routing And Switching
- VPP-Tutorials
- VPP Use VPP To Chain VMs Using Vhost User Interface
- VPP Use VPP To Connect VMs Using Vhost User Interface
- VPP Using mTCP User Mode TCP Stack With VPP
- VPP Using VPP As A VXLAN Tunnel Terminator
- VPP Using VPP In A Multi Thread Model
- VPP-VOM
- VPP VPP BFD Nexus
- VPP VPP Home Gateway
- VPP VPP WIKI DEPRECATED CONTENT
- VPP-VPPCommunicationsLibrary
- VPP-VPPConfig
- VPP What Is ODP4VPP
- VPP What Is VPP
- VPP Working Environments
- VPP Working With The 16.06 Throttle Branch