RHOSP Upgrade
Clone updated triliovault-cfg-scripts github repo
Note: Run all the commands with 'stack' user.
Clone updated repo\
cd /home/stack mv triliovault-cfg-scripts triliovault-cfg-scripts-old git clone -b v4.0maintenance https://github.com/trilioData/triliovault-cfg-scripts.git cd triliovault-cfg-scripts/redhat-director-scripts/
If your backup target is Ceph S3 with self signed certs If your backup target is ceph S3 with SSL and SSL certificates are self signed or authorized by private CA, then user needs to provide CA chain certificate to validate the SSL requests. For that, user needs to rename his ca chain cert file to 's3-cert.pem' and copy it into directory - 'triliovault-cfg-scripts/redhat-director-scripts/redhat-director-scripts/puppet/trilio/files'
## If it's RHOSP13
cp s3-cert.pem /home/stack/triliovault-cfg-scripts/redhat-director-scripts/puppet/trilio/files/
## If it's RHOSP16
cp s3-cert.pem /home/stack/triliovault-cfg-scripts/redhat-director-scripts/puppet5/trilio/files/
Upload triliovault puppet module
## If it's RHOSP13
./upload_puppet_module.sh
## If it's RHOSP16
./upload_puppet_module_puppet5.sh
## Output of above command looks like following.
Creating tarball...
Tarball created.
Creating heat environment file: /home/stack/.tripleo/environments/puppet-modules-url.yaml
Uploading file to swift: /tmp/puppet-modules-8Qjya2X/puppet-modules.tar.gz
+-----------------------+---------------------+----------------------------------+
| object | container | etag |
+-----------------------+---------------------+----------------------------------+
| puppet-modules.tar.gz | overcloud-artifacts | 368951f6a4d39cfe53b5781797b133ad |
+-----------------------+---------------------+----------------------------------+
## Above command creates following file.
ls -ll /home/stack/.tripleo/environments/puppet-modules-url.yaml
Copy old trilio env file to new repository
- If it's RHOSP13, copy 'trilio_env.yaml cp /home/stack/triliovault-cfg-scripts-old/redhat-director-scripts/trilio_env.yaml . - If it's RHOSP16 the copy 'trilio_env_osp16.yaml' cp /home/stack/triliovault-cfg-scripts-old/redhat-director-scripts/trilio_env_osp16.yaml .
Pull latest triliovault container images and update triliovault environment yaml file
Note: Run all the commands with 'stack' user.
Trilio containers are pushed to 'RedHat Container Registry'. Registry URL is 'registry.connect.redhat.com'. Following are the triliovault container pull urls.
Trilio container urls for RHOSP13:
Trilio Datamove container: registry.connect.redhat.com/trilio/trilio-datamover:4.0.115-rhosp13
Trilio Datamover Api Container: registry.connect.redhat.com/trilio/trilio-datamover-api:4.0.115-rhosp13
Trilio horizon plugin: registry.connect.redhat.com/trilio/trilio-horizon-plugin:4.0.115-rhosp13
Trilio container urls for RHOSP16:
Trilio Datamove container: registry.connect.redhat.com/trilio/trilio-datamover:4.0.115-rhosp16
Trilio Datamover Api Container: registry.connect.redhat.com/trilio/trilio-datamover-api:4.0.115-rhosp16
Trilio horizon plugin: registry.connect.redhat.com/trilio/trilio-horizon-plugin:4.0.115-rhosp16
Note: '4.0.115' is Trilio 4.0 build version. Container tag: 4.0.115-rhosp16
There are three registry methods available in RedHat Openstack Platform.
Remote Registry 2. Local Registry 3. Satellite Server
Identify which method you are using. Below we have explained all three methods to pull and configure trilioVault's container images for overcloud deployment.
Remote Registry:
If you are using 'Remote Registry' method follow this section. You don't need to pull anything. You just need to populate following container urls in trilio env yaml.
If it’s RHOSP13, populate 'trilio_env.yaml' file with triliovault container urls. Changes looks like following.\
## Update trilio_env.yaml with latest triliovault image urls. Changes should look like following.
$ grep 'Image' trilio_env.yaml
DockerTrilioDatamoverImage: registry.connect.redhat.com/trilio/trilio-datamover:4.0.115-rhosp13
DockerTrilioDmApiImage: registry.connect.redhat.com/trilio/trilio-datamover-api:4.0.115-rhosp13
## In overcloud_images.yaml which has RHOSP container details (Generally we keep this file at /home/stack/templates/overcloud_images.yaml),
## replace 'DockerHorizonImage:...' entry with following entry(Trilio horizon container url). This will make sure Trilio's dashboard gets deployed on OpenStack Horizon.
DockerHorizonImage: registry.connect.redhat.com/trilio/trilio-horizon-plugin:4.0.115-rhosp13
## Make sure that changes are made with following command and expected output.
$ grep 'trilio' /home/stack/templates/overcloud_images.yaml
DockerHorizonImage: registry.connect.redhat.com/trilio/trilio-horizon-plugin:4.0.115-rhosp13
If it’s RHOSP16, populate 'trilio_env_osp16.yaml' file with triliovault container urls. Changes looks like following.\
#################################### ######## If it's RHOSP16 #################################### $ grep 'Image' trilio_env_osp16.yaml DockerTrilioDatamoverImage: undercloud.ctlplane.localdomain:8787/trilio/trilio-datamover:4.0.115-rhosp16 DockerTrilioDmApiImage: undercloud.ctlplane.localdomain:8787/trilio/trilio-datamover-api:4.0.115-rhosp16 ContainerHorizonImage: undercloud.ctlplane.localdomain:8787/trilio/trilio-horizon-plugin:4.0.115-rhosp16
Registry on Undercloud:
If you are using 'local registry' on undercloud, follow this section.
Note: Run following script from undercloud node with 'stack' user
If it’s RHOSP13, run following script. Script, pulls the triliovault containers and updates the triliovault environment file with urls.
./prepare_trilio_images.sh <undercloud_ip> <container_tag>
# Example:
./prepare_trilio_images.sh 192.168.13.34 4.0.115-rhosp13
## Verify changes
[stack@undercloud$ grep '4.0.115-rhosp13' trilio_env.yaml
DockerTrilioDatamoverImage: 192.168.122.10:8787/trilio/trilio-datamover:4.0.115-rhosp13
DockerTrilioDmApiImage: 192.168.122.10:8787/trilio/trilio-datamover-api:4.0.115-rhos
If it’s RHOSP13, user needs to set horizon image url to triliovault horizon image url in overcloud_images.yaml. Changes looks like following.
$ grep 'trilio' /home/stack/templates/overcloud_images.yaml
DockerHorizonImage: registry.connect.redhat.com/trilio/trilio-horizon-plugin:4.0.115-rhosp13
If it’s RHOS16, run following script. Script, pulls the triliovault containers and updates the triliovault environment file with urls.\
sudo ./podman_prepare_images.sh <UNDERCLOUD_REGISTRY_HOSTNAME> <CONTAINER_TAG> ## Example sudo ./podman_prepare_images.sh trilio-undercloud.ctlplane.localdomain 4.0.115-rhosp16
## Above script pushes trilio container images to undercloud registry and sets correct trilio images urls in trilio_env_osp16.yaml. Verify the changes using following command.
(undercloud) [stack@undercloud redhat-director-scripts]$ openstack tripleo container image list | grep trilio
| docker://undercloud.ctlplane.localdomain:8787/trilio/trilio-datamover:4.0.115-rhosp16 | |
| docker://undercloud.ctlplane.localdomain:8787/trilio/trilio-datamover-api:4.0.115-rhosp16 | |
| docker://undercloud.ctlplane.localdomain:8787/trilio/trilio-horizon-plugin:4.0.115-rhosp16 |
-----------------------------------------------------------------------------------------------------
(undercloud) [stack@undercloud redhat-director-scripts]$ grep 'Image' trilio_env_osp16.yaml
DockerTrilioDatamoverImage: undercloud.ctlplane.localdomain:8787/trilio/trilio-datamover:4.0.115-rhosp16
DockerTrilioDmApiImage: undercloud.ctlplane.localdomain:8787/trilio/trilio-datamover-api:4.0.115-rhosp16
ContainerHorizonImage: undercloud.ctlplane.localdomain:8787/trilio/trilio-horizon-plugin:4.0.115-rhosp16
Registry on Redhat Satellite Server
If you are using 'Satellite Server' for container registry, follow this section.
Following are the pull urls for Trilio containers. You need to pull these containers on Redhat Satellite that you already have.
Trilio container urls for RHOSP13:
Trilio Datamove container: registry.connect.redhat.com/trilio/trilio-datamover:4.0.115-rhosp13
Trilio Datamover Api Container: registry.connect.redhat.com/trilio/trilio-datamover-api:4.0.115-rhosp13
Trilio horizon plugin: registry.connect.redhat.com/trilio/trilio-horizon-plugin:4.0.115-rhosp13
Trilio container urls for RHOSP16:
Trilio Datamove container: registry.connect.redhat.com/trilio/trilio-datamover:4.0.115-rhosp16
Trilio Datamover Api Container: registry.connect.redhat.com/trilio/trilio-datamover-api:4.0.115-rhosp16
Trilio horizon plugin: registry.connect.redhat.com/trilio/trilio-horizon-plugin:4.0.115-rhosp16
Pull above containers as per your RHOSP release and push to redhat satellite server. For this, you can follow process same as other openstack containers.
After this, if it’s RHOSP13, populate 'trilio_env.yaml' file with the urls. Changes looks like following.
$ grep 'Image' trilio_env.yaml
DockerTrilioDatamoverImage: <SATELLITE_REGISTRY_URL>/trilio/trilio-datamover:4.0.115-rhosp13
DockerTrilioDmApiImage: <SATELLITE_REGISTRY_URL>/trilio/trilio-datamover-api:4.0.115-rhosp13
If it’s RHOSP13, user needs to set horizon image url to triliovault horizon image url in overcloud_images.yaml. Changes looks like following.
$ grep 'trilio' /home/stack/templates/overcloud_images.yaml
DockerHorizonImage: <SATELLITE_REGISTRY_URL>/trilio/trilio-horizon-plugin:4.0.115-rhosp13
If it’s RHOSP16, populate 'trilio_env_osp16.yaml' file with the triliovault container urls. Changes looks like following.
$ grep 'Image' trilio_env_osp16.yaml
DockerTrilioDatamoverImage: <SATELLITE_REGISTRY_URL>/trilio/trilio-datamover:4.0.115-rhosp16
DockerTrilioDmApiImage: <SATELLITE_REGISTRY_URL>/trilio/trilio-datamover-api:4.0.115-rhosp16
ContainerHorizonImage: <SATELLITE_REGISTRY_URL>/trilio/trilio-horizon-plugin:4.0.115-rhosp16
Update overcloud - This step will update the triliovault containers on overcloud
Run your overcloud deploy command again. It will update the triliovault containers on overcloud.
Command looks like following. \
openstack overcloud deploy --templates \ --libvirt-type qemu \ --ntp-server 192.168.1.34 \ -e /home/stack/triliovault-cfg-scripts/redhat-director-scripts/trilio_env_osp16.yaml \ -e /home/stack/templates/node-info.yaml \ -e /home/stack/containers-prepare-parameter.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/enable-tls.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/inject-trust-anchor.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-endpoints-public-ip.yaml \ -r /usr/share/openstack-tripleo-heat-templates/roles_data.yaml
[Optional] If you want to verify that triliovault got upgraded successfully, use following steps.
Verify triliovault datamover api container got updated on nova-api nodes
- Command for RHOSP13
docker ps | grep trilio
- Command for RHOSP16
podman ps | grep trilio
2. Verify triliovault datamover container got updated on nova-compute nodes
- Command for RHOSP13
docker ps | grep trilio
- Command for RHOSP16
podman ps | grep trilio
3. Verify triliovault horizon got updated on horizon nodes
- Command for RHOSP13
docker ps | grep horizon
- Command for RHOSP16
podman ps | grep horizon
Last updated
Was this helpful?