NSH SFC/Steps for cutting Master to XXYY-rc0

From fd.io
Jump to: navigation, search

Fd.io NSH_FC RC0 cut steps

  1. Nexus: Insure that “fd.io.${branchpart}.${distropart} where branchpart is the of the form stable.YYMM (example stable.1701) and the distropart is for supported distros (examples: centos7, ubuntu.trusty.main, ubuntu.xenial.main, etc) exist. You can check for them here: https://nexus.fd.io/#view-repositories . Generally they should exist, if they don't, open a case with helpdesk for their creation.
  2. Jenkins: In ci-management/jjb/nsh_sfc/nsh_sfc.yaml
    1. Add a new stream for your 'stream' your new YYMM (example: for stable/1701:
      - '1701':
      branch: 'stable/1701’'
      repo-stream-part: 'stable.1701'
  3. Create a new branch stable/YYMM (example: stable/1701) in the gerrit web UI against the point on master you wish to be cutting the branch (usually HEAD at the time your cutting).
    1. https://gerrit.fd.io/r/#/admin/projects/nsh_sfc,branches
  4. On stable/YYMM (example: stable/1701) prepare a commit which updates the .gitreview to reflect the correct branch and updates the java generation (in a single patch)
    1. Example: https://gerrit.fd.io/r/#/c/2821/
    2. Merge patch
  5. Lay down a v17.01-rc1 tag on stable/1701 at the point of the patch you just merged.
    1. https://wiki.fd.io/view/NSH_SFC/Pushing_and_Testing_a_Tag
  6. Verify that the nexus repos have packages with the correct version and are working
    1. Remerge the patch from step 4
    2. When the remerge from step 4 is complete, go look for package with the correct versions at:
      https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.centos7/ ( example: ( https://nexus.fd.io/content/repositories/fd.io.stable.1701.centos7/ )
      https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.ubuntu.trusty.main/ example: ( https://nexus.fd.io/content/repositories/fd.io.stable.1701.ubuntu.trusty.main/ )
      https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.ubuntu.xenial.main/ example (https://nexus.fd.io/content/repositories/fd.io.stable.1701.ubuntu.xenial.main/ )
    3. Update https://wiki.fd.io/view/NSH_SFC/Installing_NSH_SFC_binaries_from_packages with instructions for the new branch, and test that you can install packages
  7. Lay down a v17.04-rc0 tag on master
    1. https://wiki.fd.io/view/NSH_SFC/Pushing_and_Testing_a_Tag
  8. Verify that the nexus repos have packages with the correct version and are working
    1. Remerge the last merged patch on master
    2. 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.trusty.main/
      https://nexus.fd.io/content/repositories/fd.io.master.ubuntu.xenial.main/
    3. Follow instructions on https://wiki.fd.io/view/NSH_SFC/Installing_NSH_SFC_binaries_from_packages and verify that packages with the new versions are installed.
  9. Update the pom.xml version for the honeycomb jars on master to the next version (Example: 17.04)
    1. https://git.fd.io/nsh_sfc/tree/nsh-plugin/java/pom.xml
    2. https://git.fd.io/nsh_sfc/tree/nsh-plugin/java/jvpp/pom.xml
    3. Merged patch
    4. Verify you are seeing new versions in nexus: https://nexus.fd.io/content/repositories/fd.io.snapshot/io/fd/nsh_sfc/nsh-sfc/