charm-trilio-wlm/src
Liam Young 9c58c4bb2c Update to build using charmcraft
Due to a build problem with the reactive plugin, this change falls back
on overriding the steps and doing a manual build, but it also ensures
the CI system builds the charm using charmcraft.  Changes:

- add a build-requirements.txt
- modify charmcraft.yaml
- modify osci.yaml
    -> indicate build with charmcraft
- modify tox.ini
    -> tox -e build does charmcraft build/rename
    -> tox -e build-reactive does the reactive build
- modify bundles to use the <charm>.charm artifact in tests.
  and fix deprecation warning re: prefix
- tox inception to enable tox -e func-test in the CI
- Pin everything in wheelhouse.txt for bionic and focal support.
  This will need updating when the charm channels are created.

func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/778
Change-Id: I1fc6374f6201a6ee5dbe46bd23a71a2f7372bbcf
2022-06-13 09:53:55 +00:00
..
actions Replace post-upgrade-configuration with update-trilio 2021-08-05 07:43:35 +00:00
files Release sync for 20.08 2020-07-27 21:00:53 +01:00
lib/charm/openstack Remove experimental from s3 options 2021-06-17 16:51:14 -07:00
reactive Make trustee role configurable 2021-05-12 10:38:19 -07:00
templates Fix white space in config files 2021-12-22 12:55:23 -07:00
tests Update to build using charmcraft 2022-06-13 09:53:55 +00:00
README.md Remove experimental from s3 options 2021-06-17 16:51:14 -07:00
actions.yaml Replace post-upgrade-configuration with update-trilio 2021-08-05 07:43:35 +00:00
config.yaml Remove experimental from s3 options 2021-06-17 16:51:14 -07:00
copyright Fixup copyright file 2020-03-09 09:39:43 +00:00
icon.svg Update icon 2020-03-02 11:19:23 +00:00
layer.yaml Drop use of identity-admin service 2020-03-05 15:42:51 +00:00
lxd-profile.yaml Update lxd profile 2021-04-28 17:40:14 +00:00
metadata.yaml Add yoga bundles and release-tool syncs 2021-11-23 16:39:56 -05:00
test-requirements.txt Update to build using charmcraft 2022-06-13 09:53:55 +00:00
tox.ini Add yoga bundles and release-tool syncs 2021-11-23 16:39:56 -05:00
wheelhouse.txt Update to build using charmcraft 2022-06-13 09:53:55 +00:00

README.md

Overview

This charm provides the TrilioVault Workload Manager Service which forms part of the TrilioVault Cloud Backup solution.

Usage

The TrilioVault Workload Manager Service relies on a database service, the Keystone identity service, and RabbitMQ messaging:

juju deploy trilio-wlm
juju deploy mysql
juju deploy rabbitmq-server
juju deploy keystone
juju add-relation trilio-wlm mysql
juju add-relation trilio-wlm rabbitmq-server
juju add-relation trilio-wlm keystone

TrilioVault will also need to be deployed with other services in order to provide a fully functional TrilioVault backup solution. Refer to the TrilioVault Data Protection section in the deployment guide for more information.

Creating trust with the Cloud Admin account

In order for TrilioVault to backup services running on the OpenStack Cloud application trust must be granted from the Trilio WLM service account to the Cloud Admin account using the Admin role. This is completed using the 'create-cloud-admin-trust' action post deployment:

juju run-action --wait trilio-wlm/leader create-cloud-admin-trust \
    password=<cloud admin password>

This allows the Trilio WLM service account to impersonate the Cloud Admin account in order to access full details of services being protected.

Trusts can be listed and managed using the 'openstack trust ...' set of OSC commands.

Installing a TrilioVault License

In order to operate TrilioVault a license for the deployment must be installed. Attach the license file provided by Trilio to the application:

juju attach-resource trilio-wlm license=mylicense.lic

and then execute the 'create-license' action:

juju run-action --wait trilio-wlm/leader create-license

The resource may be included as part of a bundle but the action must be run post deployment to complete configuration of the TrilioVault service.

Alternatively this may be completed via the Horizon plugin for TrilioVault in the OpenStack Dashboard.

Storage Options

TrilioVault supports NFS and S3 backends for storing workload backups. The storage type used by TrilioVault is determined by the value in the backup-target-type charm config option.

NFS

To configure the TrilioVault Workload Manager to store backups in an NFS share, set the backup-target-type option of the charm to nfs and set the nfs-shares option of the charm to specify a valid NFS share.

juju config trilio-wlm backup-target-type=nfs
juju config trilio-wlm nfs-shares=10.40.3.20:/srv/triliovault

Mount settings for the NFS shares can be configured using the nfs-options config option.

The TrilioVault Data Mover application will also need to be configured to use the same nfs-share.

S3

To configure the TrilioVault Workload Manager to store backups in an S3 share, set the backup-target-type option of the charm to s3 and set the following configuration options to provide information regarding the S3 service:

  • tv-s3-endpoint-url the URL of the s3 storage

  • tv-s3-secret-key the secret key for accessing the s3 storage

  • tv-s3-access-key the access key for accessing the s3 storage

  • tv-s3-region-name the region for accessing the s3 storage

  • tv-s3-bucket the s3 bucket to use to storage backups in

  • tv-s3-ssl-cert the SSL CA to use when connecting to the s3 service

    juju config trilio-wlm tv-s3-endpoint-url=http://s3.example.com/ juju config trilio-wlm tv-s3-secret-key=superSecretKey juju config trilio-wlm tv-s3-access-key=secretAccessKey juju config trilio-wlm tv-s3-region-name=RegionOne juju config trilio-wlm tv-s3-bucket=backups

Bugs

Please report bugs on Launchpad.