From e4d436d54b842a6b49aab8c54f3718ff7714fc45 Mon Sep 17 00:00:00 2001 From: Ryan Beisner Date: Thu, 22 Sep 2016 17:57:39 +0000 Subject: [PATCH] Update amulet test definitions for Newton - Remove Precise-Icehouse Amulet test definitions if they exist. - Add Xenial-Newton Amulet test definitions. - Add Yakkety-Newton Amulet test definitions. - Use the percona-cluster charm in tests instead of the mysql charm. Change-Id: Ie29ee6af6b255ac1a1ac15f666b9d1b3ee9f3ee9 --- hooks/charmhelpers/contrib/openstack/utils.py | 5 +++-- tests/basic_deployment.py | 1 + .../contrib/openstack/amulet/deployment.py | 2 +- tests/charmhelpers/contrib/openstack/amulet/utils.py | 11 ++++------- tests/gate-basic-precise-icehouse | 11 ----------- tests/gate-basic-trusty-juno | 11 ----------- tests/gate-basic-xenial-newton | 11 +++++++++++ tests/gate-basic-yakkety-newton | 9 +++++++++ tests/tests.yaml | 2 +- 9 files changed, 30 insertions(+), 33 deletions(-) delete mode 100755 tests/gate-basic-precise-icehouse delete mode 100755 tests/gate-basic-trusty-juno create mode 100755 tests/gate-basic-xenial-newton create mode 100644 tests/gate-basic-yakkety-newton diff --git a/hooks/charmhelpers/contrib/openstack/utils.py b/hooks/charmhelpers/contrib/openstack/utils.py index 9abd4c3..8c89c3a 100644 --- a/hooks/charmhelpers/contrib/openstack/utils.py +++ b/hooks/charmhelpers/contrib/openstack/utils.py @@ -229,6 +229,7 @@ GIT_DEFAULT_REPOS = { GIT_DEFAULT_BRANCHES = { 'liberty': 'stable/liberty', 'mitaka': 'stable/mitaka', + 'newton': 'stable/newton', 'master': 'master', } @@ -735,12 +736,12 @@ def git_os_codename_install_source(projects_yaml): if projects in GIT_DEFAULT_BRANCHES.keys(): if projects == 'master': - return 'newton' + return 'ocata' return projects if 'release' in projects: if projects['release'] == 'master': - return 'newton' + return 'ocata' return projects['release'] return None diff --git a/tests/basic_deployment.py b/tests/basic_deployment.py index 4cddccf..5b8f5dd 100644 --- a/tests/basic_deployment.py +++ b/tests/basic_deployment.py @@ -34,6 +34,7 @@ class CephBasicDeployment(OpenStackAmuletDeployment): self._auto_wait_for_status(exclude_services=exclude_services) self._configure_proxy() + self.d.sentry.wait() self._initialize_tests() self._auto_wait_for_status() diff --git a/tests/charmhelpers/contrib/openstack/amulet/deployment.py b/tests/charmhelpers/contrib/openstack/amulet/deployment.py index 6fe8cf8..9e0b07f 100644 --- a/tests/charmhelpers/contrib/openstack/amulet/deployment.py +++ b/tests/charmhelpers/contrib/openstack/amulet/deployment.py @@ -156,7 +156,7 @@ class OpenStackAmuletDeployment(AmuletDeployment): use_source = list(set( use_source + ['mysql', 'mongodb', 'rabbitmq-server', 'ceph', 'ceph-osd', 'ceph-radosgw', 'ceph-mon', - 'ceph-proxy'])) + 'ceph-proxy', 'percona-cluster', 'lxd'])) # Charms which can not use openstack-origin, ie. many subordinates no_origin = list(set( diff --git a/tests/charmhelpers/contrib/openstack/amulet/utils.py b/tests/charmhelpers/contrib/openstack/amulet/utils.py index 24b353e..e4546c8 100644 --- a/tests/charmhelpers/contrib/openstack/amulet/utils.py +++ b/tests/charmhelpers/contrib/openstack/amulet/utils.py @@ -306,10 +306,8 @@ class OpenStackAmuletUtils(AmuletUtils): password, tenant): """Authenticates admin user with cinder.""" # NOTE(beisner): cinder python client doesn't accept tokens. - service_ip = \ - keystone_sentry.relation('shared-db', - 'mysql:shared-db')['private-address'] - ept = "http://{}:5000/v2.0".format(service_ip.strip().decode('utf-8')) + keystone_ip = keystone_sentry.info['public-address'] + ept = "http://{}:5000/v2.0".format(keystone_ip.strip().decode('utf-8')) return cinder_client.Client(username, password, tenant, ept) def authenticate_keystone_admin(self, keystone_sentry, user, password, @@ -317,10 +315,9 @@ class OpenStackAmuletUtils(AmuletUtils): keystone_ip=None): """Authenticates admin user with the keystone admin endpoint.""" self.log.debug('Authenticating keystone admin...') - unit = keystone_sentry if not keystone_ip: - keystone_ip = unit.relation('shared-db', - 'mysql:shared-db')['private-address'] + keystone_ip = keystone_sentry.info['public-address'] + base_ep = "http://{}:35357".format(keystone_ip.strip().decode('utf-8')) if not api_version or api_version == 2: ep = base_ep + "/v2.0" diff --git a/tests/gate-basic-precise-icehouse b/tests/gate-basic-precise-icehouse deleted file mode 100755 index 020cd75..0000000 --- a/tests/gate-basic-precise-icehouse +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/python - -"""Amulet tests on a basic ceph deployment on precise-icehouse.""" - -from basic_deployment import CephBasicDeployment - -if __name__ == '__main__': - deployment = CephBasicDeployment(series='precise', - openstack='cloud:precise-icehouse', - source='cloud:precise-updates/icehouse') - deployment.run_tests() diff --git a/tests/gate-basic-trusty-juno b/tests/gate-basic-trusty-juno deleted file mode 100755 index 28c7684..0000000 --- a/tests/gate-basic-trusty-juno +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/python - -"""Amulet tests on a basic ceph deployment on trusty-juno.""" - -from basic_deployment import CephBasicDeployment - -if __name__ == '__main__': - deployment = CephBasicDeployment(series='trusty', - openstack='cloud:trusty-juno', - source='cloud:trusty-updates/juno') - deployment.run_tests() diff --git a/tests/gate-basic-xenial-newton b/tests/gate-basic-xenial-newton new file mode 100755 index 0000000..f87e375 --- /dev/null +++ b/tests/gate-basic-xenial-newton @@ -0,0 +1,11 @@ +#!/usr/bin/python + +"""Amulet tests on a basic ceph deployment on xenial-newton.""" + +from basic_deployment import CephBasicDeployment + +if __name__ == '__main__': + deployment = CephBasicDeployment(series='xenial', + openstack='cloud:xenial-newton', + source='cloud:xenial-updates/newton') + deployment.run_tests() diff --git a/tests/gate-basic-yakkety-newton b/tests/gate-basic-yakkety-newton new file mode 100644 index 0000000..b5ee9de --- /dev/null +++ b/tests/gate-basic-yakkety-newton @@ -0,0 +1,9 @@ +#!/usr/bin/python + +"""Amulet tests on a basic ceph deployment on yakkety-newton.""" + +from basic_deployment import CephBasicDeployment + +if __name__ == '__main__': + deployment = CephBasicDeployment(series='yakkety') + deployment.run_tests() diff --git a/tests/tests.yaml b/tests/tests.yaml index e3185c6..4cf93d0 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -1,6 +1,6 @@ # Bootstrap the model if necessary. bootstrap: True -# Re-use bootstrap node instead of destroying/re-bootstrapping. +# Re-use bootstrap node. reset: True # Use tox/requirements to drive the venv instead of bundletester's venv feature. virtualenv: False