From 3f6884cce98c5cdda847c86984753253736c8f6a Mon Sep 17 00:00:00 2001 From: Liam Young <liam.young@canonical.com> Date: Wed, 2 Dec 2020 13:10:04 +0000 Subject: [PATCH] Add support for Trilio 4.1 and 20.01 Updates Add Trilio 4.1 support Includes updates to charmhelpers/charms.openstack for cert_utils and unit-get for the install hook error on Juju 2.9 * ensure tox.ini is from release-tools * ensure requirements.txt files are from release-tools * On reactive charms: - ensure master branch for charms.openstack - ensure master branch for charm-helpers Change-Id: Id0602f52bf8b33abb7fb444a020301c07a656c98 --- src/lib/charm/openstack/trilio_wlm.py | 16 +++++++++++++--- src/tests/bundles/bionic-queens-ssl.yaml | 2 ++ src/tests/bundles/bionic-stein-ssl.yaml | 2 ++ src/tests/bundles/bionic-train-ssl.yaml | 2 ++ src/tests/tests.yaml | 5 ++++- src/wheelhouse.txt | 4 ++++ test-requirements.txt | 2 ++ 7 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 src/wheelhouse.txt diff --git a/src/lib/charm/openstack/trilio_wlm.py b/src/lib/charm/openstack/trilio_wlm.py index 3b64935..81e2360 100644 --- a/src/lib/charm/openstack/trilio_wlm.py +++ b/src/lib/charm/openstack/trilio_wlm.py @@ -16,6 +16,7 @@ import collections import subprocess import charmhelpers.core.hookenv as hookenv +import charmhelpers.contrib.openstack.utils as os_utils import charms_openstack.charm import charms_openstack.adapters @@ -24,8 +25,7 @@ import charms_openstack.ip as os_ip import charms.reactive as reactive -# select the default release function -charms_openstack.charm.use_defaults('charm.default-select-release') +charms_openstack.plugins.trilio.make_trilio_handlers() def _get_internal_url(identity_service, service): @@ -106,6 +106,7 @@ class TrilioWLMCharm(charms_openstack.plugins.TrilioVaultCharm, alembic_ini = "/etc/workloadmgr/alembic.ini" release = "train" + trilio_release = "4.0" # List of packages to install for this charm # NOTE(jamespage): nova-common ensures a consistent UID is use @@ -114,6 +115,8 @@ class TrilioWLMCharm(charms_openstack.plugins.TrilioVaultCharm, "linux-image-virtual", # Used for libguestfs supermin appliance "nova-common", "workloadmgr", + "python3-workloadmgrclient", + "python3-contegoclient", "python-apt", ] @@ -140,7 +143,8 @@ class TrilioWLMCharm(charms_openstack.plugins.TrilioVaultCharm, package_codenames = { "workloadmgr": collections.OrderedDict( [("3", "stein"), ("4", "train")] - ) + ), + "nova-common": os_utils.PACKAGE_CODENAMES["nova-common"], } sync_cmd = [ @@ -162,6 +166,8 @@ class TrilioWLMCharm(charms_openstack.plugins.TrilioVaultCharm, "cinder", ] + os_release_pkg = 'nova-common' + workloadmgr_install_dir = "/usr/lib/python3/dist-packages/workloadmgr" endpoint_template = "{}/v1/$(tenant_id)s" @@ -340,3 +346,7 @@ class TrilioWLMCharm(charms_openstack.plugins.TrilioVaultCharm, "application not licensed; please run 'create-license' action", ) return None, None + + @classmethod + def trilio_version_package(cls): + return 'workloadmgr' diff --git a/src/tests/bundles/bionic-queens-ssl.yaml b/src/tests/bundles/bionic-queens-ssl.yaml index 09a71e2..4a0853e 100644 --- a/src/tests/bundles/bionic-queens-ssl.yaml +++ b/src/tests/bundles/bionic-queens-ssl.yaml @@ -100,6 +100,8 @@ relations: - keystone:identity-service - - trilio-data-mover:ceph - ceph-mon:client +- - trilio-data-mover:shared-db + - mysql:shared-db applications: glance: charm: cs:~openstack-charmers-next/glance diff --git a/src/tests/bundles/bionic-stein-ssl.yaml b/src/tests/bundles/bionic-stein-ssl.yaml index 2a6e23f..eef7bb5 100644 --- a/src/tests/bundles/bionic-stein-ssl.yaml +++ b/src/tests/bundles/bionic-stein-ssl.yaml @@ -100,6 +100,8 @@ relations: - keystone:identity-service - - trilio-data-mover:ceph - ceph-mon:client +- - trilio-data-mover:shared-db + - mysql:shared-db applications: glance: charm: cs:~openstack-charmers-next/glance diff --git a/src/tests/bundles/bionic-train-ssl.yaml b/src/tests/bundles/bionic-train-ssl.yaml index 66d1968..b275d9c 100644 --- a/src/tests/bundles/bionic-train-ssl.yaml +++ b/src/tests/bundles/bionic-train-ssl.yaml @@ -108,6 +108,8 @@ relations: - keystone:identity-service - - trilio-data-mover:ceph - ceph-mon:client +- - trilio-data-mover:shared-db + - mysql:shared-db applications: glance: charm: cs:~openstack-charmers-next/glance diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index f0a2212..6504af3 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -27,10 +27,13 @@ target_deploy_status: workload-status-message: "Monitor bootstrapped but waiting for number of OSDs to reach expected-osd-count (3)" cinder-ceph: workload-status: waiting - workload-status-message: "Incomplete relations: ceph" + workload-status-message: "Ceph broker request incomplete" trilio-wlm: workload-status: blocked workload-status-message: "nfs-shares configuration not set" trilio-data-mover: workload-status: blocked workload-status-message: "nfs-shares configuration not set" + glance: + workload-status: waiting + workload-status-message: "Incomplete relations: storage-backend" diff --git a/src/wheelhouse.txt b/src/wheelhouse.txt new file mode 100644 index 0000000..9131674 --- /dev/null +++ b/src/wheelhouse.txt @@ -0,0 +1,4 @@ + +git+https://opendev.org/openstack/charms.openstack.git#egg=charms.openstack + +git+https://github.com/juju/charm-helpers.git#egg=charmhelpers diff --git a/test-requirements.txt b/test-requirements.txt index 8ab24b2..3f08524 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -22,6 +22,8 @@ importlib-resources<3.0.0; python_version < '3.6' # dropped support for python 3.5: osprofiler<2.7.0;python_version<'3.6' stevedore<1.31.0;python_version<'3.6' +debtcollector<1.22.0;python_version<'3.6' +oslo.utils<=3.41.0;python_version<'3.6' requests>=2.18.4 charms.reactive