openstack-ansible/doc/source/upgrade-guide/reference-upgrade-playbooks.rst
Jesse Pretorius 10a7d80b79 [docs] Resolve errors and simplify sphinx config
This patch does the following:

- Simplifies the sphinx configuration introduced in
  https://review.openstack.org/371722 to reduce the
  number of variables involved. The variables are
  also ordered in the same way everywhere to make it
  easier to read and troubleshoot.

- Simplifies some of the CLI guides to be more explicit
  about the tag to checkout when cloning the git repo.

- Cleaned up some references which went to non-existant
  documents.

- Added a link to the networking appendix.

- As per https://review.openstack.org/369650 the
  backup directory for the upgrade process is now
  the name of the source version the upgrade process is
  working with.

Change-Id: Iee30a32f99a66d9facb049311cadf1b9a8b2170e
2016-09-19 15:28:58 +00:00

4.1 KiB

Upgrade playbooks

This section describes the playbooks that are used in the upgrade process in further detail.

Within the main scripts directory there is an upgrade-utilities directory, which contains an additional playbooks directory. These playbooks facilitate the upgrade process.

lbaas-version-check.yml

This playbook is part of the general pre-flight checks.

Because LBaaS v1 isn't supported in and above, and there is no migration path, the deployer will have to manually disable LBaaS v1 before upgrading. For openstack-ansible, we are checking if neutron_lbaas is set to False, but additional operations are to bedone by the deployer for the cleanup.

ansible_fact_cleanup.yml

This calls a script to removes files in /etc/openstack_deploy/ansible_facts/

deploy-config-changes.yml

This playbook backs up the /etc/openstack_deploy directory before changing the configuration.

/etc/openstack_deploy copies once to .

user-secrets-adjustment.yml

This playbook ensures that the user secrets file is updated based on the example file in the main repository, making it possible to guarantee all secrets move into the upgraded environment and generate appropriately. This adds only new secrets, such as those necessary for new services or new settings added to existing services. Values set previously are not changed.

pip-conf-removal.yml

The presence of pip.conf locks down all Python installations to packages on the repo servers. If pip.conf exists on a repo server or a physical node, it will cause a circular dependency issue and the upgrade will fail.

old-hostname-compatibility.yml

This playbook ensures an alias is created for old hostnames that may not be RFC 1034 or 1035 compatible. Using a hostname alias allows agents to continue working in cases where the hostname is also the registered agent name. This playbook is only needed for upgrades of in-place upgrades of existing nodes or if a node is replaced or rebuilt it will be brought into the cluster using a compliant hostname.

setup-infrastructure.yml

The playbooks directory contains the setup-infrastructure.yml playbook. The run-upgrade.sh script calls setup-insfrastructure.yml with specific arguments to upgrade MariaDB and RabbitMQ.

For example, to run an upgrade for both components at once, run the following commands:

# openstack-ansible setup-infrastructure.yml -e 'rabbitmq_upgrade=true' \
# -e 'galera_upgrade=true'

The rabbitmq_upgrade variable tells the rabbitmq_server role to upgrade RabbitMQ.

Note

The RabbitMQ server role installs patch releases automatically, regardless of the value of rabbitmq_upgrade. This variable only controls upgrading the major or minor versions.

Upgrading RabbitMQ in the release is optional. The run-upgrade.sh script does not automatically upgrade it. To upgrade RabbitMQ, insert the rabbitmq_upgrade: true line into a file, such as: /etc/openstack_deploy/user_variables.yml.

The galera_upgrade variable tells the galera_server role to remove the current version of MariaDB and Galera and upgrade to the 10.x series.

memcached-flush.yml

Sends "flush_all" to memcached with the help of nc.

aodh-api-init-delete.yml

Stops the aodh-api service and removes the init file since aodh-api now runs under Apache mod_wsgi. Run the os-aodh-install.yml playbook during the OpenStack services upgrade to ensure aodh-api is available after running aodh-api-init-delete.yml.