Enable Bionic as a gate test
Change bionic test from dev to gate for 18.05. Change-Id: I314848bea90a372ef673732d6bce1e34d3083d2a
This commit is contained in:
parent
3bc61cfe78
commit
4f5b553153
|
@ -147,11 +147,10 @@ class DesignateBindDeployment(amulet_deployment.OpenStackAmuletDeployment):
|
|||
'designate-zone-manager',
|
||||
]
|
||||
|
||||
# Authenticate admin with keystone endpoint
|
||||
self.keystone = u.authenticate_keystone_admin(self.keystone_sentry,
|
||||
user='admin',
|
||||
password='openstack',
|
||||
tenant='admin')
|
||||
# Authenticate admin with keystone
|
||||
self.keystone_session, self.keystone = u.get_default_keystone_session(
|
||||
self.keystone_sentry,
|
||||
openstack_release=self._get_openstack_release())
|
||||
|
||||
# Authenticate admin with designate endpoint
|
||||
designate_ep = self.keystone.service_catalog.url_for(
|
||||
|
@ -160,13 +159,22 @@ class DesignateBindDeployment(amulet_deployment.OpenStackAmuletDeployment):
|
|||
keystone_ep = self.keystone.service_catalog.url_for(
|
||||
service_type='identity',
|
||||
interface='publicURL')
|
||||
self.designate = designate_client.Client(
|
||||
version='1',
|
||||
auth_url=keystone_ep,
|
||||
username="admin",
|
||||
password="openstack",
|
||||
tenant_name="admin",
|
||||
endpoint=designate_ep)
|
||||
if self._get_openstack_release() >= self.xenial_queens:
|
||||
self.designate = designate_client.Client(
|
||||
version='2',
|
||||
session=self.keystone_session)
|
||||
self.zones_list = self.designate.zones.list
|
||||
self.zones_delete = self.designate.zones.delete
|
||||
else:
|
||||
self.designate = designate_client.Client(
|
||||
version='1',
|
||||
auth_url=keystone_ep,
|
||||
username="admin",
|
||||
password="openstack",
|
||||
tenant_name="admin",
|
||||
endpoint=designate_ep)
|
||||
self.zones_list = self.designate.domains.list
|
||||
self.zones_delete = self.designate.domains.delete
|
||||
|
||||
def check_and_wait(self, check_command, interval=2, max_wait=200,
|
||||
desc=None):
|
||||
|
@ -228,9 +236,15 @@ class DesignateBindDeployment(amulet_deployment.OpenStackAmuletDeployment):
|
|||
|
||||
def get_domain_id(self, domain_name):
|
||||
domain_id = None
|
||||
for dom in self.designate.domains.list():
|
||||
if dom.name == domain_name:
|
||||
domain_id = dom.id
|
||||
for dom in self.zones_list():
|
||||
if isinstance(dom, dict):
|
||||
if dom['name'] == domain_name:
|
||||
domain_id = dom['name']
|
||||
break
|
||||
else:
|
||||
if dom.name == domain_name:
|
||||
domain_id = dom.id
|
||||
break
|
||||
return domain_id
|
||||
|
||||
def get_test_domain_id(self):
|
||||
|
@ -252,7 +266,7 @@ class DesignateBindDeployment(amulet_deployment.OpenStackAmuletDeployment):
|
|||
old_dom_id = self.get_test_domain_id()
|
||||
if old_dom_id:
|
||||
u.log.debug('Deleting old domain')
|
||||
self.designate.domains.delete(old_dom_id)
|
||||
self.zones_delete(old_dom_id)
|
||||
self.check_and_wait(
|
||||
self.check_test_domain_gone,
|
||||
desc='Waiting for domain to disappear')
|
||||
|
@ -260,7 +274,11 @@ class DesignateBindDeployment(amulet_deployment.OpenStackAmuletDeployment):
|
|||
domain = domains.Domain(
|
||||
name=self.TEST_DOMAIN,
|
||||
email="fred@amuletexample.com")
|
||||
new_domain = self.designate.domains.create(domain)
|
||||
if self._get_openstack_release() >= self.xenial_queens:
|
||||
new_domain = self.designate.zones.create(
|
||||
name=domain.name, email=domain.email)
|
||||
else:
|
||||
new_domain = self.designate.domains.create(domain)
|
||||
assert(new_domain is not None)
|
||||
|
||||
u.log.debug('Creating new test record')
|
||||
|
@ -269,10 +287,16 @@ class DesignateBindDeployment(amulet_deployment.OpenStackAmuletDeployment):
|
|||
type="A",
|
||||
data=self.TEST_RECORD[self.TEST_WWW_RECORD])
|
||||
|
||||
self.designate.records.create(new_domain.id, _record)
|
||||
if self._get_openstack_release() >= self.xenial_queens:
|
||||
_domain_id = new_domain['id']
|
||||
self.designate.recordsets.create(
|
||||
_domain_id, _record.name, _record.type, [_record.data])
|
||||
else:
|
||||
_domain_id = new_domain.id
|
||||
self.designate.records.create(_domain_id, _record)
|
||||
self.check_and_wait(
|
||||
self.check_slave_resolve_test_record,
|
||||
desc='Waiting for dns record to propagate')
|
||||
u.log.debug('Tidy up delete test record')
|
||||
self.designate.domains.delete(new_domain.id)
|
||||
self.zones_delete(_domain_id)
|
||||
u.log.debug('OK')
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
# Copyright 2016 Canonical Ltd
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
"""Amulet tests on a basic designate-bind deployment on xenial-queens."""
|
||||
|
||||
from basic_deployment import DesignateBindDeployment
|
||||
|
||||
if __name__ == '__main__':
|
||||
deployment = DesignateBindDeployment(
|
||||
series='xenial',
|
||||
openstack='cloud:xenial-queens',
|
||||
source='cloud:xenial-updates/queens')
|
||||
deployment.run_tests()
|
|
@ -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!)
|
||||
|
|
Loading…
Reference in New Issue