VPP/CommitterTasks/PullThrottleBranch

From fd.io
< VPP
Jump to: navigation, search

VPP RC1 Milestone Tasklist

1. At least a week prior to the RC1 date, email a reminder to vpp-dev@lists.fd.io about VPP RC1 Milestone. See example email.

2. Resend reminder a day or two prior to the RC1 date.

Pulling a VPP Throttle Branch

3. Request LF Admin create Nexus repositories

Have LF admin staff create in nexus new repositories of the form “fd.io.${branchpart}.${distropart} where branchpart is of the form stable.YYMM (example stable.1801) and the distropart is for supported distros (examples: centos7, ubuntu.xenial.main, etc).

NOTE: ubuntu.trusty is no longer supported, thus should not be created.

4. Request Ed Warnicke create the package cloud repos.

Send and email to Ed Warnicke (eaw@cisco.com and/or hagbard@gmail.com) reminding him to create the package cloud repositories for the new release.

NOTE: If these do not exist or the permissions for them are wrong, then the merge jobs will fail after uploading build artifacts to nexus.fd.io

5. Jenkins: In ci-management/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/

6. Create a new branch stable/YYMM (example: stable/1801) in the gerrit web UI against the point on master you wish to be cutting the branch (usually HEAD at the time you’re cutting).

a. https://gerrit.fd.io/r/#/admin/projects/vpp,branches

7. On stable/YYMM (example: stable/1801) prepare a commit which updates the .gitreview to reflect the correct branch

a. Examples:
https://gerrit.fd.io/r/#/c/1157/1/.gitreview
https://gerrit.fd.io/r/#/c/9937/
b. Merge patch

8. Lay down a tag (v18.01-rc1) on stable/1801 at the point of the patch you just merged.

9. Verify that the nexus repos have packages with the correct version and are working

a. Remerge the patch from step 7
b. When the remerge from step 7 is complete, verify that the correct package versions have been uploaded onto the nexus server
https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.centos7/
https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.ubuntu.xenial.main/
c. Examples
https://nexus.fd.io/content/repositories/fd.io.stable.1801.centos7/
https://nexus.fd.io/content/repositories/fd.io.stable.1801.xenial.main/
d. Verify that package like artifacts are present in all the above git repos by looking for:
  • Non-zero sized ‘Package’ in the apt repos (xenial)
  • A repodata/ subdir in the yum repo (centos7)
e. Update the Installing VPP Binaries from Packages Wiki page with instructions for the new branch, and test that you can install packages

10. Lay down a tag for the next release RC0 (e.g. v1804-rc0) on master.

11. Update the package version used by java generation on master with the next release version in .../vpp/src/configure.ac

a. Example: https://gerrit.fd.io/r/#/c/8578/
b. Merge the patch.

12. Verify that the nexus repos have packages with the correct version and are working

a. Remerge the last merged patch on master
b. When the remerge of the last patch on master is complete, go look for package with the correct versions at:
https://nexus.fd.io/content/repositories/fd.io.master.centos7/
https://nexus.fd.io/content/repositories/fd.io.master.ubuntu.xenial.main/
c. Verify that package like artifacts are present in all the above git repos by looking for:
  • Non-zero sized ‘Package’ in the apt repos (xenial)
  • A repodata/ subdir in the yum repo (for centos7)
d. Follow instructions on VPP/Installing_VPP_binaries_from_packages and verify that packages with the new versions are installed

Historical Recipes

Steps for cutting Master to XXYY-rc0

VPP 16.09-RC0 cut punchlist