Getting started with Trilio on Canonical OpenStack

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.

Canonical OpenStack doesn't require the Trilio Cluster. The required services are installed and managed via JuJu Charms.

Juju charms for OpenStack Antelope & Bobcat release

Charm names

Channel

Supported releases

latest/stable

Jammy (Ubuntu 22.04)

latest/stable

Jammy (Ubuntu 22.04)

latest/stable

Jammy (Ubuntu 22.04)

latest/stable

Jammy (Ubuntu 22.04)

Prerequisite

A Canonical OpenStack base setup deployed for a required release like Jammy Antelope/Bobcat.

Steps to install the Trilio charms

1. Export the OpenStack base bundle

juju export-bundle --filename openstack_base_file.yaml

2. Create a Trilio overlay bundle as per the OpenStack setup release using the charms given above.

NFS options for Cohesity NFS : nolock,soft,timeo=600,intr,lookupcache=none,nfsvers=3,retrans=10

Trilio File Search functionality requires that the Trilio Workload manager (trilio-wlm) be deployed as a virtual machine. File Search will not function if the Trilio Workload manager (trilio-wlm) is running as a lxd container(s).

If trilio-wlm service is assigned to any nova-compute node then wlm mysql router service fails to start. Hence, please ensure to assign trilio-wlm service to some other node.

For sample Trilio overlay bundles please clone the repo https://github.com/trilioData/triliovault-cfg-scripts/{{ trilio_branch }}/juju-charms/sample\_overlay\_bundles.

Value of trilio_branch can be taken from release specific Resources

Following table provides the details of various values to be updated in overlay bundle.

Parameters

Summary

triliovault-pkg-source

Trilio debian package repo url; Refer release specific Resources page

machines

List of Machines available on canonical openstack setup

channel

Channel name as provided in release specific Resources page

revision

Latest values as provided by Trilio. Refer release specific Resources page

If Backup Target is NFS

nfs-shares

NFS server IP and share path

nfs-options

Options as per respective NFS server

If Backup Target is S3

tv-s3-endpoint-url

S3 Endpoint URL

tv-s3-secret-key

S3 Secret Key

tv-s3-access-key

S3 Access Key

tv-s3-region-name

S3 Region

tv-s3-bucket

S3 bucket

tv-s3-ssl

Set true for SSL enabled S3 endpoint URL

tv-s3-ssl-verify

Set true for SSL enabled S3 endpoint URL

tv-s3-ssl-cert

Required if S3 SSL/TLS certificates are self signed, else the parameter to be omitted. Steps to generate after this table

Following steps to be followed to generate tv-s3-ssl-cert only if backup target is S3 & it's SSL/TLS certifications are self signed.

a. Paste contents of certificate (.pem) file into s3-cert.pem. Please ensure to have 1 blank line at the end of this file.
b. Place the file at triliovault-cfg-scripts/juju-charms location.
c. Execute encode-s3-cert.sh present at triliovault-cfg-scripts/juju-charms.
d. In the same dir, file s3-cert-encoded.pem will be created. Copy the contents from this file and paste against tv-s3-ssl-cert in overlay bundle file.

For the AWS S3 storage backend, we need to use `http://s3.amazonaws.com` as S3 end-point URL.

3. T4O Deployment

3.1] Do a dry run to check if the Trilio bundle is working

juju deploy --dry-run ./openstack_base_file.yaml --overlay <Trilio bundle path>

3.2] Trigger deployment

juju deploy ./openstack_base_file.yaml --overlay <Trilio bundle path>

3.3] Wait until all the Trilio units are deployed successfully. Check the status via juju status command.

4. Post Deployment Steps

4.1] Once the deployment is complete, perform the below operations:

a. Create cloud admin trust & add licence

juju run --wait trilio-wlm/leader create-cloud-admin-trust password=<openstack admin password>
juju attach-resource trilio-wlm license=<Path to trilio license file>
juju run --wait trilio-wlm/leader create-license

Note: Reach out to the Trilio support team for the license file.

5. Verify the T4O Deployment

5.1] After T4O deployment steps are over, it can take sometime for all units to get deployed successfully. Deployment is considered successful when all the units are marked as active.

To verify the same, following command (& sample output) can be used to fetch the Trilio units/applications.

juju status | grep -i trilio

trilio-data-mover               5.2.8.14  active      3  trilio-charmers-trilio-data-mover      latest/candidate   22  no       Unit is ready
trilio-data-mover-mysql-router  8.0.39    active      3  mysql-router                           8.0/stable        200  no       Unit is ready
trilio-dm-api                   5.2.8     active      1  trilio-charmers-trilio-dm-api          latest/candidate   17  no       Unit is ready
trilio-dm-api-mysql-router      8.0.39    active      1  mysql-router                           8.0/stable        200  no       Unit is ready
trilio-horizon-plugin           5.2.8.8   active      1  trilio-charmers-trilio-horizon-plugin  latest/candidate   10  no       Unit is ready
trilio-wlm                      5.2.8.15  active      1  trilio-charmers-trilio-wlm             latest/candidate   18  no       Unit is ready
trilio-wlm-mysql-router         8.0.39    active      1  mysql-router                           8.0/stable        200  no       Unit is ready
  trilio-data-mover-mysql-router/2   active    idle            172.20.1.5                          Unit is ready
  trilio-data-mover/1                active    idle            172.20.1.5                          Unit is ready
  trilio-data-mover-mysql-router/0*  active    idle            172.20.1.7                          Unit is ready
  trilio-data-mover/2                active    idle            172.20.1.7                          Unit is ready
  trilio-data-mover-mysql-router/1   active    idle            172.20.1.8                          Unit is ready
  trilio-data-mover/0*               active    idle            172.20.1.8                          Unit is ready
  trilio-horizon-plugin/0*           active    idle            172.20.1.27                         Unit is ready
trilio-dm-api/0*                     active    idle   1/lxd/2  172.20.1.29     8784/tcp            Unit is ready
  trilio-dm-api-mysql-router/0*      active    idle            172.20.1.29                         Unit is ready
trilio-wlm/0*                        active    idle   1        172.20.1.4      8780/tcp            Unit is ready
  trilio-wlm-mysql-router/0*         active    idle            172.20.1.4                          Unit is ready

6. Troubleshooting T4O Deployment

6.1] To debug any specific unit : juju debug-log --include <UNIT_NAME_IN_ERROR>

Eg. If trilio-wlm/6 unit is in 'error' state, it's logs can be fetched using following command. Specific correct unit number from respective deployment using juju status command.

juju debug log --include trilio-wlm/6

For multipath enabled environments, perform the following actions

  1. log into each nova compute node

  2. add uxsock_timeout with value as 60000 (i.e. 60 sec) in /etc/multipath.conf

  3. restart tvault-contego service

Last updated