incorporate team comments
This commit is contained in:
@@ -13,60 +13,3 @@
|
||||
# limitations under the License.
|
||||
|
||||
"""Collection of code for setting up and testing designate."""
|
||||
import zaza.openstack.charm_tests.test_utils as test_utils
|
||||
import zaza.openstack.utilities.openstack as openstack_utils
|
||||
|
||||
|
||||
class BaseDesignateTest(test_utils.OpenStackBaseTest):
|
||||
"""Base for Designate charm tests."""
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls, application_name=None, model_alias=None):
|
||||
"""Run class setup for running Designate charm operation tests."""
|
||||
application_name = application_name or "designate"
|
||||
model_alias = model_alias or ""
|
||||
super(BaseDesignateTest, cls).setUpClass(application_name, model_alias)
|
||||
os_release = openstack_utils.get_os_release
|
||||
|
||||
if os_release() >= os_release('bionic_rocky'):
|
||||
cls.designate_svcs = [
|
||||
'designate-agent', 'designate-api', 'designate-central',
|
||||
'designate-mdns', 'designate-worker', 'designate-sink',
|
||||
'designate-producer',
|
||||
]
|
||||
else:
|
||||
cls.designate_svcs = [
|
||||
'designate-agent', 'designate-api', 'designate-central',
|
||||
'designate-mdns', 'designate-pool-manager', 'designate-sink',
|
||||
'designate-zone-manager',
|
||||
]
|
||||
|
||||
# Get keystone session
|
||||
cls.post_xenial_queens = os_release() >= os_release('xenial_queens')
|
||||
overcloud_auth = openstack_utils.get_overcloud_auth()
|
||||
cls.keystone = openstack_utils.get_keystone_client(overcloud_auth)
|
||||
|
||||
if cls.post_xenial_queens:
|
||||
keystone_session = openstack_utils.get_overcloud_keystone_session()
|
||||
cls.designate = openstack_utils.get_designate_session_client(
|
||||
session=keystone_session
|
||||
)
|
||||
cls.zones_list = cls.designate.zones.list
|
||||
cls.zones_delete = cls.designate.zones.delete
|
||||
else:
|
||||
# Authenticate admin with designate endpoint
|
||||
designate_ep = cls.keystone.service_catalog.url_for(
|
||||
service_type='dns',
|
||||
interface='publicURL')
|
||||
keystone_ep = cls.keystone.service_catalog.url_for(
|
||||
service_type='identity',
|
||||
interface='publicURL')
|
||||
cls.designate = openstack_utils.get_designate_session_client(
|
||||
version=1,
|
||||
auth_url=keystone_ep,
|
||||
username="admin",
|
||||
password="openstack",
|
||||
tenant_name="admin",
|
||||
endpoint=designate_ep)
|
||||
cls.zones_list = cls.designate.domains.list
|
||||
cls.zones_delete = cls.designate.domains.delete
|
||||
|
||||
@@ -20,7 +20,63 @@ import designateclient.v1.domains as domains
|
||||
import designateclient.v1.records as records
|
||||
import designateclient.v1.servers as servers
|
||||
import zaza.openstack.utilities.juju as zaza_juju
|
||||
from zaza.openstack.charm_tests.designate import BaseDesignateTest
|
||||
import zaza.openstack.charm_tests.test_utils as test_utils
|
||||
import zaza.openstack.utilities.openstack as openstack_utils
|
||||
|
||||
|
||||
class BaseDesignateTest(test_utils.OpenStackBaseTest):
|
||||
"""Base for Designate charm tests."""
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls, application_name=None, model_alias=None):
|
||||
"""Run class setup for running Designate charm operation tests."""
|
||||
application_name = application_name or "designate"
|
||||
model_alias = model_alias or ""
|
||||
super(BaseDesignateTest, cls).setUpClass(application_name, model_alias)
|
||||
os_release = openstack_utils.get_os_release
|
||||
|
||||
if os_release() >= os_release('bionic_rocky'):
|
||||
cls.designate_svcs = [
|
||||
'designate-agent', 'designate-api', 'designate-central',
|
||||
'designate-mdns', 'designate-worker', 'designate-sink',
|
||||
'designate-producer',
|
||||
]
|
||||
else:
|
||||
cls.designate_svcs = [
|
||||
'designate-agent', 'designate-api', 'designate-central',
|
||||
'designate-mdns', 'designate-pool-manager', 'designate-sink',
|
||||
'designate-zone-manager',
|
||||
]
|
||||
|
||||
# Get keystone session
|
||||
cls.post_xenial_queens = os_release() >= os_release('xenial_queens')
|
||||
overcloud_auth = openstack_utils.get_overcloud_auth()
|
||||
keystone = openstack_utils.get_keystone_client(overcloud_auth)
|
||||
|
||||
if cls.post_xenial_queens:
|
||||
keystone_session = openstack_utils.get_overcloud_keystone_session()
|
||||
cls.designate = openstack_utils.get_designate_session_client(
|
||||
session=keystone_session
|
||||
)
|
||||
cls.zones_list = cls.designate.zones.list
|
||||
cls.zones_delete = cls.designate.zones.delete
|
||||
else:
|
||||
# Authenticate admin with designate endpoint
|
||||
designate_ep = keystone.service_catalog.url_for(
|
||||
service_type='dns',
|
||||
interface='publicURL')
|
||||
keystone_ep = keystone.service_catalog.url_for(
|
||||
service_type='identity',
|
||||
interface='publicURL')
|
||||
cls.designate = openstack_utils.get_designate_session_client(
|
||||
version=1,
|
||||
auth_url=keystone_ep,
|
||||
username="admin",
|
||||
password="openstack",
|
||||
tenant_name="admin",
|
||||
endpoint=designate_ep)
|
||||
cls.zones_list = cls.designate.domains.list
|
||||
cls.zones_delete = cls.designate.domains.delete
|
||||
|
||||
|
||||
class DesignateTests(BaseDesignateTest):
|
||||
@@ -87,8 +143,8 @@ class DesignateTests(BaseDesignateTest):
|
||||
|
||||
def test_400_server_creation(self):
|
||||
"""Simple api calls to create domain."""
|
||||
# Designate does not allow the last server to be delete so ensure ns1
|
||||
# always present
|
||||
# Designate does not allow the last server to be deleted so ensure
|
||||
# that ns1 is always present
|
||||
if self.post_xenial_queens:
|
||||
logging.info('Skipping server creation tests for Queens and above')
|
||||
return
|
||||
@@ -194,4 +250,5 @@ class DesignateTests(BaseDesignateTest):
|
||||
|
||||
logging.debug('Tidy up delete test record')
|
||||
self.zones_delete(_domain_id)
|
||||
self._wait_on_domain_gone()
|
||||
logging.debug('OK')
|
||||
|
||||
Reference in New Issue
Block a user