[release] add kolla feature flag sync scripts and update docs
Adds a script for syncing feature flags from Kolla Ansible, and updates the release docs to include this step. Also adds the inventory sync step. Change-Id: Id2bd48897d6b37a5006bad7f6e8597db20aa1b8b
This commit is contained in:
parent
0b279474e0
commit
b7287ec586
@ -55,6 +55,69 @@ Testing
|
||||
|
||||
Test the code and fix at a minimum all critical issues.
|
||||
|
||||
Synchronise with Kolla Ansible feature flags
|
||||
--------------------------------------------
|
||||
|
||||
Clone the Kolla Ansible repository, and run the
|
||||
Kayobe ``tools/kolla-feature-flags.sh`` script:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
tools/kolla-feature-flags.sh <path to kolla-ansible source>
|
||||
|
||||
Copy the output of the script, and replace the ``kolla_feature_flags`` list in
|
||||
``ansible/roles/kolla-ansible/vars/main.yml``.
|
||||
|
||||
The ``kolla.yml`` configuration file should be updated to match:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
tools/feature-flags.py
|
||||
|
||||
Copy the output of the script, and replace the list of ``kolla_enable_*`` flags
|
||||
in ``etc/kayobe/kolla.yml``.
|
||||
|
||||
Synchronise with Kolla Ansible inventory
|
||||
----------------------------------------
|
||||
|
||||
Clone the Kolla Ansible repository, and copy across any relevant changes. The
|
||||
Kayobe inventory is based on the ``ansible/inventory/multinode`` inventory, but
|
||||
split into 3 parts - top-level, components and services.
|
||||
|
||||
Top level
|
||||
^^^^^^^^^
|
||||
|
||||
The top level inventory template is
|
||||
``ansible/roles/kolla-ansible/templates/overcloud-top-level.j2``. It is heavily
|
||||
templated, and does not typically need to be changed. Look out for changes in
|
||||
the ``multinode`` inventory before the ``[baremetal]`` group.
|
||||
|
||||
Components
|
||||
^^^^^^^^^^
|
||||
|
||||
The components inventory template is
|
||||
``ansible/roles/kolla-ansible/templates/overcloud-components.j2``.
|
||||
|
||||
This includes groups in the ``multinode`` inventory from the ``[baremetal]``
|
||||
group down to the following text::
|
||||
|
||||
# Additional control implemented here. These groups allow you to control which
|
||||
# services run on which hosts at a per-service level.
|
||||
|
||||
Services
|
||||
^^^^^^^^
|
||||
|
||||
The services inventory template is
|
||||
``ansible/roles/kolla-ansible/templates/overcloud-services.j2``.
|
||||
|
||||
This includes groups in the ``multinode`` inventory from the following text to
|
||||
the end of the file::
|
||||
|
||||
# Additional control implemented here. These groups allow you to control which
|
||||
# services run on which hosts at a per-service level.
|
||||
|
||||
There are some small changes in this section which should be maintained.
|
||||
|
||||
.. _update-dependencies-for-release:
|
||||
|
||||
Update dependencies to upcoming release
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
# Usage: run this script and copy the output to etc/kayobe/kolla.yml
|
||||
|
||||
# See also: tools/kolla-feature-flags.sh
|
||||
|
||||
import os
|
||||
import pathlib
|
||||
|
||||
|
21
tools/kolla-feature-flags.sh
Executable file
21
tools/kolla-feature-flags.sh
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script generates a list of Kolla Ansible feature flags to use as the
|
||||
# kolla_feature_flags variable in ansible/roles/kolla-ansible/vars/main.yml.
|
||||
# It should be run periodically and before a release.
|
||||
|
||||
# See also: tools/feature-flags.py
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
KOLLA_ANSIBLE_SRC=$1
|
||||
KOLLA_GROUP_VARS_ALL=${KOLLA_ANSIBLE_SRC}/ansible/group_vars/all.yml
|
||||
|
||||
if [[ ! -f $KOLLA_GROUP_VARS_ALL ]]; then
|
||||
echo "Usage: $0 <path to kolla-ansible source>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Find all feature flags, strip the enable_ prefix and value, sort.
|
||||
cat ${KOLLA_GROUP_VARS_ALL} | grep '^enable_'| sed -e 's/enable_\(.*\):.*/ - \1/' | sort
|
Loading…
Reference in New Issue
Block a user