Enable Tempest without devstack

To be able to use the functional tests outside of devstack, this
adds a configurtion option to bypass the service catalog and disables
checking SSL certificates during testing.

Change-Id: I56d7403e268074ddb167f6ae8dac8b86b77eb1aa
Partially-Implements: blueprint magnum-tempest
This commit is contained in:
Corey O'Brien 2016-01-22 13:25:59 -05:00
parent 5302b88a1b
commit d99d9fc6ed
4 changed files with 19 additions and 1 deletions

View File

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

View File

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

View File

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

View File

@ -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"),
]