Pemutakhiran besar

[ English | English (United Kingdom) | 한국어 (대한민국) | Indonesia | Deutsch ]

Pemutakhiran besar

Panduan ini memberikan informasi tentang proses pemutakhiran dari Rocky ke Stein untuk OpenStack-Ansible.

Catatan

Anda hanya dapat memutakhirkan di antara rilis berurutan.

Pengantar

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.

Untuk informasi lebih lanjut tentang proses pemutakhiran utama, lihat Memutakhirkan dengan menggunakan skrip dan Memutakhirkan secara manual.

Peringatan

Uji The upgrade is always under active development. ini pada lingkungan pengembangan terlebih dahulu.

Memutakhirkan dengan menggunakan skrip

The Stein seri rilis OpenStack-Ansible berisi kode untuk bermigrasi dari Rocky ke Stein.

Menjalankan skrip pemutakhiran

Untuk memutakhirkan dari Rocky ke Stein dengan menggunakan skrip pemutakhiran, lakukan langkah-langkah berikut di direktori openstack-ansible:

  1. Ubah direktori ke direktori root clone repositori:

    # cd /opt/openstack-ansible
    
  2. Jalankan perintah berikut:

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

For more information about the steps performed by the script, see Memutakhirkan secara manual.

Memutakhirkan secara manual

Manual upgrades are useful for scoping the changes in the upgrade process (for example, in very large deployments with strict SLA requirements), or performing other upgrade automation beyond that provided by OpenStack-Ansible.

Langkah-langkah yang dijelaskan di sini cocok dengan yang dilakukan oleh skrip run-upgrade.sh. Anda dapat dengan aman menjalankan langkah-langkah ini beberapa kali.

Pemeriksaan preflight

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.

Lihat Stein melepaskan

Pastikan kode OpenStack-Ansible Anda ada di Stein terbaru rilis yang ditandai.

# git checkout 19.1.8

Mempersiapkan variabel shell

Tentukan variabel-variabel ini untuk mengurangi pengetikan saat menjalankan tugas pemutakhiran yang tersisa. Karena variabel lingkungan ini adalah pintasan (shortcut), langkah ini opsional. Jika Anda suka, Anda dapat mereferensikan file secara langsung selama pemutakhiran.

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

Backup the existing OpenStack-Ansible configuration

Make a backup of the configuration of the environment:

# 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

Bootstrap the new Ansible and OSA roles

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

# unset ANSIBLE_INVENTORY

Bootstrap Ansible dilakukan lagi untuk memastikan bahwa semua dependensi peran OpenStack-Ansible sudah ada sebelum Anda menjalankan playbook dari pelepasan|current_release_formal_name|.

# ${SCRIPTS_PATH}/bootstrap-ansible.sh

Ubah ke direktori playbook

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"

Clean up the pip.conf file

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"

Upgrade host (tingkatkan host)

Sebelum memasang infrastruktur dan OpenStack, perbarui mesin host.

# 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'

Upgrade Galera

Upgrades galera version from 10.1 to 10.3 and changes the WSREP SST method from xtrabackup-v2 to mariabackup. In the following command we set WSREP SST method to rsync which is backward compatible between 10.1 and 10.3.

# openstack-ansible galera-install.yml -e galera_wsrep_sst_method=rsync -e galera_upgrade=true

Upgrade infrastructure

We can now go ahead with the upgrade of all the infrastructure components. To ensure that rabbitmq and mariadb are upgraded, we pass the appropriate flags.

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

With this complete, we can no restart the mariadb containers one at a time, ensuring that each is started, responding, and synchronized with the other nodes in the cluster before moving on to the next steps. This step allows the LXC container configuration that you applied earlier to take effect, ensuring that the containers are restarted in a controlled fashion.

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

Memutakhirkan OpenStack

We can now go ahead with the upgrade of all the OpenStack components.

# openstack-ansible setup-openstack.yml
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.