From aafed5fe5ad55de7d398ad37c89d5392660721f6 Mon Sep 17 00:00:00 2001 From: Ryan Beisner Date: Thu, 22 Sep 2016 17:56:17 +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: Iae867ecde18397d1b19d445ba97ebaa578e92978 --- src/tests/basic_deployment.py | 38 ++++++++++++++++++++--------- src/tests/gate-basic-xenial-newton | 11 +++++++++ src/tests/gate-basic-yakkety-newton | 10 ++++++++ src/tests/tests.yaml | 4 +-- 4 files changed, 49 insertions(+), 14 deletions(-) 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 e181a0f..f165207 100644 --- a/src/tests/basic_deployment.py +++ b/src/tests/basic_deployment.py @@ -33,9 +33,10 @@ class AodhBasicDeployment(OpenStackAmuletDeployment): self._deploy() u.log.info('Waiting on extended status checks...') - exclude_services = ['mysql', 'mongodb'] + exclude_services = ['mongodb'] self._auto_wait_for_status(exclude_services=exclude_services) + self.d.sentry.wait() self._initialize_tests() def _add_services(self): @@ -46,21 +47,23 @@ class AodhBasicDeployment(OpenStackAmuletDeployment): compatible with the local charm (e.g. stable or next). """ this_service = {'name': 'aodh'} - other_services = [{'name': 'mysql'}, - {'name': 'rabbitmq-server'}, - {'name': 'keystone'}, - {'name': 'mongodb'}, - {'name': 'ceilometer'}] + other_services = [ + {'name': 'percona-cluster', 'constraints': {'mem': '3072M'}}, + {'name': 'rabbitmq-server'}, + {'name': 'keystone'}, + {'name': 'mongodb'}, + {'name': 'ceilometer'} + ] super(AodhBasicDeployment, self)._add_services(this_service, other_services) def _add_relations(self): """Add all of the relations for the services.""" relations = { - 'aodh:shared-db': 'mysql:shared-db', + 'aodh:shared-db': 'percona-cluster:shared-db', 'aodh:amqp': 'rabbitmq-server:amqp', 'aodh:identity-service': 'keystone:identity-service', - 'keystone:shared-db': 'mysql:shared-db', + 'keystone:shared-db': 'percona-cluster:shared-db', 'ceilometer:identity-service': 'keystone:identity-service', 'ceilometer:shared-db': 'mongodb:database', 'ceilometer:amqp': 'rabbitmq-server:amqp', @@ -69,9 +72,20 @@ class AodhBasicDeployment(OpenStackAmuletDeployment): def _configure_services(self): """Configure all of the services.""" - keystone_config = {'admin-password': 'openstack', - 'admin-token': 'ubuntutesting'} - configs = {'keystone': keystone_config} + keystone_config = { + 'admin-password': 'openstack', + 'admin-token': 'ubuntutesting' + } + pxc_config = { + 'dataset-size': '25%', + 'max-connections': 1000, + 'root-password': 'ChangeMe123', + 'sst-password': 'ChangeMe123', + } + configs = { + 'keystone': keystone_config, + 'percona-cluster': pxc_config, + } super(AodhBasicDeployment, self)._configure_services(configs) def _get_token(self): @@ -81,7 +95,7 @@ class AodhBasicDeployment(OpenStackAmuletDeployment): """Perform final initialization before tests get run.""" # Access the sentries for inspecting service units self.aodh_sentry = self.d.sentry['aodh'][0] - self.mysql_sentry = self.d.sentry['mysql'][0] + self.pxc_sentry = self.d.sentry['percona-cluster'][0] self.keystone_sentry = self.d.sentry['keystone'][0] self.rabbitmq_sentry = self.d.sentry['rabbitmq-server'][0] self.mongodb_sentry = self.d.sentry['mongodb'][0] diff --git a/src/tests/gate-basic-xenial-newton b/src/tests/gate-basic-xenial-newton new file mode 100755 index 0000000..649e079 --- /dev/null +++ b/src/tests/gate-basic-xenial-newton @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +"""Amulet tests on a basic aodh deployment on xenial-newton.""" + +from basic_deployment import AodhBasicDeployment + +if __name__ == '__main__': + deployment = AodhBasicDeployment(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..2d2aa76 --- /dev/null +++ b/src/tests/gate-basic-yakkety-newton @@ -0,0 +1,10 @@ +#!/usr/bin/env python + +"""Amulet tests on a basic aodh deployment on yakkety-newton.""" + +from basic_deployment import AodhBasicDeployment + +if __name__ == '__main__': + deployment = AodhBasicDeployment(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.