From 535e537647f16fd001ebb6c07d228c0bd7fabded Mon Sep 17 00:00:00 2001 From: zhurong Date: Tue, 30 Jan 2018 13:40:27 +0800 Subject: [PATCH] Add 'orchestration' config group for murano tempest Since I1c02fd88c3d93b511ff4a6b54b668ebd306481a9 this commit Remove deprecated 'orchestration' config group options, cause the error in murano tempest test: tempest.lib.exceptions.UnknownServiceClient: Service clients named orchestration are not known we should add those config in murano tempest. Change-Id: I5cd674b94ee472c5b5ab6a9a51170d89880887a4 --- murano_tempest_tests/config.py | 28 +++++++++++++++++++ murano_tempest_tests/plugin.py | 7 ++++- .../scenario/application_catalog/base.py | 23 +++++++++++++-- 3 files changed, 54 insertions(+), 4 deletions(-) diff --git a/murano_tempest_tests/config.py b/murano_tempest_tests/config.py index e00cdbf..23d9686 100644 --- a/murano_tempest_tests/config.py +++ b/murano_tempest_tests/config.py @@ -37,6 +37,9 @@ service_broker_group = cfg.OptGroup(name="service_broker", artifacts_group = cfg.OptGroup(name="artifacts", title="Glance Artifacts Options") +orchestration_group = cfg.OptGroup(name='orchestration', + title='Orchestration Service Options') + ApplicationCatalogGroup = [ # Application catalog tempest configuration cfg.StrOpt("region", @@ -130,3 +133,28 @@ ArtifactsGroup = [ help="Timeout in seconds to wait for a artifacts" " to become available.") ] + +OrchestrationGroup = [ + cfg.StrOpt('catalog_type', + default='orchestration', + help="Catalog type of the Orchestration service."), + cfg.StrOpt('region', + default='', + help="The orchestration region name to use. If empty, the " + "value of identity.region is used instead. If no such " + "region is found in the service catalog, the first found " + "one is used."), + cfg.StrOpt('endpoint_type', + default='publicURL', + choices=['public', 'admin', 'internal', + 'publicURL', 'adminURL', 'internalURL'], + help="The endpoint type to use for the orchestration service."), + cfg.StrOpt('stack_owner_role', default='heat_stack_owner', + help='Role required for users to be able to manage stacks'), + cfg.IntOpt('build_interval', + default=1, + help="Time in seconds between build status checks."), + cfg.IntOpt('build_timeout', + default=1200, + help="Timeout in seconds to wait for a stack to build.") +] diff --git a/murano_tempest_tests/plugin.py b/murano_tempest_tests/plugin.py index 9231b09..065ae26 100644 --- a/murano_tempest_tests/plugin.py +++ b/murano_tempest_tests/plugin.py @@ -42,6 +42,9 @@ class MuranoTempestPlugin(plugins.TempestPlugin): config.register_opt_group( conf, config_application_catalog.artifacts_group, config_application_catalog.ArtifactsGroup) + config.register_opt_group( + conf, config_application_catalog.orchestration_group, + config_application_catalog.OrchestrationGroup) def get_opt_lists(self): return [(config_application_catalog.application_catalog_group.name, @@ -51,4 +54,6 @@ class MuranoTempestPlugin(plugins.TempestPlugin): (config.service_available_group.name, config_application_catalog.service_option), (config_application_catalog.artifacts_group.name, - config_application_catalog.ArtifactsGroup)] + config_application_catalog.ArtifactsGroup), + (config_application_catalog.orchestration_group.name, + config_application_catalog.OrchestrationGroup)] diff --git a/murano_tempest_tests/tests/scenario/application_catalog/base.py b/murano_tempest_tests/tests/scenario/application_catalog/base.py index 3eb1c5e..6b7a865 100644 --- a/murano_tempest_tests/tests/scenario/application_catalog/base.py +++ b/murano_tempest_tests/tests/scenario/application_catalog/base.py @@ -53,9 +53,26 @@ class BaseApplicationCatalogScenarioTest(test.BaseTestCase): cls.os_primary.application_catalog_client cls.artifacts_client = cls.os_primary.artifacts_client cls.servers_client = cls.services_manager.servers_client - # NOTE(andreaf) The orchestration client is not initialised in Tempest - # by default anymore. - params = config.service_client_config('orchestration') + params = { + 'disable_ssl_certificate_validation': + CONF.identity.disable_ssl_certificate_validation, + 'ca_certs': CONF.identity.ca_certificates_file, + 'trace_requests': CONF.debug.trace_requests, + 'http_timeout': CONF.service_clients.http_timeout, + 'proxy_url': CONF.service_clients.proxy_url, + 'build_timeout': CONF.orchestration.build_timeout, + 'build_interval': CONF.orchestration.build_interval, + 'endpoint_type': CONF.orchestration.endpoint_type, + 'service': CONF.orchestration.catalog_type + } + options = getattr(CONF, 'orchestration') + # Set region + # If a service client does not define region or region is not set + # default to the identity region + if not hasattr(options, 'region') or not getattr(options, 'region'): + params['region'] = CONF.identity.region + else: + params['region'] = getattr(options, 'region') cls.orchestration_client = orchestration.OrchestrationClient( cls.services_manager.auth_provider, **params) cls.images_client = cls.services_manager.image_client_v2