Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Trilio and Canonical have started a partnership to ensure a native deployment of Trilio using JuJu Charms.
Those JuJu Charms are publicly available as Open Source Charms.
The charms are currently listed as tech-preview. They will be fully supported by Canonical with the next charm release.
Canonical Openstack doesn't require the Trilio Cluster. The required services are installed and managed via JuJu Charms.
The following charms exist:
trilio-wlm Installs and manages Trilio Controller services.
trilio-dm-api Installs and manages the Trilio Datamover API service.
trilio-data-mover Installs and manages the Trilio Datamover service.
trilio-horizon-plugin Installs and manages the Trilio Horizon Plugin.
The documentation of the charms can be found here:
Once the Trilio VM or the Cluster of Trilio VMs has been spun, the actual installation process can begin. This process contains of the following steps:
Install the Trilio dm-api service on the control plane
Install the Trilio datamover service on the compute plane
Install the Trilio Horizon plugin into the Horizon service
How these steps look in detail is depending on the Openstack distribution Trilio is installed in. Each supported Openstack distribution has its own deployment tools. Trilio is integrating into these deployment tools to provide a native integration from the beginning to the end.
In Kolla, 'nova' user id on nova-compute docker container is set to '42436'. The 'nova' user id on the Trilio nodes need to be set the same. Do the following steps on all compute nodes:
Download the shell script that will change the user id
Assign executable permissions
Execute the script
Verify that 'nova' user and group id has changed to '42436'
Trilio Datamover Api container should be deployed on all nodes where nova_api
container is running. In standard deployment, we can call these nodes as OpenStack controller nodes.
The very first step is to pull the container image from docker.io.
Login to docker using credentials: triliodocker/triliopassword
Login to docker and pull the Trilio Datamover API container.
Example command for train openstack on ubuntu platform with triliovault 4.0 GA release: docker pull docker.io/trilio/ubuntu-source-trilio-datamover-api:4.0.92-train
In this part of the process is the configuration file for the Trilio Datamover API created.
The following steps need to be done:
Create config directory
get default config file dmapi.conf
edit dmapi.conf
copy nova.conf to config directory
The dmapi.conf located in /etc/kolla/trilio-datamover-api/
needs to be edited to adjust to the Openstack environment.
Nearly all required values can be copied from the nova.conf located at:
/etc/kolla/nova-api/
Follow comments inside the dmapi.conf to learn which parameters are the minimum needed.
An example dmapi.conf can be seen here:
For CentOS, we need nova user ownership on datamover api log directory where as for Ubuntu, we need dmapi user's ownership on datmover api log directory.
Now the trilio-datamover-api container can be deployed and started.
To verify the deployment was successful check the container status using docker ps
.
Trilio Datamover container should be deployed on all nodes where nova_compute
container is running. In standard deployment, we can call these nodes as openstack compute nodes.
At this stage it is necessary to know if the deployment shall use NFS or S3 protocol for the backup target.
The very first step is to pull the container image from docker.io.
Login to docker using credentials: triliodocker/triliopassword
Login to docker and pull the Trilio Datamover API container.
Example command for train openstack on ubuntu platform with Trilio 4.0 GA release: docker pull docker.io/trilio/ubuntu-source-trilio-datamover:4.0.92-train
In this part of the process is the configuration file for the Trilio Datamover created.
The following steps need to be done:
Create config directory
copy nova.conf to config directory
get default config file tvault-contego.conf
edit tvault.conf
Edit /etc/kolla/trilio-datamover/tvault-contego.conf
config file to provide NFS/S3 details as per backup storage selected.
In case of NFS backup target, only nfs share details need to provided. No other conf parameters need to edit, unless you know the details of it.
If ceph is getting used for cinder/nova, the correct permissions for ceph.conf and keyrings files need to be assigned. The trilio_datamover container will be using ceph.conf and keyring files with the 'nova' user.
If nova/cinder backend is ceph, you need to add ceph user and keyring details to /etc/kolla/trilio-datamover/tvault-contego.conf file. Add the following sections to the tvault-contego.conf file. In the provided example is ceph's 'cinder' user configured to use for trilio read/write operations.
Mount /etc/ceph on trilio_datamover container in read only mode. Check docker run command provided in the next step. The ceph user (example -'cinder') should have read and write permissions on ceph pool used for nova/cinder backend. Verify nova user (uid - 42436) on trilio_datamover container is able to read ceph user's keyring file and ceph.conf after mounting /etc/ceph on the container. Set appropriate permissions for /etc/ceph/ files on the host itself.
If the cloud does not use 'ceph' storage for nova/cinder, remove '/etc/ceph' volume mount option from below commands.
To verify the deployment was successful check the container status using docker ps
.
Trilio Horizon plugin needs to be installed inside the OpenStack horizon container. Once installed, the Trilio dashboard will be visible in OpenStack Horizon.
The following steps need to be done:
Download installation shell script
Run the shell script
Edit Horizon settings
Restart the Horizon container
To download the shell script directly into the Horizon container do:
You have to run the script inside the Horizon container as root.
Run the shell script and restart horizon container. This will restart apache service, which may enforce a log out of the container.
The following line needs to be aded in 'local_settings' of Openstack's Horizon file to enable workloadmanager quota feature in the Horizon dashboard.
To enable the done changes restart the Horizon container
This issue has not been observed in all CentOS based Kolla Train installations. Please verify before disabling grafana repository.
Grafana yum repository has an issue on the latest horizon containers of OpenStack (not Trilio). To confirm the issue, you can just run yum repolist
, it will fail. Use the following command to disable the grafana repository.
Trilio horizon install script will ask for horizon's openstack_dashboard directory path if it's not at the default location - /usr/shar/openstack-dashboard
For train ubuntu bionic, it's : /var/lib/kolla/venv/lib/python2.7/site-packages
If Trilio Horizon tabs are not accessible but OpenStack Horizon is working fine, make sure that endpoints for service 'TrilioVaultWLM' are created correctly. The root cause of this issue is typically, that SSL is enabled on all three endpoint types of 'TrilioVaultWLM' service.
If SSL is enable only on public 'keystone' service endpoints, then create 'TrilioVaultWLM' service endpoints in the same fashion. Endpoints for service 'TrilioVaultWLM' get created during Trilio configuration step. If these endpoints need to be edited reconfigure the Trilio.
To make 'snapshot mount' functionality work, the cloud administrator needs to complete the following steps.
Identify backup target mount point on Trilio VM
install nfs-common on nova_compute and nova_libvirt containers
Mount backup target nfs share on nova_compute and nova_libvirt containers
The following command will provide the active mountpoint on the Trilio VM
This example gives the following information:
Backup target is NFS share: 192.168.1.33:/mnt/tvault
Mountpoint is: /var/triliovault-mounts/MTkyLjE2OC4xLjMzOi9tbnQvdHZhdWx0
It is necessary to install nfs-common
package on both nova_compute
and nova_libvirt
containers.
Mount the backup target nfs share on 'nova_compute' and 'nova_libvirt' container at exactly same mount point as done on triliovault VM.
Create the mountpoint directory as necessary.
If any triliovault container is stuck in restarting state the following logs can be checked.
Possible issues for trilio-datamover container failure are for example NFS mount issues or S3 credentials might be wrong. If it's Amazon S3, then network connectivity between compute node and AWS s3 is needed. The docker logs will clearly tell the exact error.
If the above logs do not help OR If containers running well but, backups fail, following service logs will help:
If the Trilio Horizon tabs are not visible on Openstack, verify the following:
Make sure trilio horizon plugin is installed on OpenStack horizon container
Trilio configuration step needs to be completed to see the triliovault dashboard on OpenStack
Make sure correct openstack_dashboard directory got provided and the triliovault horizon plugin files got successfully copied there.
The Red Hat Openstack Platform Director is the supported and recommended method to deploy and maintain any RHOSP installation.
Trilio is integrating natively into the RHOSP Director. Manual deployment methods are not supported for RHOSP.
Depending whether the RHOSP environment is already installed or is getting installed for the first time different steps are done to be able to deploy Trilio.
All commands need to be run as user 'stack'
The following command clones the Trilio configscripts github.
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'
The following commands upload the Trilio puppet module to the overcloud registry. The actual upload happens upon the next deployment.
Trilio contains of multiple services. Add these services to your roles_data.yaml.
In case of uncostomized roles_data.yaml can the default file be found on the undercloud at:
/usr/share/openstack-tripleo-heat-templates/roles_data.yaml
Add the following services to the roles_data.yaml
This service needs to share the same role as the nova-api
service.
In case of the pre-defined roles will the nova-api
service run on the role Controller
.
In case of custom defined roles, it is necessary to use the role the nova-api
service is using.
Add the following line to the identified role:
This service needs to share the same role as the nova-compute
service.
In case of the pre-defined roles will the nova-compute
service run on the role Compute
.
In case of custom defined roles, it is necessary to use the role the nova-compute
service is using.
Add the following line to the identified role:
All commands need to be run as user 'stack'
Trilio containers are pushed to 'RedHat Container Registry'. Registry URL: 'registry.connect.redhat.com'. Container pull urls are given below.
Trilio Datamover container: registry.connect.redhat.com/trilio/trilio-datamover:4.0.116-rhosp16.1
Trilio Datamover Api Container: registry.connect.redhat.com/trilio/trilio-datamover-api:4.0.116-rhosp16.1
Trilio horizon plugin: registry.connect.redhat.com/trilio/trilio-horizon-plugin:4.0.116-rhosp16.1
There are three registry methods available in RedHat Openstack Platform.
Remote Registry
Local Registry
Satellite Server
Follow this section when 'Remote Registry' is used.
For this method it is not necessary to pull the containers in advance. It is only necessary to populate the trilio_env.yaml file with the Trilio container URLs from Redhat registry.
Populate the trilio_env_osp16.yaml with container urls for:
Trilio Datamover container
Trilio Datamover api container
Trilio Horizon Plugin
trilio_env_osp16.yaml will be available in triliovault-cfg-scripts/redhat-director-scripts/
Follow this section when 'local registry' is used on the undercloud.
In this case it is necessary to pull the Trilio containers to the undercloud registry. Trilio provides shell scripts which will pull the containers from 'registry.connect.redhat.com' to the undercloud and updates the trilio_env_osp16.yaml with the values for the datamover and datamover api containers.
The script assumes that the undercloud container registry is running on port 8787. If the registry is running on a different port, the script needs to be adjusted manually.
The changes can be verified using the following commands.
Follow this section when a Satellite Server is used for the container registry.
Pull the Trilio containers on the Red Hat Satellite using the given Red Hat registry URLs.
Populate the trilio_env_osp16.yaml with container urls for:
Trilio Datamover container
Trilio Datamover api container
Provide backup target details and other necessary details in the provided environment file. This environment file will be used in the overcloud deployment to configure Trilio components. Container image names have already been populated in the preparation of the container images. Still it is recommended to verify the container URLs.
The following information are required additionally:
Network for the datamover api
Backup target type {nfs/s3}
In case of NFS
list of NFS Shares
NFS options
In case of S3
s3 type {amazon_s3/ceph_s3}
Access key
Secret key
S3 Region name
S3 Bucket name
S3 Endpoint URL
S3 SSL Enabled {true/false}
S3 SSL Cert
Use the following heat environment file and roles data file in overcloud deploy command:
trilio_env_osp16.yaml
roles_data.yaml
To include new environment files use '-e' option and for roles data file use '-r' option. An example overcloud deploy command is shown below:
If the containers are in restarting state or not listed by the following command then your deployment is not done correctly. Please recheck if you followed the complete documentation.
Make sure Trilio dmapi and horizon containers are in a running state and no other Trilio container is deployed on controller nodes.
Make sure Trilio datamover container is in running state and no other Trilio container is deployed on compute nodes.
Make sure horizon container is in running state. Please note that 'Horizon' container is replaced with Trilio Horizon container. This container will have latest OpenStack horizon + Trilio's horizon plugin.
Once RHOSP16.1 Installation steps have completed successfully, follow the instructions below to now configure the Trilio Appliance.
In RHOSP, 'nova' user id on nova-compute docker container is set to '42436'. The 'nova' user id on the Trilio nodes need to be set the same. Do the following steps on all Trilio nodes:
Download the shell script that will change the user id
Assign executable permissions
Execute the script
Verify that 'nova' user and group id has changed to '42436'
Follow this documentation to configure Trilio Appliance.
It is necessary to first configure the Trilio appliance, before the steps of this section can be done.
RHOSP16 is using a different mount point in its datamover containers than other Openstack distribution. It is necessary to adjust the mountpoint of the Trilio Nodes to match this. If the mountpoints are not getting aligned, will files created by the datamover and read by the Trilio appliance not match in their paths and backup and restore processes will fail.
Please follow these steps to align the mountpoints:
Edit /etc/workloadmgr/workloadmgr.conf file
Set parameter 'vault_data_directory' to '/var/lib/nova/triliovault-mounts'
create the directory for the mountpoint
assign the created directory to nova:nova
unmount the old mountpoint
Update the Trilio configurator
Restart the Trilio services
Verify the mountpoint has been configured correctly
Trilio components will be deployed using puppet scripts.
In case of the overcloud deployment failing does the following command provide the list of errors:
Further commands that can help identifying any errors.
In case of the trilio datamover api container is failing to start or stuck in restart, check these logs:
In case of Trilio datamover container failing to start or being stuck in restart, check these logs:
If Cinder backend is Ceph it is necessary to manually add the ceph details to tvault-contego.conf on all compute nodes.
The file can be found here:
/var/lib/config-data/puppet-generated/triliodm/etc/tvault-contego/tvault-contego.conf
Add the following information:
The same block of information can be found in the nova.conf file.
The Red Hat Openstack Platform Director is the supported and recommended method to deploy and maintain any RHOSP installation.
Trilio is integrating natively into the RHOSP Director. Manual deployment methods are not supported for RHOSP.
Depending whether the RHOSP environment is already installed or is getting installed for the first time different steps are done to be able to deploy Trilio.
All commands need to be run as user 'stack'
The following commands upload the Trilio puppet module to the overcloud. The actual upload happens upon the next deployment.
Gitub branches to use:
Trilio 4.0 GA == stable/4.0 Trilio 4.0 SP1 == v4.0maintenance
Trilio contains of multiple services. Add these services to your roles_data.yaml.
In case of uncostomized roles_data.yaml can the default file be found on the undercloud at:
/usr/share/openstack-tripleo-heat-templates/roles_data.yaml
Add the following services to the roles_data.yaml
This service needs to share the same role as the nova-api
service.
In case of the pre-defined roles will the nova-api
service run on the role Controller
.
In case of custom defined roles, it is necessary to use the role the nova-api
service is using.
Add the following line to the identified role:
This service needs to share the same role as the nova-compute
service.
In case of the pre-defined roles will the nova-compute
service run on the role Compute
.
In case of custom defined roles, it is necessary to use the role the nova-compute
service is using.
Add the following line to the identified role:
All commands need to be run as user 'stack'
Trilio containers are pushed to 'RedHat Container Registry'. Registry URL: 'registry.connect.redhat.com'. Container pull urls are given below.
Trilio Datamover container: registry.connect.redhat.com/trilio/trilio-datamover:<container-tag>
Trilio Datamover Api Container: registry.connect.redhat.com/trilio/trilio-datamover-api:<container-tag>
Trilio horizon plugin: registry.connect.redhat.com/trilio/trilio-horizon-plugin:<container-tag>
'4.0.92' is Trilio 4.0 build version. Container tag: 4.0.92-rhosp13 '4.0.115' is Trilio 4.0 SP1 build version. Container tag: 4.0.115-rhosp13
There are three registry methods available in RedHat Openstack Platform.
Remote Registry
Local Registry
Satellite Server
Follow this section when 'Remote Registry' is used.
For this method it is not necessary to pull the containers in advance. It is only necessary to populate the trilio_env.yaml and overcloud_images.yaml with the RedHat Registry URLs to the right containers.
Populate the trilio_env.yaml with container urls for:
Trilio Datamover container
Trilio Datamover api container
In the overcloud_images.yaml replace the standard Horizon Container with the Trilio Horizon container. This is necessary to gain access to the Trilio Horizon Dashboard.
Follow this section when 'local registry' is used on the undercloud.
In this case it is necessary to pull the Trilio containers to the undercloud registry. Trilio provides shell scripts which will pull the containers from 'registry.connect.redhat.com' to the undercloud and updates the trilio_env.yaml with the values for the datamover and datamover api containers.
The script assumes that the undercloud container registry is running on port 8787. If the registry is running on a different port, the script needs to be adjusted manually.
The changes can be verified in the trilio_env.yaml.
In the overcloud_images.yaml replace the standard Horizon Container with the Trilio Horizon container. This is necessary to gain access to the Trilio Horizon Dashboard.
Follow this section when a Satellite Server is used for the container registry.
Pull the Trilio containers on the Red Hat Satellite using the given Red Hat registry URLs.
Populate the trilio_env.yaml with container urls for:
Trilio Datamover container
Trilio Datamover api container
In the overcloud_images.yaml replace the standard Horizon Container with the Trilio Horizon container. This is necessary to gain access to the Trilio Horizon Dashboard.
Provide backup target details and other necessary details in the provided environment file. This environment file will be used in the overcloud deployment to configure Trilio components. Container image names have already been populated in the preparation of the container images. Still it is recommended to verify the container URLs.
The following information are required additionally:
Network for the datamover api
Backup target type {nfs/s3}
In case of NFS
list of NFS Shares
NFS options
In case of S3
s3 type {amazon_s3/ceph_s3}
Access key
Secret key
S3 Region name
S3 Bucket name
S3 Endpoint URL
S3 SSL Enabled {true/false}
Use the following heat environment file and roles data file in overcloud deploy command:
trilio_env.yaml
roles_data.yaml
To include new environment files use '-e' option and for roles data file use '-r' option. An example overcloud deploy command is shown below:
Make sure Trilio dmapi and horizon containers are in a running state and no other Trilio container is deployed on controller nodes.
If the containers are in restarting state or not listed by the following command then your deployment is not done correctly. Please recheck if you followed the complete documentation.
Make sure Trilio datamover container is in running state and no other Trilio container is deployed on compute nodes.
Once RHOSP13 Installation steps have completed successfully, follow the instructions below to now configure the Trilio Appliance.
In RHOSP, 'nova' user id on nova-compute docker container is set to '42436'. The 'nova' user id on the Trilio nodes need to be set the same. Do the following steps on all Trilio nodes:
Download the shell script that will change the user id
Assign executable permissions
Execute the script
Verify that 'nova' user and group id has changed to '42436'
Follow this documentation to configure Trilio Appliance.
It is necessary to first configure the Trilio appliance, before the steps of this section can be done.
RHOSP13 is using a different mount point in its datamover containers than other Openstack distribution. It is necessary to adjust the mountpoint of the Trilio Nodes to match this. If the mountpoints are not getting aligned, will files created by the datamover and read by the Trilio appliance not match in their paths and backup and restore processes will fail.
Please follow these steps to align the mountpoints:
Edit /etc/workloadmgr/workloadmgr.conf file
Set parameter 'vault_data_directory' to '/var/lib/nova/triliovault-mounts'
create the directory for the mountpoint
assign the created directory to nova:nova
unmount the old mountpoint
Update the Trilio configurator
Restart the Trilio services
Verify the mountpoint has been configured correctly
Trilio components will be deployed using puppet scripts.
In case of the overcloud deployment failing does the following command provide the list of errors:
Further commands that can help identifying any errors.
In case of the trilio datamover api container is failing to start or stuck in restart, check these logs:
In case of Trilio datamover container failing to start or being stuck in restart, check these logs:
If Cinder backend is Ceph it is necessary to manually add the ceph details to tvault-contego.conf on all compute nodes.
The file can be found here:
/var/lib/config-data/puppet-generated/triliodm/etc/tvault-contego/tvault-contego.conf
Add the following information:
The same block of information can be found in the nova.conf file.
The installation of the Datamover-API, short dmapi, requires to create a new container, in which all necessary packages and the Trilio dmapi code are loaded.
Create lxc container for hosting dmapi service on controller nodes with below commands.
Add nova user and required directory on container controller_dmapi.
Add required packages on container controller_dmapi.
Copy nova.conf file from nova-api container to /etc/nova directory in dmapi container. Run the below command on controller nodes:
Create a new interface with specific ip for dmapi container.
Edit /var/lib/lxc/controller_dmapi/config and add below section as per network bridge available on the controller node.
Restart the container with the below commands.
Download and run the tvault-installation script inside the container.
The script to be executed inside dmapi container, after the following changes have been done: Comment the 2 lines below and add a line below NOVA_VERSION = 20, as nova-manage doesn't work in Ansible Openstack.
Run the script
Verify in dmapi.conf domain name for the nova service user under keystone section.
Check field values for project_domain_name
and user_domain_name
and update those if not in keystone section
If SSL is enabled then add the following section in dmapi.conf:
Verify below entries are there in keystone policy.json file
file path : /var/lib/lxc/controller_keystone_container/rootfs/etc/keystone
Once verified above checks, start the dmapi service.
Activate the virtual environment on the compute node.
After activating the virtual environment, find out the location of compute.filters file.
Download the installation script.
Modify install script to use the same location for creating trilio filters.
Also comment the 2 lines below and add a line below NOVA_VERSION = 20, as nova-manage doesn't work in Ansible Openstack.
Run install script and if you get prompt while installing, choose the default selection.
If non-default values are selected, it will overwrite the current configuration and will impact nova-compute service.
Make sure ExecStart value look like below in /etc/systemd/system/tvault-contego.service file.
Use below commands to restart and verify the service.
Use below command and check if nfs/s3 storage is mounted or not.
List running containers on controller nodes and login to horizon container using the below command.
Install curl package on the Horizon container if not present.
Activate virtual environment on horizon container
Download script to install horizon plugin on horizon container and run install script
Install script will ask for the dashboard folder, provide below path
Verify installation using below commands
Refer to the keystone haproxy settings for dmapi haproxy.
Haproxy config file can be found here: /etc/haproxy/haproxy.cfg
A sample configuration is shown below.
Check the syntax of the file and restart the service.
The Red Hat Openstack Platform Director is the supported and recommended method to deploy and maintain any RHOSP installation.
Trilio is integrating natively into the RHOSP Director. Manual deployment methods are not supported for RHOSP.
Depending whether the RHOSP environment is already installed or is getting installed for the first time different steps are done to be able to deploy Trilio.
All commands need to be run as user 'stack'
The following commands upload the Trilio puppet module to the overcloud. The actual upload happens upon the next deployment.
Gitub branches to use:
Trilio 4.0 GA == stable/4.0 Trilio 4.0 SP1 == v4.0maintenance
Trilio contains of multiple services. Add these services to your roles_data.yaml.
In case of uncostomized roles_data.yaml can the default file be found on the undercloud at:
/usr/share/openstack-tripleo-heat-templates/roles_data.yaml
Add the following services to the roles_data.yaml
This service needs to share the same role as the nova-api
service.
In case of the pre-defined roles will the nova-api
service run on the role Controller
.
In case of custom defined roles, it is necessary to use the role the nova-api
service is using.
Add the following line to the identified role:
This service needs to share the same role as the nova-compute
service.
In case of the pre-defined roles will the nova-compute
service run on the role Compute
.
In case of custom defined roles, it is necessary to use the role the nova-compute
service is using.
Add the following line to the identified role:
All commands need to be run as user 'stack'
Trilio containers are pushed to 'RedHat Container Registry'. Registry URL: 'registry.connect.redhat.com'. Container pull urls are given below.
Trilio Datamover container: registry.connect.redhat.com/trilio/trilio-datamover:<container-tag>
Trilio Datamover Api Container: registry.connect.redhat.com/trilio/trilio-datamover-api:<container-tag>
Trilio horizon plugin: registry.connect.redhat.com/trilio/trilio-horizon-plugin:<container-tag>
'4.0.92' is Trilio 4.0 build version. Container tag: 4.0.92-rhosp16 '4.0.115' is Trilio 4.0 SP1 build version. Container tag: 4.0.115-rhosp16
There are three registry methods available in RedHat Openstack Platform.
Remote Registry
Local Registry
Satellite Server
Follow this section when 'Remote Registry' is used.
For this method it is not necessary to pull the containers in advance. It is only necessary to populate the trilio_env.yaml file with the Trilio container URLs from Redhat registry.
Populate the trilio_env_osp16.yaml with container urls for:
Trilio Datamover container
Trilio Datamover api container
Trilio Horizon Plugin
trilio_env_osp16.yaml will be available in triliovault-cfg-scripts/redhat-director-scripts/
Follow this section when 'local registry' is used on the undercloud.
In this case it is necessary to pull the Trilio containers to the undercloud registry. Trilio provides shell scripts which will pull the containers from 'registry.connect.redhat.com' to the undercloud and updates the trilio_env_osp16.yaml with the values for the datamover and datamover api containers.
The script assumes that the undercloud container registry is running on port 8787. If the registry is running on a different port, the script needs to be adjusted manually.
The changes can be verified using the following commands.
Follow this section when a Satellite Server is used for the container registry.
Pull the Trilio containers on the Red Hat Satellite using the given Red Hat registry URLs.
Populate the trilio_env_osp16.yaml with container urls for:
Trilio Datamover container
Trilio Datamover api container
Provide backup target details and other necessary details in the provided environment file. This environment file will be used in the overcloud deployment to configure Trilio components. Container image names have already been populated in the preparation of the container images. Still it is recommended to verify the container URLs.
The following information are required additionally:
Network for the datamover api
Backup target type {nfs/s3}
In case of NFS
list of NFS Shares
NFS options
In case of S3
s3 type {amazon_s3/ceph_s3}
Access key
Secret key
S3 Region name
S3 Bucket name
S3 Endpoint URL
S3 SSL Enabled {true/false}
Use the following heat environment file and roles data file in overcloud deploy command:
trilio_env_osp16.yaml
roles_data.yaml
To include new environment files use '-e' option and for roles data file use '-r' option. An example overcloud deploy command is shown below:
If the containers are in restarting state or not listed by the following command then your deployment is not done correctly. Please recheck if you followed the complete documentation.
Make sure Trilio dmapi and horizon containers are in a running state and no other Trilio container is deployed on controller nodes.
Make sure Trilio datamover container is in running state and no other Trilio container is deployed on compute nodes.
Make sure horizon container is in running state. Please note that 'Horizon' container is replaced with Trilio Horizon container. This container will have latest OpenStack horizon + Trilio's horizon plugin.
Once RHOSP16.0 Installation steps have completed successfully, follow the instructions below to now configure the Trilio Appliance
In RHOSP, 'nova' user id on nova-compute docker container is set to '42436'. The 'nova' user id on the Trilio nodes need to be set the same. Do the following steps on all Trilio nodes:
Download the shell script that will change the user id
Assign executable permissions
Execute the script
Verify that 'nova' user and group id has changed to '42436'
Follow this documentation to configure Trilio Appliance.
It is necessary to first configure the Trilio appliance, before the steps of this section can be done.
RHOSP16 is using a different mount point in its datamover containers than other Openstack distribution. It is necessary to adjust the mountpoint of the Trilio Nodes to match this. If the mountpoints are not getting aligned, will files created by the datamover and read by the Trilio appliance not match in their paths and backup and restore processes will fail.
Please follow these steps to align the mountpoints:
Edit /etc/workloadmgr/workloadmgr.conf file
Set parameter 'vault_data_directory' to '/var/lib/nova/triliovault-mounts'
create the directory for the mountpoint
assign the created directory to nova:nova
unmount the old mountpoint
Update the Trilio configurator
Restart the Trilio services
Verify the mountpoint has been configured correctly
Trilio components will be deployed using puppet scripts.
In case of the overcloud deployment failing does the following command provide the list of errors:
Further commands that can help identifying any errors.
In case of the trilio datamover api container is failing to start or stuck in restart, check these logs:
In case of Trilio datamover container failing to start or being stuck in restart, check these logs:
If Cinder backend is Ceph it is necessary to manually add the ceph details to tvault-contego.conf on all compute nodes.
The file can be found here:
/var/lib/config-data/puppet-generated/triliodm/etc/tvault-contego/tvault-contego.conf
Add the following information:
The same block of information can be found in the nova.conf file.