openstack-ansible/doc/source/install-guide/app-minorupgrade.rst
Jean-Philippe Evrard 12f0c68983 Doc: Notice to disable security hardening role during minor upgrades
Change-Id: I9d6adbe293543f953b0fd8b94b94cf21e914cc0b
Closes-Bug: #1568029
2016-05-05 00:56:55 +00:00

3.4 KiB

Home OpenStack-Ansible Installation Guide

Appendix C: Minor upgrades

Upgrades between minor versions of OpenStack-Ansible are handled by updating the repository clone to the latest tag, then executing playbooks against the target hosts.

Note

In order to avoid issues and ease the troubleshooting if an issue appears during the upgrade, disable the security hardening role before running the following steps. Set your variable apply_security_hardening to False.

A minor upgrade typically requires the execution of the following:

  1. Change directory into the repository clone root directory:

    # cd /opt/openstack-ansible
  2. Update the git remotes:

    # git fetch --all
  3. Checkout the latest tag (the below tag is an example):

    # git checkout 13.0.1
  4. Update all the dependent roles to the latest versions:

    # ./scripts/bootstrap-ansible.sh
  5. Change into the playbooks directory:

    # cd playbooks
  6. Update the hosts:

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

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

    # openstack-ansible setup-openstack.yml

Note

Scope upgrades to specific OpenStack components by executing each of the component playbooks using groups.

For example:

  1. Update only the Compute hosts:

    # openstack-ansible os-nova-install.yml --limit nova_compute
  2. Update only a single Compute host:

    Note

    Skipping the nova-key tag is necessary as the keys on all Compute hosts will not be gathered.

    # openstack-ansible os-nova-install.yml --limit <node-name> \
        --skip-tags 'nova-key'

To see which hosts belong to which groups, the inventory-manage.py script shows all groups and their hosts. For example:

  1. Change directory into 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 which groups they belong:

    # ./scripts/inventory-manage.py -g

To see which hosts a playbook will execute against, and to see which tasks will execute.

  1. Change directory into the repository clone playbooks directory:

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

    # openstack-ansible os-nova-install.yml --limit nova_compute \
                                            --list-hosts
  3. See the tasks which will be executed on hosts in the nova_compute group:

    # openstack-ansible os-nova-install.yml --limit nova_compute \
                                            --skip-tags 'nova-key' \
                                            --list-tasks