Apply Update to the OpenStack ApplicationΒΆ

StarlingX OpenStack is managed using the StarlingX Application Package Manager.

Prerequisites

When the process of updating to the stx-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 Back up OpenStack.

Use the StarlingX Application Package Manager application-update command to perform an update.

~(keystone_admin)$ system application-update [-n | --app-name] <app_name>
[-v | --app-version] <version> <tar_file>

where the following are optional arguments:

<app_name>

The name of the application to update.

You can look up the name of an application using the application-list command:

~(keystone_admin)$ system application-list
+--------------------------+-----------+-------------------------------+---------------------------+----------+-----------+
| application              | version   | manifest name                 | manifest file             | status   | progress  |
+--------------------------+-----------+-------------------------------+---------------------------+----------+-----------+
| cert-manager             | 20.06-5   | cert-manager-manifest         | certmanager-manifest.yaml | applied  | completed |
| nginx-ingress-controller | 20.06-0   | nginx-ingress-controller-     | nginx_ingress_controller  | applied  | completed |
|                          |           | -manifest                     | _manifest.yaml            |          |           |
| oidc-auth-apps           | 20.06-28  | oidc-auth-manifest            | manifest.yaml             | uploaded | completed |
| platform-integ-apps      | 20.06-11  | platform-integration-manifest | manifest.yaml             | applied  | completed |
| stx-openstack            | 21.07-0-  | stx-openstack-fluxcd-manifests| stx-openstack.yaml        | applied  | completed |
|                          | centos-   |                               |                           |          |           |
|                          | stable-   |                               |                           |          |           |
|                          | versioned |                               |                           |          |           |
+--------------------------+-----------+-------------------------------+---------------------------+----------+-----------+

The output indicates that the currently installed version of
stx-openstack is 21.07-0.
<version>

The version to update the application to.

and the following is a positional argument which must come last:

<tar_file>

The tar file containing the application manifest, Helm charts and configuration file.

Note

If the application cannot be updated due to application-update failure, you can restore the application from the backup. For restore details, see Restore OpenStack from a Backup.

Procedure

  1. Retrieve the latest StarlingX OpenStack application tarball, stx-openstack-<major>.<minor>-patch.tgz, from a StarlingX mirror.

    Note

    The major-minor version is based on the current product release version. The patch version will change within the release based on incremental updates.

  2. Source the environment.

    $ source /etc/platform/openrc
    ~(keystone_admin)$
    
  3. Update the application.

    This will upload the software version and automatically apply it to the system.

    For example:

    ~(keystone_admin)$ system application-update stx-openstack-21.07-0.tgz

    Note

    When the process of updating to the stx-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.

  4. 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.

    ~(keystone_admin)$ system application-show stx-openstack
    +---------------+----------------------------------+
    | Property      | Value                            |
    +---------------+----------------------------------+
    | active        | True                             |
    | app_version   | 21.07-0                          |
    | created_at    | 2020-05-02T17:11:48.718963+00:00 |
    | manifest_file | stx-openstack.yaml               |
    | manifest_name | stx-openstack-fluxcd-manifests   |
    | name          | stx-openstack                    |
    | progress      | completed                        |
    | status        | applied                          |
    | updated_at    | 2020-05-02T17:44:40.152201+00:00 |
    +---------------+----------------------------------+