Enable loading of the tempest plugin configuration
Currently the Kingbird tempest plugin configuration items are not loaded when run testr for kingbird in Tempest. Need to register the configuration items and group. After tempest can discover the Kingbird plugin, in the tempest folder, run following command to generate the configuration sample with Kingbird options. oslo-config-generator --config-file etc/config-generator.tempest.con Make sure the Kingbird plugin is installed correctly before the above command (no error should be shown in the following command): sudo pip install entry_point_inspector epi group list epi group show tempest.test_plugins epi ep show tempest.test_plugins kingbird_tests Change-Id: Ibbd9afcebfb51e1e7271904c222e80a2882ef127 Signed-off-by: Chaoyi Huang <joehuang@huawei.com>
This commit is contained in:
parent
13159d8a85
commit
a5afcfe221
@ -15,19 +15,28 @@
|
||||
"""Configurations for Kingbird Tempest Plugin."""
|
||||
|
||||
from oslo_config import cfg
|
||||
from tempest import config # noqa
|
||||
|
||||
service_option = cfg.BoolOpt('kingbird',
|
||||
default=True,
|
||||
help="Whether or not kingbird is expected to be "
|
||||
"available")
|
||||
|
||||
kb_group = cfg.OptGroup(
|
||||
name="kingbird",
|
||||
title="kingbird configuration options")
|
||||
|
||||
KBGroup = [
|
||||
cfg.StrOpt('endpoint_type',
|
||||
cfg.StrOpt(name='endpoint_type',
|
||||
default='publicURL',
|
||||
help="Endpoint type of Kingbird service."),
|
||||
cfg.IntOpt('TIME_TO_SYNC',
|
||||
cfg.IntOpt(name='TIME_TO_SYNC',
|
||||
default=30,
|
||||
help="Maximum time to wait for a sync call to complete."),
|
||||
cfg.StrOpt('endpoint_url',
|
||||
cfg.StrOpt(name='endpoint_url',
|
||||
default='http://127.0.0.1:8118/',
|
||||
help="Endpoint URL of Kingbird service."),
|
||||
cfg.StrOpt('api_version',
|
||||
cfg.StrOpt(name='api_version',
|
||||
default='v1.0',
|
||||
help="Api version of Kingbird service.")
|
||||
]
|
||||
|
@ -18,7 +18,7 @@ import os
|
||||
|
||||
from tempest.test_discover import plugins
|
||||
|
||||
import kingbird.tests.tempest.scenario.config as kb_config
|
||||
from kingbird.tests.tempest.scenario import config as kb_config
|
||||
|
||||
|
||||
class KingbirdTempestPlugin(plugins.TempestPlugin):
|
||||
@ -31,8 +31,11 @@ class KingbirdTempestPlugin(plugins.TempestPlugin):
|
||||
|
||||
def register_opts(self, conf):
|
||||
# additional options for Kingbird
|
||||
conf.register_opts(kb_config.KBGroup,
|
||||
'kingbird')
|
||||
conf.register_group(kb_config.kb_group)
|
||||
conf.register_opts(kb_config.KBGroup, group='kingbird')
|
||||
conf.register_opt(kb_config.service_option,
|
||||
group='service_available')
|
||||
|
||||
def get_opt_lists(self):
|
||||
return [('kingbird', kb_config.KbGroup)]
|
||||
return [('kingbird', kb_config.KBGroup),
|
||||
('service_available', [kb_config.service_option])]
|
||||
|
@ -41,9 +41,9 @@ LOG = logging.getLogger(__name__)
|
||||
|
||||
def get_session():
|
||||
return get_current_session(
|
||||
CONF.identity.username,
|
||||
CONF.identity.password,
|
||||
CONF.identity.project_name
|
||||
CONF.auth.admin_username,
|
||||
CONF.auth.admin_password,
|
||||
CONF.auth.admin_project_name
|
||||
)
|
||||
|
||||
|
||||
@ -53,8 +53,8 @@ def get_current_session(username, password, tenant_name):
|
||||
username=username,
|
||||
password=password,
|
||||
project_name=tenant_name,
|
||||
user_domain_name=CONF.identity.domain_name,
|
||||
project_domain_name=CONF.identity.default_domain_id)
|
||||
user_domain_name=CONF.auth.admin_domain_name,
|
||||
project_domain_name=CONF.auth.admin_domain_name)
|
||||
sess = session.Session(auth=auth)
|
||||
return sess
|
||||
|
||||
@ -63,8 +63,8 @@ def get_openstack_drivers(key_client, region, project_name, user_name,
|
||||
password):
|
||||
# Create Project, User and asign role to new user
|
||||
project = key_client.projects.create(project_name,
|
||||
CONF.identity.domain_name)
|
||||
user = key_client.users.create(user_name, CONF.identity.domain_name,
|
||||
CONF.auth.admin_domain_name)
|
||||
user = key_client.users.create(user_name, CONF.auth.admin_domain_name,
|
||||
project.id, password)
|
||||
admin_role = [current_role.id for current_role in
|
||||
key_client.roles.list() if current_role.name == 'admin'][0]
|
||||
@ -110,6 +110,7 @@ def get_urlstring_and_headers(token, api_url):
|
||||
}
|
||||
url_string = CONF.kingbird.endpoint_url + CONF.kingbird.api_version + \
|
||||
"/" + admin_tenant_id + api_url
|
||||
|
||||
return headers, url_string
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user