Update amulet test definitions

- Add Xenial-Newton Amulet test definitions (dev).

- Add Yakkety-Newton Amulet test definitions (dev).

- Use the KSV3 version of the Amulet test for smoke instead of KSV2.

- Use the percona-cluster charm in tests instead of the mysql charm.

Newton tests are not enabled yet, per existing blocker:
- https://bugs.launchpad.net/charm-barbican-softhsm/+bug/1611393

Change-Id: I7ccc075677bcc1a8d2f6f0eed5ef0d46f4cbbfc8
This commit is contained in:
Ryan Beisner 2016-09-22 18:08:41 +00:00
parent b00cb733a8
commit 4ec389893f
6 changed files with 46 additions and 14 deletions

View File

@ -42,9 +42,10 @@ class SoftHSMBasicDeployment(OpenStackAmuletDeployment):
self._deploy()
u.log.info('Waiting on extended status checks...')
exclude_services = ['mysql', ]
exclude_services = []
self._auto_wait_for_status(exclude_services=exclude_services)
self.d.sentry.wait()
self._initialize_tests()
def _add_services(self):
@ -55,10 +56,12 @@ class SoftHSMBasicDeployment(OpenStackAmuletDeployment):
compatible with the local charm (e.g. stable or next).
"""
this_service = {'name': 'barbican-softhsm'}
other_services = [{'name': 'barbican'},
{'name': 'mysql'},
{'name': 'rabbitmq-server'},
{'name': 'keystone'}]
other_services = [
{'name': 'barbican'},
{'name': 'percona-cluster', 'constraints': {'mem': '3072M'}},
{'name': 'rabbitmq-server'},
{'name': 'keystone'}
]
super(SoftHSMBasicDeployment, self)._add_services(
this_service, other_services)
@ -66,10 +69,10 @@ class SoftHSMBasicDeployment(OpenStackAmuletDeployment):
"""Add all of the relations for the services."""
relations = {
'barbican:hsm': 'barbican-softhsm:hsm',
'barbican:shared-db': 'mysql:shared-db',
'barbican:shared-db': 'percona-cluster:shared-db',
'barbican:amqp': 'rabbitmq-server:amqp',
'barbican:identity-service': 'keystone:identity-service',
'keystone:shared-db': 'mysql:shared-db',
'keystone:shared-db': 'percona-cluster:shared-db',
}
super(SoftHSMBasicDeployment, self)._add_relations(relations)
@ -86,9 +89,16 @@ class SoftHSMBasicDeployment(OpenStackAmuletDeployment):
'verbose': True,
'keystone-api-version': str(keystone_version),
}
pxc_config = {
'dataset-size': '25%',
'max-connections': 1000,
'root-password': 'ChangeMe123',
'sst-password': 'ChangeMe123',
}
configs = {
'keystone': keystone_config,
'barbican': barbican_config,
'percona-cluster': pxc_config,
}
super(SoftHSMBasicDeployment, self)._configure_services(configs)
@ -97,7 +107,7 @@ class SoftHSMBasicDeployment(OpenStackAmuletDeployment):
# Access the sentries for inspecting service units
self.softhsm_sentry = self.d.sentry['barbican-softhsm'][0]
self.barbican_sentry = self.d.sentry['barbican'][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]
u.log.debug('openstack release val: {}'.format(
@ -106,7 +116,7 @@ class SoftHSMBasicDeployment(OpenStackAmuletDeployment):
self._get_openstack_release_string()))
keystone_ip = self.keystone_sentry.relation(
'shared-db', 'mysql:shared-db')['private-address']
'shared-db', 'percona-cluster:shared-db')['private-address']
# We need to auth either to v2.0 or v3 keystone
if self._keystone_version == '2':

View File

@ -0,0 +1,12 @@
#!/usr/bin/env python
"""Amulet tests on a basic barbican deploy on xenial-newton for keystone v3.
"""
from basic_deployment import SoftHSMBasicDeployment
if __name__ == '__main__':
deployment = SoftHSMBasicDeployment(series='xenial', keystone_version=3,
openstack='cloud:xenial-newton',
source='cloud:xenial-updates/newton')
deployment.run_tests()

View File

@ -0,0 +1,10 @@
#!/usr/bin/env python
"""Amulet tests on a basic aodh deployment on yakkety-newton for keystone v3.
"""
from basic_deployment import SoftHSMBasicDeployment
if __name__ == '__main__':
deployment = SoftHSMBasicDeployment(series='yakkety', keystone_version=3)
deployment.run_tests()

View File

@ -1,10 +1,10 @@
#!/usr/bin/env python
"""Amulet tests on a basic aodh deployment on xenial-mitaka for keystone v2.
"""Amulet tests on a basic aodh deployment on xenial-mitaka for keystone v3.
"""
from basic_deployment import SoftHSMBasicDeployment
if __name__ == '__main__':
deployment = SoftHSMBasicDeployment(series='xenial', keystone_version=2)
deployment = SoftHSMBasicDeployment(series='xenial', keystone_version=3)
deployment.run_tests()

View File

@ -1,10 +1,10 @@
#!/usr/bin/env python
"""Amulet tests on a basic aodh deployment on xenial-mitaka for keystone v3.
"""Amulet tests on a basic aodh deployment on xenial-mitaka for keystone v2.
"""
from basic_deployment import SoftHSMBasicDeployment
if __name__ == '__main__':
deployment = SoftHSMBasicDeployment(series='xenial', keystone_version=3)
deployment = SoftHSMBasicDeployment(series='xenial', keystone_version=2)
deployment.run_tests()

View File

@ -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