Upgrading on OpenStack-Helm/MOSK

Note: Run following steps on node from where you have install openstack cloud helm charts. (Master Node)

1] Clone trilio-openstack helm chart code repository [Run on Install Client Node]

  • ssh to 'installation client node'

'Installation Client Node' is the node from where user has executed helm install command for trilio-openstack helm chart

## Change name of old 'triliovault-cfg-scripts' repository directory.
mv triliovault-cfg-scripts triliovault-cfg-scripts-old
## Clone latest git repository 'triliovault-cfg-scripts'.
git clone -b {{ trilio_branch }} https://github.com/trilioData/triliovault-cfg-scripts.git
cd triliovault-cfg-scripts/openstack-helm/trilio-openstack/
helm dep up
cd ../../../

2] Set container image tags [Run on Install Client Node]

Set updated image tags for trilio-openstack images and other images mentioned in following file.

Edit below file.

vi triliovault-cfg-scripts/openstack-helm/trilio-openstack/values_overrides/2023.2.yaml

Replace content of above 2023.2.yaml file with below YAML block with upgrade image tags.

---
images:
  tags:
    bootstrap: docker.io/openstackhelm/heat:2023.2-ubuntu_jammy
    db_init: docker.io/openstackhelm/heat:2023.2-ubuntu_jammy
    db_drop: docker.io/openstackhelm/heat:2023.2-ubuntu_jammy
    rabbit_init: docker.io/rabbitmq:3.7-management
    ks_user: docker.io/openstackhelm/heat:2023.2-ubuntu_jammy
    ks_service: docker.io/openstackhelm/heat:2023.2-ubuntu_jammy
    ks_endpoints: docker.io/openstackhelm/heat:2023.2-ubuntu_jammy
    dep_check: quay.io/airshipit/kubernetes-entrypoint:v1.0.0
    image_repo_sync: docker.io/docker:17.07.0
    triliovault_wlm_cloud_trust: docker.io/trilio/trilio-wlm-helm:<image-tag>
    triliovault_wlm_api: docker.io/trilio/trilio-wlm-helm:<image-tag>
    triliovault_wlm_cron: docker.io/trilio/trilio-wlm-helm:<image-tag>
    triliovault_wlm_scheduler: docker.io/trilio/trilio-wlm-helm:<image-tag>
    triliovault_wlm_workloads: docker.io/trilio/trilio-wlm-helm:<image-tag>
    triliovault_wlm_db_sync: docker.io/trilio/trilio-wlm-helm:<image-tag>
    triliovault_datamover: docker.io/trilio/trilio-datamover-helm:<image-tag>
    triliovault_datamover_api: docker.io/trilio/trilio-datamover-api-helm:<image-tag>
    triliovault_datamover_db_sync: docker.io/trilio/trilio-datamover-api-helm:<image-tag>

The image values file name for MOSK depends on the MOSK cloud version. For example, if your MOSK cloud version is 25.1, the corresponding image YAML file would be named mosk25.1.yaml

Use the correct YAML file based on your OpenStack Helm Version:

  • Antelope → 2023.1.yaml

  • Bobcat (Default)→ 2023.2.yaml

  • MOSK 25.1 → mosk25.1.yaml

3] Provide trilio-openstack backup target details [Run on Install Client Node]

  • If your backup target is of type ‘nfs' then you can provide it’s details in nfs.yaml. Your old nfs share details will be available in file ‘triliovault-cfg-scripts-old/openstack-helm/trilio-openstack/values_overrides/nfs.yaml' Copy those details in following file in given format. You need to provide the same share here.

  • If the backup target for trilio-openstack is of ‘s3' type with S3 backend has TLS enabled with self signed certificates, then user needs store it’s ca certificate in the following file. It will be placed at correct location by deployment scripts. We can copy this certificate from old repo to current one using following command.

4] Provide cloud admin user credentials - keystone.yaml [Run on Install Client Node]

Provide cloud administrator user details in the following file. It should have 'admin' role on cloud domain.

You can copy these details from old repository file ‘triliovault-cfg-scripts-old/openstack-helm/trilio-openstack/values_overrides/keystone.yaml'

5] Keystone, rabbitmq and database creds - admin_creds.yaml [Run on Install Client Node]

[For OpenStack Helm]:

  1. If Separate RabbitMQ is not present, install it using following script:

  1. Fetch Internal and Public Domain Names of the Kubernetes Cluster

  2. Generate the admin credentials file using the previously retrieved domain names

[For MOSK]:

  1. Copy following files from old repository to current one as it is. [No changes from triliovault install side]

  2. If you do not have these old files, then you need to perform the same step from 'TrilioVault install document on Openstack MOSK'

  1. Fetch Internal and Public Domain Names of the Kubernetes Cluster

  2. Generate the admin credentials file using the previously retrieved domain names in step 8.1 of this documentation

6] ceph.yaml changes [Run on Install Client Node]

You can copy ceph.yaml from old repository to current repository as it is. [No changes from triliovault install side]

7] Docker registry credentials secret. [Run on Install Client Node]

No changes here. So old registry credentials should work fine. Just ensure that it exists.

If user credentials are changed or old secret does not exist; then we need to recreate it. In that case follow this step from installation document.

8] Review and edit upgrade.sh script [Run on Install Client Node]

  • User need to edit following file and review all the yaml files and options provide in command.

  • If any option is not valid for your Openstack Helm setup, you need to edit it.

  • Yaml files that user has used in install.sh should be available in upgrade.sh too.

  • Make sure that nfs.yaml/s3.yaml(Both not required- select as per backup target type) and keystone.yaml should be available in upgrade.sh.

  • db_drop.yaml file should not be included in upgrade.sh

  • If your keystone’s public endpoint is on TLS then include yaml file 'tls_public_endpoint.yaml' from upgrade.sh

  • If your keystone’s all endpoints are on non TLS (http only) then you need to remove yaml file tls_public_endpoint.yaml from upgrade.sh

9] Run upgrade script to upgrade Trilio for Openstack [Run on Install Client Node]

10] Verify that trilio-openstack upgrade finished well using following steps [Run on Install Client Node]

Trilio For Openstack Helm Chart Upgrade is Done!

11] For OpenStack Helm - Upgrade Trilio horizon plugin

  • Follow this documentation from section 12.2 to section 12.3 and update the trilio horizon plugin image tag.

  • Set correct image tag for horizon plugin image.

  • Follow further steps from above doc to complete the upgrade of Trilio horizon plugin.

12] For MOSK - Upgrade Trilio horizon plugin

  • Follow this documentation from section 12 to section 12.5 and update the trilio horizon plugin image tag.

  • Set correct image tag for horizon plugin image.

  • Follow further steps from above doc to complete the upgrade of Trilio horizon plugin.

Last updated

Was this helpful?