openstack-ansible/doc/source/user/minor-upgrade.rst
Jesse Pretorius 315780f350 March to the beat of the new docs drum
Boss drum, motivating rhythm of life with the
healing, rhythmic synergy.

More seriously, this patch re-arranges the
documentation structure to conform to the
structure outlined in [1].

With it, some changes are made to effectively
transition the links and simplify the sphinx
configuration.

The Mitaka/Liberty documentation links are
removed as they are no longer available.

[1] http://specs.openstack.org/openstack/docs-specs/specs/pike/os-manuals-migration.html
Change-Id: Icc985de3af4de5ea7a5aa01b6e6f6e524c67f11b
2017-07-05 09:13:13 +00:00

3.6 KiB

Executing a minor version upgrade

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.

Prerequisites

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.

Execute a minor version upgrade

A minor upgrade typically requires the following steps:

  1. Change directory to the cloned repository's root directory:

    # cd /opt/openstack-ansible
  2. Ensure that your OpenStack-Ansible code is on the latest tagged release:

    # git checkout

  3. Update all the dependent roles to the latest version:

    # ./scripts/bootstrap-ansible.sh
  4. Change to the playbooks directory:

    # cd playbooks
  5. Update the hosts:

    # openstack-ansible setup-hosts.yml
  6. Update the infrastructure:

    # openstack-ansible -e rabbitmq_upgrade=true \
    setup-infrastructure.yml
  7. Update all OpenStack services:

    # openstack-ansible setup-openstack.yml

Note

You can limit upgrades to specific OpenStack components. See the following section for details.

Upgrade specific components

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:

  1. Change directory to the repository clone root directory:

    # cd /opt/openstack-ansible
  2. Show all groups and which hosts belong to them:

    # ./scripts/inventory-manage.py -G
  3. 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):

  1. Change directory to the repository clone playbooks directory:

    # cd /opt/openstack-ansible/playbooks
  2. See the hosts in the nova_compute group that a playbook runs against:

    # openstack-ansible os-nova-install.yml --limit nova_compute \
                                            --list-hosts
  3. 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