-
Notifications
You must be signed in to change notification settings - Fork 722
VPP CommitterTasks CutRelease
- 1 Instructions for vpp release manager
- 2 Prerequisites
- 3 Recipe to Generate the Release
- 4 helpdesk template
- 5 Post Release Tasks
It is strongly recommended you do the prerequisites the week prior to the FR Milestone and start the release process a day or two prior to release.
-
Update Wiki - Edit the following wiki pages and add/revise references for new release
-
Review docs.fd.io
a. On the release throttle branch (e.g. stable/1801), add release specific links to .../vpp/doxygen/test_framework_doc.md b. pre-22.02 From workspace root, build doxygen output
make bootstrap-doxygen doxygenb. post-22.02 From workspace root, build docs
make docsc. Check documentation output by opening the document index file in a browser:
file:////build-root/docs/html/index.html d. Clean up any formatting issues found. e. Submit patch. f. After patch is merged, cherry-pick it to master.
-
Update .../vpp/extras/scripts/list_api_changes.py with current release rc0 tag (if necessary)
-
Update release notes
a. Edit .../vpp/RELEASE.md and add section for the current release b. Add number of commits by running the following command on the throttle branch (e.g. 18.01 == v18.01-rc0)
git rev-list <release rc0 tag>..HEAD | wc -lc. Add Features section from the Release Plan & git log (Hint: gitk is your friend, jira not so much) d. Add list of API changes generated using VPP e. Add list of patches that changed api files by running the updated list_api_changes.py script
-
Submit release notes patch (e.g. "18.01 Release Notes")
-
Send email to email asking for feedback on the release notes patch.
-
Merge release notes patch (which should be the patch where the release label is created).
-
Verify that all merge jobs (including docs) have completed successfully.
-
Cherry-pick release notes patch to master.
-
Review patches to the previous stable/XXXX release branch to ensure that all bug fixes in the previous release are contained in the new release.
WARNING: If you push the release tag before the merge jobs have completed from the release note patch, then the merge jobs will fail when you do the "remerge" step below because nexus does not allow overwriting artifacts that already exist. If this does happen, then you need to open a helpdesk ticket asking for all of the nexus release artifacts to be purged. You can also encounter this issue if the "remerge" jobs fail (keep your fingers crossed ;)
-
Send an email reminder to the VPP Committers to NOT MERGE ANY PATCHES onto the stable branch until after the completion of the release has been announced on email.
-
Lay tag for “v18.01” on patch that is “last patch in series" (see Pushing and Testing a Tag but note NO -rc<#> suffix!!!)
2a. IMPORTANT: verify in https://git.fd.io/vpp/ that the tag has been propagated and is visible. It sometimes takes a while. If the correct tag is not there at the time of the merge job start, the artifact labelling will be wrong.
-
“remerge” patch on that commit - so it creates various artifacts.
- Do remerge as per this [picture](https://www.dropbox.com/s/3xs09a9lnliv1za/Screenshot 2016-09-07 09.25.56.png?dl=0)
-
Once remerge jobs have successfully completed open case with LF staff to move artifacts to release repo
- Open a helpdesk ticket using the template below, substituting ${release number} with the release number (like 18.01) and ${release number without '.'} with the release number without '.' (like 1801).
-
Wait for LF infra staff to indicate they have completed the case
-
Test install behaviour on currently supported platforms (ie Centos7.2, Ubuntu Xenial) - use instructions for here to install 'release' packages and make sure you get a runnable version for ${release number} using release artifacts
a. Review the packages on PackageCloud.io (change release number in the search bar as necessary):
VPP 19.04.1 Centos7 Release packages
VPP 19.04.1 Ubuntu 16.04 (xenial) Release packages
VPP 19.04.1 Ubuntu 18.04 (bionic) X86_64 Release packages
VPP 19.04.1 Ubuntu 18.04 (bionic) ARM64 Release packages
VPP External Dependencies packages
b. Install binary packages and verify VPP starts on supported VMs without any prior VPP installed
-
Release the 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 under Actions for the release, select Release.
Tell Jira to move all still-open issues into the next release and set the release date appropriately.
- Declare Victory!
- Email vpp-dev and csit-dev to announce the availability of the release artifacts on nexus.fd.io.
Subject: Please publish VPP ${release number} Release Artifacts
Dear [email protected],
The VPP artifacts for release ${release number} are now available on packagecloud.io and are ready to be copied into the release directories.
Please let me know when they have been published so I can test the VPP ${release number} packages from packagecloud.io/fdio/release.
Thanks,
<Your Friendly VPP Release Manager>
- Rebuild the docs
make docs-venv docs
-
Submit the patch containing the updated docs about release version file .../docs/about.rst
- For example, VPP 19.04.3 docs build info
-
Create the tag for the next maintenance release “v19.04.4-rc0” on the patch (see Pushing and Testing a Tag). This tag is required to ensure that the latest artifacts pushed to packagecloud.io/1904 get retrieved when pulling from the repo using apt or yum.
-
Merge the patch [Verified +1, Code Review +2]
- VPP-ABF
- 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-CodingTips
- VPP Command Line Arguments
- VPP Command Line Interface CLI Guide
- VPP-CommitMessages
- VPP-CommitterTasks-ApiFreeze
- VPP CommitterTasks Compare API Changes
- VPP-CommitterTasks-CutPointRelease
- VPP-CommitterTasks-CutRelease
- VPP-CommitterTasks-FinalReleaseCandidate
- VPP-CommitterTasks-PullThrottleBranch
- VPP-CommitterTasks-ReleasePlan
- 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-DHCPv6
- VPP-DistributedOwnership
- VPP DPOs And Feature Arcs
- VPP EC2 Instance With SRIOV
- VPP-elog
- VPP-FAQ
- VPP Feature Arcs
- VPP-g2
- 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 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 Installing VPP Binaries From Packages
- VPP Interconnecting vRouters With VPP
- VPP Introduction To IP Adjacency
- VPP Introduction To N Tuple Classifiers
- VPP-IPFIX
- VPP-IPSec
- VPP IPSec And IKEv2
- VPP-Macswapplugin
- VPP-Meeting
- VPP-MFIB
- VPP Missing Prefetches
- VPP Modifying The Packet Processing Directed Graph
- VPP MPLS FIB
- VPP-NAT
- VPP Per Feature Notes
- VPP Performance Analysis Tools
- VPP-perftop
- 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-QuickTrexSetup
- VPP Random Hints And Kinks For KVM Usage
- 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-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 VPP BFD Nexus
- VPP VPP Home Gateway
- VPP-VPPCommunicationsLibrary
- VPP What Is VPP
- VPP Working With The 16.06 Throttle Branch