Support for recover from a failed application-update

Change-Id: I658d5d195bec26938f1939ab89c7a12f2231d9eb
Signed-off-by: Suzana Fernandes <Suzana.Fernandes@windriver.com>
This commit is contained in:
Suzana Fernandes
2025-06-19 14:00:11 +00:00
parent a7f96c47bf
commit 819b826a67
4 changed files with 56 additions and 14 deletions

View File

@@ -386,15 +386,14 @@ conditions are in place:
#. Delete completely and reapply all the applications that have
persistent volumes (OpenStack or custom apps). For example for
OpenStack, run the following commands
OpenStack, see:
.. parsed-literal::
- :ref:`Restore OpenStack from a Backup <restore-openstack-from-a-backup>`
$ system application-remove |prefix|-openstack
$ system application-delete |prefix|-openstack
$ system application-upload |prefix|-openstack-20.12-0.tgz
$ system application-apply |prefix|-openstack
- :ref:`OpenStack application backup and restore <backup_restore-ul-ohv-x3k-qmb>`.
#. If Hashicorp Vault data was also backed up, it can be restored using the
vault_restore playbook. For more information on Hashicorp Vault restore
see:

View File

@@ -18,6 +18,21 @@ The backup playbook will produce a OpenStack backup tarball in addition to the
platform tarball. This can be used to perform |prod-os| restores independently
of restoring the underlying platform.
Based on the Ceph deployment, the |prefix|-openstack backup can be performed using
one of the following commands:
- Host Ceph deployments:
.. code-block:: none
$ ansible-playbook /usr/share/ansible/stx-ansible/playbooks/backup.yml -e "ansible_become_pass=<sysadmin password> admin_password=<sysadmin password> openstack_app_name=|prefix|-openstack skip_os_dbs=['Database','information_schema','performance_schema','mysql','horizon','panko','gnocchi','sys']"
- Rook Ceph deployments:
.. code-block:: none
$ ansible-playbook /usr/share/ansible/stx-ansible/playbooks/backup.yml -e "ansible_become_pass=<sysadmin password> admin_password=<sysadmin password> openstack_app_name=|prefix|-openstack skip_os_dbs=['Database','information_schema','performance_schema','mysql','horizon','panko','gnocchi','sys'] rook_enabled=true"
.. note::
Data stored in Ceph such as Glance images, Cinder volumes or volume backups
@@ -48,7 +63,6 @@ of restoring the underlying platform.
To see the the Cinder volumes, use the :command:`openstack volume-list`
command.
After export, copy the data off-box for safekeeping.
For details on performing a |prod| back-up, see

View File

@@ -427,6 +427,8 @@ Steps:
``system restore-complete`` command. Type 750.006 alarms will disappear
one at a time, as the applications are being auto-applied.
.. _backup_restore-ul-ohv-x3k-qmb:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OpenStack application backup and restore
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -435,8 +437,19 @@ In this procedure, only the OpenStack application will be restored.
Steps:
#. Backup: Run the backup.yml playbook, whose output is a platform backup
tarball. Move the backup tarball outside of the cluster for safekeeping.
#. Based on the Ceph deployment, the |prefix|-openstack backup can be performed using one of the following commands:
For Ceph (host based) storage backend:
.. code-block:: none
$ ansible-playbook /usr/share/ansible/stx-ansible/playbooks/backup.yml -e "ansible_become_pass=<sysadmin password> admin_password=<sysadmin password> openstack_app_name=|prefix|-openstack skip_os_dbs=['Database','information_schema','performance_schema','mysql','horizon','panko','gnocchi','sys']"
For Rook Ceph storage backend:
.. code-block:: none
$ ansible-playbook /usr/share/ansible/stx-ansible/playbooks/backup.yml -e "ansible_become_pass=<sysadmin password> admin_password=<sysadmin password> openstack_app_name=|prefix|-openstack skip_os_dbs=['Database','information_schema','performance_schema','mysql','horizon','panko','gnocchi','sys'] rook_enabled=true"
.. note::

View File

@@ -8,12 +8,12 @@ Apply Update to the OpenStack Application
|prod-os| is managed using the StarlingX Application Package Manager.
.. rubric:: |context|
.. rubric:: |prereq|
.. note::
Ensure that you take an application backup before updating the application
in case the update fails. For backup details, see :ref:`back-up-openstack`.
When the process of updating to the |prefix|-openstack new version fails, the
previous version is recovered automatically. However, it is recommended
that you take an application backup before updating the application
in case the update fails. For backup details, see :ref:`back-up-openstack`.
Use the StarlingX Application Package Manager :command:`application-update`
command to perform an update.
@@ -97,9 +97,25 @@ and the following is a positional argument which must come last:
~(keystone_admin)$ system application-update |prefix|-openstack-21.07-0.tgz
.. note::
When the process of updating to the |prefix|-openstack new version fails, the
previous version will be recovered automatically. Wait until the recovery
process is complete. You can follow the recovery status using the
`system application-show |prefix|-openstack` command.
#. Monitor the status of the application-apply operation until it has
completed successfully.
.. note::
Sometimes the status of the update operation is reported as ``completed``
by the `systeml application-show <app>` command, but the operation is
still running. Therefore, the update process must also be monitored using
the `kubectl get helmreleases -n openstack` command. The update operation
is considered complete when all the helm releases displayed by
`kubectl get helmrelease -n openstack` command show `READY=True`.
.. parsed-literal::
~(keystone_admin)$ system application-show |prefix|-openstack