diff --git a/src/tests/basic_deployment.py b/src/tests/basic_deployment.py index b1f6a68..a114fb3 100644 --- a/src/tests/basic_deployment.py +++ b/src/tests/basic_deployment.py @@ -105,23 +105,11 @@ class BarbicanBasicDeployment(OpenStackAmuletDeployment): u.log.debug('openstack release str: {}'.format( self._get_openstack_release_string())) - # Authenticate admin with keystone endpoint - if self._keystone_version == '2': - self.keystone = u.authenticate_keystone_admin( - self.keystone_sentry, - user='admin', - password='openstack', - tenant='admin') - elif self._keystone_version == '3': - # use default admin values in u.authenticate_keystone_admins() - # for user_domain_name, etc. - self.keystone = u.authenticate_keystone_admin( - self.keystone_sentry, - user='admin', - password='openstack', - api_version=3) - else: - raise RuntimeError("keystone version must be '2' or '3'") + # Authenticate admin with keystone + self.keystone_session, self.keystone = u.get_default_keystone_session( + self.keystone_sentry, + openstack_release=self._get_openstack_release(), + api_version=int(self._keystone_version)) def test_100_services(self): """Verify the expected services are running on the corresponding @@ -376,6 +364,10 @@ class BarbicanBasicDeployment(OpenStackAmuletDeployment): create=lambda: self.keystone.roles.add_user_role( demo_user, admin_role, tenant=tenant)) + self.keystone_demo = u.authenticate_keystone_user( + self.keystone, user='demo', + password='pass', tenant='demo') + else: # find or create the 'default' domain domain = self._find_or_create( @@ -424,10 +416,13 @@ class BarbicanBasicDeployment(OpenStackAmuletDeployment): role=admin_role, user=demo_user, project=demo_project) - - self.keystone_demo = u.authenticate_keystone_user( - self.keystone, user='demo', - password='pass', tenant='demo') + keystone_ip = self.keystone_sentry.info['public-address'] + self.keystone_demo = u.authenticate_keystone( + keystone_ip, demo_user.name, 'pass', + api_version=int(self._keystone_version), + user_domain_name=domain.name, + project_domain_name=domain.name, + project_name=demo_project.name) # Authenticate admin with barbican endpoint barbican_ep = self.keystone.service_catalog.url_for( diff --git a/src/tests/dev-basic-bionic-queens b/src/tests/gate-basic-bionic-queens similarity index 95% rename from src/tests/dev-basic-bionic-queens rename to src/tests/gate-basic-bionic-queens index bd940bc..049f8cf 100755 --- a/src/tests/dev-basic-bionic-queens +++ b/src/tests/gate-basic-bionic-queens @@ -6,5 +6,5 @@ from basic_deployment import BarbicanBasicDeployment if __name__ == '__main__': - deployment = BarbicanBasicDeployment(series='bionic', keystone_version=2) + deployment = BarbicanBasicDeployment(series='bionic', keystone_version=3) deployment.run_tests() diff --git a/src/tests/gate-basic-xenial-queens b/src/tests/gate-basic-xenial-queens new file mode 100755 index 0000000..4439851 --- /dev/null +++ b/src/tests/gate-basic-xenial-queens @@ -0,0 +1,12 @@ +#!/usr/bin/env python + +"""Amulet tests on a basic barbican deploy on xenial-queens for keystone v3. +""" + +from basic_deployment import BarbicanBasicDeployment + +if __name__ == '__main__': + deployment = BarbicanBasicDeployment(series='xenial', keystone_version=3, + openstack='cloud:xenial-queens', + source='cloud:xenial-updates/queens') + deployment.run_tests() diff --git a/src/tox.ini b/src/tox.ini index 245def4..0ec9b18 100644 --- a/src/tox.ini +++ b/src/tox.ini @@ -35,7 +35,7 @@ commands = # Run a specific test as an Amulet smoke test (expected to always pass) basepython = python2.7 commands = - bundletester -vl DEBUG -r json -o func-results.json gate-basic-xenial-pike --no-destroy + bundletester -vl DEBUG -r json -o func-results.json gate-basic-bionic-queens --no-destroy [testenv:func27-dfs] # Run all deploy-from-source tests which are +x (may not always pass!)