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.

Juju charms for OpenStack Yoga, 2023.1(Antelope) & 2023.2(Bobcat) release

Charm names

Channel

Supported releases

6.0/stable

Jammy (Ubuntu 22.04)

6.0/stable

Jammy (Ubuntu 22.04)

6.0/stable

Jammy (Ubuntu 22.04)

6.0/stable

Jammy (Ubuntu 22.04)

Prerequisite

A Canonical OpenStack base setup deployed for a required release. Refer Compatibility Matrix

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.

Sample Trilio overlay bundles (T4O release wise) can be found at LINK

Alternatively, triliovault-cfg-scripts repository can be cloned to get the sample overlay bundles.

Value of trilio_branch can be taken from release specific Resources

git clone https://github.com/trilioData/triliovault-cfg-scripts.git
cd triliovault-cfg-scripts
git checkout {{ trilio_branch }}
cd juju-charms/sample_overlay_bundles

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

trilio-backup-targets

List of all the back up targets and respective details which user wants to have deployed against T4O

backup-target-name

Name of the back up target; can be any relevant string as defined by the user

backup-target-type

s3 or nfs

is-default

Can be true or false; ideally only one backup target can have is-default set to true

s3-type

Can be set as amazon_s3 or other_s3

s3-access-key

S3 Access Key

s3-secret-key

S3 Secret Key

s3-region-name

S3 Region

s3-bucket

S3 bucket

s3-endpoint-url

S3 Endpoint URL

s3-signature-version

To be set as default

s3-auth-version

To be set as DEFAULT

s3-ssl-enabled

Set true for SSL enabled S3 endpoint URL

s3-ssl-verify

Set true for SSL enabled S3 endpoint URL

s3-self-signed-cert

Set as true if S3 SSL/TLS certificates are self signed, else false

s3-ssl-ca_cert

Required if S3 SSL/TLS certificates are self signed, else the parameter to be left blank.

s3-bucket-object-lock-enabled

Set as true of S3 bucket is having object lock enabled, else set as false

nfs-shares

NFS server IP and share path

nfs-options

Options as per respective NFS server

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 show Unit is Ready in the message column.

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