Upgrades between minor versions of OpenStack-Ansible require updating the repository to the latest minor release tag, and then running playbooks against the target hosts. This section provides instructions for those tasks.
To avoid issues and simplify troubleshooting during the upgrade, disable the
security hardening role by setting the apply_security_hardening
variable
to False
in the user_variables.yml
file.
A minor upgrade typically requires the following steps:
Change directory to the cloned repository’s root directory:
# cd /opt/openstack-ansible
Ensure that your OpenStack-Ansible code is on the latest Pike tagged release:
# git checkout 16.0.0.0b2
Update all the dependent roles to the latest version:
# ./scripts/bootstrap-ansible.sh
Change to the playbooks directory:
# cd playbooks
Update the hosts:
# openstack-ansible setup-hosts.yml
Update the infrastructure:
# openstack-ansible -e rabbitmq_upgrade=true \
setup-infrastructure.yml
Update all OpenStack services:
# openstack-ansible setup-openstack.yml
Note
You can limit upgrades to specific OpenStack components. See the following section for details.
You can limit upgrades to specific OpenStack components by running each of the component playbooks against groups.
For example, you can update only the Compute hosts by running the following command:
# openstack-ansible os-nova-install.yml --limit nova_compute
To update only a single Compute host, run the following command:
# openstack-ansible os-nova-install.yml --limit <node-name> \
--skip-tags 'nova-key'
Note
Skipping the nova-key
tag is necessary so that the keys on
all Compute hosts are not gathered.
To see which hosts belong to which groups, use the inventory-manage.py
script to show all groups and their hosts. For example:
Change directory to the repository clone root directory:
# cd /opt/openstack-ansible
Show all groups and which hosts belong to them:
# ./scripts/inventory-manage.py -G
Show all hosts and the groups to which they belong:
# ./scripts/inventory-manage.py -g
To see which hosts a playbook runs against, and to see which tasks are performed, run the following commands (for example):
Change directory to the repository clone playbooks directory:
# cd /opt/openstack-ansible/playbooks
See the hosts in the nova_compute
group that a playbook runs against:
# openstack-ansible os-nova-install.yml --limit nova_compute \
--list-hosts
See the tasks that are executed on hosts in the nova_compute
group:
# openstack-ansible os-nova-install.yml --limit nova_compute \
--skip-tags 'nova-key' \
--list-tasks
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.