From f9ee6ddbc7d1aef1d53b548f4eecf89f3d837a8a Mon Sep 17 00:00:00 2001 From: Ryan Beisner Date: Sun, 2 Oct 2016 00:40:36 -0500 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: If7b3709c2cc6d9b2558f1eb263422704ccde9a49 --- src/tests/basic_deployment.py | 33 ++++++++++++++++++---------- src/tests/gate-basic-trusty-icehouse | 10 +++++++++ src/tests/gate-basic-trusty-kilo | 12 ++++++++++ src/tests/gate-basic-xenial-newton | 12 ++++++++++ src/tests/gate-basic-yakkety-newton | 10 +++++++++ src/tests/tests.yaml | 4 ++-- 6 files changed, 67 insertions(+), 14 deletions(-) create mode 100755 src/tests/gate-basic-trusty-icehouse create mode 100755 src/tests/gate-basic-trusty-kilo create mode 100755 src/tests/gate-basic-xenial-newton create mode 100644 src/tests/gate-basic-yakkety-newton diff --git a/src/tests/basic_deployment.py b/src/tests/basic_deployment.py index 34b2d43..8b0cea0 100644 --- a/src/tests/basic_deployment.py +++ b/src/tests/basic_deployment.py @@ -28,9 +28,10 @@ class TempestBasicDeployment(OpenStackAmuletDeployment): self._deploy() u.log.info('Waiting on extended status checks...') - exclude_services = ['mysql', 'mongodb'] + exclude_services = [] self._auto_wait_for_status(exclude_services=exclude_services) + self.d.sentry.wait() self._initialize_tests() def _add_services(self): @@ -41,11 +42,13 @@ class TempestBasicDeployment(OpenStackAmuletDeployment): compatible with the local charm (e.g. stable or next). """ this_service = {'name': 'tempest'} - other_services = [{'name': 'mysql'}, - {'name': 'rabbitmq-server'}, - {'name': 'keystone'}, - {'name': 'openstack-dashboard'}, - {'name': 'glance'}] + other_services = [ + {'name': 'percona-cluster', 'constraints': {'mem': '3072M'}}, + {'name': 'rabbitmq-server'}, + {'name': 'keystone'}, + {'name': 'openstack-dashboard'}, + {'name': 'glance'} + ] super(TempestBasicDeployment, self)._add_services( this_service, other_services, @@ -58,9 +61,9 @@ class TempestBasicDeployment(OpenStackAmuletDeployment): 'tempest:dashboard': 'openstack-dashboard:website', 'openstack-dashboard:identity-service': 'keystone:identity-service', - 'keystone:shared-db': 'mysql:shared-db', + 'keystone:shared-db': 'percona-cluster:shared-db', 'glance:identity-service': 'keystone:identity-service', - 'glance:shared-db': 'mysql:shared-db', + 'glance:shared-db': 'percona-cluster:shared-db', 'glance:amqp': 'rabbitmq-server:amqp' } super(TempestBasicDeployment, self)._add_relations(relations) @@ -69,7 +72,16 @@ class TempestBasicDeployment(OpenStackAmuletDeployment): """Configure all of the services.""" keystone_config = {'admin-password': 'openstack', 'admin-token': 'ubuntutesting'} - configs = {'keystone': keystone_config} + pxc_config = { + 'dataset-size': '25%', + 'max-connections': 1000, + 'root-password': 'ChangeMe123', + 'sst-password': 'ChangeMe123', + } + configs = { + 'keystone': keystone_config, + 'percona-cluster': pxc_config, + } super(TempestBasicDeployment, self)._configure_services(configs) def _get_token(self): @@ -78,9 +90,6 @@ class TempestBasicDeployment(OpenStackAmuletDeployment): def _initialize_tests(self): """Perform final initialization before tests get run.""" # Access the sentries for inspecting service units - self.mysql_sentry = self.d.sentry['mysql'][0] - self.keystone_sentry = self.d.sentry['keystone'][0] - self.rabbitmq_sentry = self.d.sentry['rabbitmq-server'][0] self.tempest_sentry = self.d.sentry['tempest'][0] self.openstack_dashboard_sentry = \ self.d.sentry['openstack-dashboard'][0] diff --git a/src/tests/gate-basic-trusty-icehouse b/src/tests/gate-basic-trusty-icehouse new file mode 100755 index 0000000..2953a96 --- /dev/null +++ b/src/tests/gate-basic-trusty-icehouse @@ -0,0 +1,10 @@ +#!/usr/bin/env python + +"""Amulet tests on a basic tempest deployment on trusty-icehouse.""" + +from basic_deployment import TempestBasicDeployment + +if __name__ == '__main__': + deployment = TempestBasicDeployment(series='trusty') + deployment.run_tests() + diff --git a/src/tests/gate-basic-trusty-kilo b/src/tests/gate-basic-trusty-kilo new file mode 100755 index 0000000..d0cd844 --- /dev/null +++ b/src/tests/gate-basic-trusty-kilo @@ -0,0 +1,12 @@ +#!/usr/bin/env python + +"""Amulet tests on a basic tempest deployment on trusty-kilo.""" + +from basic_deployment import TempestBasicDeployment + +if __name__ == '__main__': + # Tempest is installed through pip so cloud archive is not needed here + deployment = TempestBasicDeployment(series='trusty', + openstack='cloud:trusty-kilo', + source='cloud:trusty-updates/kilo') + deployment.run_tests() diff --git a/src/tests/gate-basic-xenial-newton b/src/tests/gate-basic-xenial-newton new file mode 100755 index 0000000..c47062c --- /dev/null +++ b/src/tests/gate-basic-xenial-newton @@ -0,0 +1,12 @@ +#!/usr/bin/env python + +"""Amulet tests on a basic tempest deployment on xenial-newton.""" + +from basic_deployment import TempestBasicDeployment + +if __name__ == '__main__': + # Tempest is installed through pip so cloud archive is not needed here + deployment = TempestBasicDeployment(series='xenial', + openstack='cloud:xenial-newton', + source='cloud:xenial-updates/newton') + deployment.run_tests() diff --git a/src/tests/gate-basic-yakkety-newton b/src/tests/gate-basic-yakkety-newton new file mode 100644 index 0000000..0b80aaf --- /dev/null +++ b/src/tests/gate-basic-yakkety-newton @@ -0,0 +1,10 @@ +#!/usr/bin/env python + +"""Amulet tests on a basic tempest deployment on yakkety-newton.""" + +from basic_deployment import TempestBasicDeployment + +if __name__ == '__main__': + deployment = TempestBasicDeployment(series='yakkety') + deployment.run_tests() + diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index e3185c6..e27d100 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -1,7 +1,7 @@ # Bootstrap the model if necessary. bootstrap: True -# Re-use bootstrap node instead of destroying/re-bootstrapping. -reset: True +# No reset https://bugs.launchpad.net/juju/+bug/1541482 +reset: False # Use tox/requirements to drive the venv instead of bundletester's venv feature. virtualenv: False # Leave makefile empty, otherwise unit/lint tests will rerun ahead of amulet.