Florian Haas 6e8904062f Update docs & upgrade scripts for Stein
Closes-Bug: #1790158
Change-Id: I37d8c90dedf0cf9e36c913ba7541440b9964e631
2018-09-04 17:20:29 +01:00

136 lines
4.5 KiB
ReStructuredText

.. _periodicwork:
=============
Periodic Work
=============
Releasing
=========
Our release frequency is discussed in :ref:`reference_release`.
Dependency Updates
------------------
The dependencies for OpenStack-Ansible are updated
through the use of ``scripts/sources-branch-updater.sh``. This script
updates all pinned SHA's for OpenStack services, OpenStack-Ansible roles,
and other python dependencies which are not handled by the OpenStack global
requirements management process. This script also updates the statically
held templates/files in each role to ensure that they are always up to date.
Finally, it also increments the patch version of the
``openstack_release`` variable.
The update script is used as follows:
.. parsed-literal::
# change directory to the openstack-ansible checkout
cd ~/code/openstack-ansible
# ensure that the correct branch is checked out
git checkout |current_release_git_branch_name|
# ensure that the branch is up to date
git pull
# create the local branch for the update
git checkout -b sha-update
# execute the script for all openstack services
./scripts/sources-branch-updater.sh -b |current_release_git_branch_name| -o |current_release_git_branch_name|
# execute the script for gnocchi
./scripts/sources-branch-updater.sh -s playbooks/defaults/repo_packages/gnocchi.yml -b |current_release_gnocchi_git_branch_name| -o |current_release_git_branch_name|
# the console code should only be updated when necessary for a security fix, or for the OSA master branch
./scripts/sources-branch-updater.sh -s playbooks/defaults/repo_packages/nova_consoles.yml -b master
# commit the changes
new_version=$(awk '/^openstack_release/ {print $2}' inventory/group_vars/all/all.yml)
git add --all
git commit -a -m "Update all SHAs for ${new_version}" \
-m "This patch updates all the roles to the latest available stable
SHA's, copies the release notes from the updated roles into the
integrated repo, updates all the OpenStack Service SHA's, and
updates the appropriate python requirements pins.
# push the changes up to gerrit
git review
Development cycle checklist
===========================
On top of the normal cycle goals, a contributor can help the OpenStack-Ansible
development team by performing one of the following recurring tasks:
* By milestone 1:
* Community goal acknowledgement.
* Set the ``openstack_release`` version to xx.0.0.0b1
* By milestone 2:
* Handle deprecations from upstream project's previous cycle.
* Handle OpenStack-Ansible roles deprecations from the previous cycle.
* Refresh static elements in roles. For example, update a specific version of
the software packages.
* Bump ``ceph_stable_release`` to latest Ceph LTS release in the integrated
OpenStack-Ansible repo, and inside the ``ceph_client`` role defaults.
* Check and bump galera versions if required.
* Check and bump rabbitmq versions if required.
* Check outstanding reviews and move to merge or abandon them if no longer
valid.
* Set the ``openstack_release`` version to xx.0.0.0b2
* By milestone 3:
* Implement features
* Set the ``openstack_release`` version to xx.0.0.0b3
* After milestone 3:
* Feature freeze, bug fixes, and testing improvements
* After creating a new stable branch:
* Set the ``openstack_release`` version to xx.0.0
* For all the repos, update the eventual static files refering
to master/previous branch name. The main documentation should
be updated to add the new branch. The #openstack-docs team
should also be updated, for linking the newly created
deployment-guide.
Use the topic ``create-<branchname>`` (e.g: ``create-stein``)
for future reference.
* Branch all the repos that aren't part of the integrated release
in gerrit. See also the ``projects.yaml`` in the governance repo.
Manually branched repos need extra
editions, like updating the .gitreview, or the reno index.
Please reference previous branch creations by using the
appropriate topic in gerrit (e.g.: ``create-stein``).
The previous new branch creation may be different as the
tooling/process may have evolved, so be aware that the changes
needed may need to be adapted.
* After official project release, before official OpenStack-Ansible release:
* Bump RDO, Ubuntu Cloud Archive and openSUSE OBS OpenStack Cloud
repositories if they are ready on time.
* Immediately after official OpenStack-Ansible release:
* Set the ``openstack_release`` version to xx.0.1