Installing on Kolla Train
Change the nova user id on the Trilio Nodes
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'
Deploy Trilio Datamover API on all Openstack controller nodes
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.
Pull TrilioVaullt Datamover API container image
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
Create the Trilio Datamover API configuration
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
Create config directory for trilio-datamover-api service
Get the trilio-datamover-api default config file
Edit dmapi.conf
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:
Copy nova.conf of nova-api service to trilio-datamover-api directory
Create trilio-datamover-api log directory
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.
Add trilio-datamover-api to haproxy.cfg
Run trilio-datamover-api container
Now the trilio-datamover-api container can be deployed and started.
Verify deployment of trilio-datamover-api container
To verify the deployment was successful check the container status using docker ps
.
Deploy Trilio Datamover container on all Compute nodes
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.
Pull Trilio Datamover container
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
Create the Trilio Datamover configuration
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
Create service config directory for trilio-datamover service
Copy nova.conf of nova-compute service to trilio-datamover config directory
Get the trilio-datamover default config file
Edit tvault-contego.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.
Create trilio-datamover log directory
If Ceph is used for Nova/Cinder Storage
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.
Run trilio-datamover container
If the cloud does not use 'ceph' storage for nova/cinder, remove '/etc/ceph' volume mount option from below commands.
Verify deployment of trilio-datamover container
To verify the deployment was successful check the container status using docker ps
.
Installing Trilio Horizon plugin
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
Download the installation shell script
To download the shell script directly into the Horizon container do:
Run the shell script and restart Horizon container
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.
Edit Horizon settings
The following line needs to be aded in 'local_settings' of Openstack's Horizon file to enable workloadmanager quota feature in the Horizon dashboard.
Restart the Horizon container
To enable the done changes restart the Horizon container
Known issues for Horizon plugin installation
If OpenStack is based on 'Centos' platform
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.
If Openstack is based on Ubuntu platform
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 works
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.
Enabling Snapshout Mount
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
Identify backup target mount point in Trilio VM
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
Install nfs-common on nova_compute and nova_libvirt containers
It is necessary to install nfs-common
package on both nova_compute
and nova_libvirt
containers.
Mount backup target nfs share on 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.
Troubleshoot installation
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.
Last updated