diff --git a/magnum/tests/functional/common/client.py b/magnum/tests/functional/common/client.py index 0e640a4bfe..01ce07412a 100644 --- a/magnum/tests/functional/common/client.py +++ b/magnum/tests/functional/common/client.py @@ -27,7 +27,8 @@ class MagnumClient(rest_client.RestClient): super(MagnumClient, self).__init__( auth_provider=auth_provider, service='container', - region=config.Config.region + region=config.Config.region, + disable_ssl_certificate_validation=True ) @classmethod diff --git a/magnum/tests/functional/common/config.py b/magnum/tests/functional/common/config.py index 75199f4c9d..6d92d9d2ff 100644 --- a/magnum/tests/functional/common/config.py +++ b/magnum/tests/functional/common/config.py @@ -87,6 +87,10 @@ class Config(object): raise Exception('config missing flavor_id key') cls.flavor_id = CONF.magnum.flavor_id + @classmethod + def set_magnum_url(cls, config): + cls.magnum_url = CONF.magnum.get('magnum_url', None) + @classmethod def setUp(cls): cls.set_admin_creds(config) @@ -100,3 +104,4 @@ class Config(object): cls.set_nic_id(config) cls.set_keypair_id(config) cls.set_flavor_id(config) + cls.set_magnum_url(config) diff --git a/magnum/tests/functional/common/manager.py b/magnum/tests/functional/common/manager.py index cf38168163..71a44cadb8 100644 --- a/magnum/tests/functional/common/manager.py +++ b/magnum/tests/functional/common/manager.py @@ -17,6 +17,7 @@ from magnum.tests.functional.api.v1.clients import bay_client from magnum.tests.functional.api.v1.clients import baymodel_client from magnum.tests.functional.api.v1.clients import magnum_service_client from magnum.tests.functional.common import client +from magnum.tests.functional.common import config class Manager(clients.Manager): @@ -26,6 +27,8 @@ class Manager(clients.Manager): 'identity_admin'), request_type=None): super(Manager, self).__init__(credentials, 'container') + self.auth_provider.orig_base_url = self.auth_provider.base_url + self.auth_provider.base_url = self.bypassed_base_url if request_type == 'baymodel': self.client = baymodel_client.BayModelClient(self.auth_provider) elif request_type == 'bay': @@ -36,6 +39,11 @@ class Manager(clients.Manager): else: self.client = client.MagnumClient(self.auth_provider) + def bypassed_base_url(self, filters, auth_data=None): + if config.Config.magnum_url and filters['service'] == 'container': + return config.Config.magnum_url + return self.auth_provider.orig_base_url(filters, auth_data=auth_data) + class DefaultManager(Manager): def __init__(self, credentials, request_type=None): diff --git a/magnum/tests/functional/tempest_tests/config.py b/magnum/tests/functional/tempest_tests/config.py index ac8d268ac2..aec537215b 100644 --- a/magnum/tests/functional/tempest_tests/config.py +++ b/magnum/tests/functional/tempest_tests/config.py @@ -43,4 +43,8 @@ MagnumGroup = [ cfg.StrOpt("flavor_id", default="m1.magnum", help="Flavor id to use for baymodels."), + + cfg.StrOpt("magnum_url", + default=None, + help="Bypass URL for Magnum to skip service catalog lookup"), ]