[ English | русский | English (United Kingdom) | Indonesia | Deutsch | 한국어 (대한민국) ]

Wichtige Upgrades

Dieses Handbuch enthält Informationen zum Aktualisierungsvorgang von Rocky zu Stein für OpenStack-Ansible.

Bemerkung

Sie können nur zwischen sequenziellen Releases upgraden.

Einführung

For upgrades between major versions, the OpenStack-Ansible repository provides playbooks and scripts to upgrade an environment. The run-upgrade.sh script runs each upgrade playbook in the correct order, or playbooks can be run individually if necessary. Alternatively, a deployer can upgrade manually.

Weitere Informationen zum Hauptaktualisierungsprozess finden Sie unter Aktualisierung mit einem Script und Manuelle Aktualisierung.

Warnung

Upgrading to master is not recommended. Master is under heavy development, and is not stable. Testen Sie dies zunächst in einer Entwicklungsumgebung.

Aktualisierung mit einem Script

Der Stein Release-Reihe von OpenStack-Ansible enthält den Code für die Migration von Rocky zu Stein.

Ausführen des Upgrade-Skripts

So aktualisieren Sie von Rocky zu Stein. Führen Sie mit dem Upgrade-Skript die folgenden Schritte im Verzeichnis openstack-ansible durch:

  1. Wechseln Sie in das Stammverzeichnis des Repository-Klons:

    # cd /opt/openstack-ansible
    
  2. Führen Sie die folgenden Befehle aus:

    # git checkout master
    # ./scripts/run-upgrade.sh

Für mehr Informationen über die Schritte, die das Script ausführt, schauen Sie Manuelle Aktualisierung.

Manuelle Aktualisierung

Manuelle Aktualisierungen sind nützlich, wenn die Änderungen des Aktualisierungsprozesses im Fokus stehen (z.B. in sehr grossen Bereitstellungen mit strikten SLA Anforderungen) oder andere durchgeführte Aktualisierungsautomatisierungen hinter OpenStack-Ansible.

Die hier aufgeführten Schritte stimmen mit denen überein, die das Skript `` run-upgrade.sh`` ausführt. Sie können diese Schritte mehrmals sicher ausführen.

Preflight Prüfung

Before starting with the upgrade, perform preflight health checks to ensure your environment is stable. If any of those checks fail, ensure that the issue is resolved before continuing.

Überprüfen Sie die Stein Freisetzung

Stellen Sie sicher, dass sich Ihr OpenStack-Ansible-Code auf latest Stein befindet markierte Version.

# git checkout master

Bereiten Sie die Shell-Variablen vor

Definieren Sie diese Variablen, um beim Ausführen der verbleibenden Upgrade-Aufgaben die Eingabe zu reduzieren. Da es sich bei diesen Umgebungsvariablen um Verknüpfungen handelt, ist dieser Schritt optional. Wenn Sie möchten, können Sie während des Upgrades direkt auf die Dateien verweisen.

# cd /opt/openstack-ansible
# export MAIN_PATH="$(pwd)"
# export SCRIPTS_PATH="${MAIN_PATH}/scripts"

Backup der existierenden OpenStack-Ansible Konfiguration

Machen Sie ein Backup der Konfiguration der Umgebung:

# source_series_backup_file="/openstack/backup-openstack-ansible-rocky.tar.gz"
# tar zcf ${source_series_backup_file} /etc/openstack_deploy /etc/ansible/ /usr/local/bin/openstack-ansible.rc

Bootstrappen der neuen Ansible und OSA Rollen

To ensure that there is no currently set ANSIBLE_INVENTORY to override the default inventory location, we unset the environment variable.

# unset ANSIBLE_INVENTORY

Ansible erneut boostrappen, um sicherzustellen, dass alle OpenStack-Ansible-Rollenabhängigkeiten vorhanden sind, bevor Sie Playbooks von Stein ausführen.

# ${SCRIPTS_PATH}/bootstrap-ansible.sh

Wechseln Sie in das Verzeichnis der Playbooks

Change to the playbooks directory to simplify the CLI commands from here on in the procedure, given that most playbooks executed are in this directory.

# cd playbooks

Implement changes to OSA configuration

If there have been any OSA variable name changes or environment/inventory changes, there is a playbook to handle those changes to ensure service continuity in the environment when the new playbooks run. The playbook is tagged to ensure that any part of it can be executed on its own or skipped. Please review the contents of the playbook for more information.

# openstack-ansible "${SCRIPTS_PATH}/upgrade-utilities/deploy-config-changes.yml"

Bereinigen Sie die Datei pip.conf

The presence of the pip.conf file can cause build failures during the upgrade to Stein. This playbook removes the pip.conf file on all servers and containers.

# openstack-ansible "${SCRIPTS_PATH}/upgrade-utilities/pip-conf-removal.yml"

Aktualisieren Sie Hosts

Aktualisieren Sie die Host-Computer, bevor Sie die Infrastruktur und OpenStack installieren.

# openstack-ansible setup-hosts.yml --limit '!galera_all:!rabbitmq_all'

This command is the same setting up hosts on a new installation. The galera_all and rabbitmq_all host groups are excluded to prevent reconfiguration and restarting of any of those containers as they need to be updated, but not restarted.

Once that is complete, upgrade the final host groups with the flag to prevent container restarts.

# openstack-ansible setup-hosts.yml -e 'lxc_container_allow_restarts=false' --limit 'galera_all:rabbitmq_all'

Aktualisieren der Infrastruktur

Wir können jetzt weitermachen mit der Aktualisierung aller Infrastrukturkomponenten. Um sicherzustellen, dass rabbitmq und mariadb aktualisiert werden, wir führen die enstprechenden Flags mit aus.

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

Mit diesem Abschluss können wir nicht alle mariadb-Container gleichzeitig sondern einzeln nacheinander neu starten und sicherstellen, dass jeder Container gestartet wird, antwortet und mit den anderen Knoten im Cluster synchronisiert wird, bevor mit den nächsten Schritten fortgefahren wird. Durch diesen Schritt kann die zuvor angewendete LXC-Containerkonfiguration wirksam werden, um sicherzustellen, dass die Container kontrolliert neu gestartet werden.

# openstack-ansible "${SCRIPTS_PATH}/upgrade-utilities/galera-cluster-rolling-restart.yml"

Aktualisieren Sie OpenStack

Wir können jetzt weitermachen mit der Aktualisierung aller OpenStack Komponenten.

# openstack-ansible setup-openstack.yml