OpenstackChefStablebranchCreateNotes
Steps to create stable/<release> branch
Awesome! We've decided as a group to create the next stable branch. Here are some steps to remind you on how to do it.
- Go to for each repo as a core member and create the branch with the SHA you want.
- To get Gerrit to report to the #openstack-chef channel create the "stable/<release_name>" via openstack-infra/project-config project under: gerritbot/channels.yaml. Something like this is an example. You may be required to remove an old branch too, keep this in mind.
- Wait for the Patch to be merged by Infra
- Changes for each cookbook and repo, create a bug to tie all the following branch work together
- update.gitreview to ref defaultbranch=stable/juno
- update Berksfile to ref branch: 'stable/juno'
- update bootstrap.sh to replace master with branch name (master -> stable/kilo)
- see https://github.com/stackforge/cookbook-openstack-identity/commit/3a99613b89fb28d21def8cbeaa63e40da32768f5 for example
- Create a review with the above and put it up against the stable/<release> branch.
- Get it merged in and you should be good
Steps for new master branch
Now we have a new master, need to get it in sync with matching base openstack release.
- Possible infra changes for changes to the gates we want for this release
- Decide on new levels of tools (ChefDK, rubocop, foodcritic), we have always be trying to move forward with these
- Changes for each cookbook and repo.
- update metadata with new version level
- update common bootstrap with newer level of ChefDK
- create robocop TODO file to outline that work to be done (rubocop --auto-gen-config and add "inherit_from: .rubocop_todo.yml" in your .rubocop.yml)
- update code with refs to old openstack release (i.e. "juno" -> "kilo" (Common release and yum attributes, ...)
- update all code looking for deprecation's that can now be removed
- update any package dependencies that have changed for each component
- update all spec test platforms to targeted levels we want for this release
In order to pass gates, these need to be done in the following order:
- Common, Identity, Ops-Database and Ops-Messaging
- BareMetal, Image, BlockStorage, Image, Network, Database, Data-Processing, Dashboard, Object-Storage
- Compute, Orchestration, Telemetry, Integration-Test, Client
- Repo
back to main page: https://wiki.openstack.org/wiki/Chef/GettingStarted