From: Jose Lausuch Date: Wed, 21 Dec 2016 10:32:03 +0000 (+0000) Subject: Updated vims to support keystone v3 X-Git-Tag: 0.2~990^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=3542fb76b0034228e588d395fd8a64df4eff8100;p=functest-xtesting.git Updated vims to support keystone v3 Adding the choice, into openstack_utils, to get openstack client with environment credentials or with a specific credentials (new user/tenant..) JIRA: FUNCTEST-529 Change-Id: I295808311de40f37a07b5a831852876a51f276f3 Signed-off-by: boucherv --- 3542fb76b0034228e588d395fd8a64df4eff8100 diff --cc functest/opnfv_tests/vnf/ims/vims.py index fe888b69,fe888b69..15981f51 --- a/functest/opnfv_tests/vnf/ims/vims.py +++ b/functest/opnfv_tests/vnf/ims/vims.py @@@ -19,10 -19,10 +19,7 @@@ import subproces import time import argparse --import keystoneclient.v2_0.client as ksclient --import novaclient.client as nvclient import requests --from neutronclient.v2_0 import client as ntclient import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils @@@ -242,17 -242,17 +239,15 @@@ def main() if not os.path.exists(VIMS_DATA_DIR): os.makedirs(VIMS_DATA_DIR) -- ks_creds = os_utils.get_credentials("keystone") -- nv_creds = os_utils.get_credentials("nova") -- nt_creds = os_utils.get_credentials("neutron") ++ creds = os_utils.get_credentials() logger.info("Prepare OpenStack plateform (create tenant and user)") -- keystone = ksclient.Client(**ks_creds) ++ keystone = os_utils.get_keystone_client() -- user_id = os_utils.get_user_id(keystone, ks_creds['username']) ++ user_id = os_utils.get_user_id(keystone, creds['username']) if user_id == '': step_failure("init", "Error : Failed to get id of " + -- ks_creds['username']) ++ creds['username']) tenant_id = os_utils.create_tenant( keystone, VIMS_TENANT_NAME, VIMS_TENANT_DESCRIPTION) @@@ -271,7 -271,7 +266,7 @@@ if not os_utils.add_role_user(keystone, user_id, role_id, tenant_id): logger.error("Error : Failed to add %s on tenant" % -- ks_creds['username']) ++ creds['username']) user_id = os_utils.create_user( keystone, VIMS_TENANT_NAME, VIMS_TENANT_NAME, None, tenant_id) @@@ -279,18 -279,18 +274,10 @@@ logger.error("Error : Failed to create %s user" % VIMS_TENANT_NAME) logger.info("Update OpenStack creds informations") -- ks_creds.update({ ++ creds.update({ "username": VIMS_TENANT_NAME, "password": VIMS_TENANT_NAME, -- "tenant_name": VIMS_TENANT_NAME, -- }) -- -- nt_creds.update({ -- "tenant_name": VIMS_TENANT_NAME, -- }) -- -- nv_creds.update({ -- "project_id": VIMS_TENANT_NAME, ++ "tenant": VIMS_TENANT_NAME, }) logger.info("Upload some OS images if it doesn't exist") @@@ -314,10 -314,10 +301,8 @@@ "Error : Failed to find or upload required OS " "image for this deployment") -- nova = nvclient.Client("2", **nv_creds) -- logger.info("Update security group quota for this tenant") -- neutron = ntclient.Client(**nt_creds) ++ neutron = os_utils.get_neutron_client(creds) if not os_utils.update_sg_quota(neutron, tenant_id, 50, 100): step_failure( "init", @@@ -325,17 -325,17 +310,22 @@@ VIMS_TENANT_NAME) # ############### CLOUDIFY INITIALISATION ################ -- public_auth_url = keystone.service_catalog.url_for( -- service_type='identity', endpoint_type='publicURL') ++ public_auth_url = os_utils.get_endpoint('identity') cfy = Orchestrator(VIMS_DATA_DIR, CFY_INPUTS) -- cfy.set_credentials(username=ks_creds['username'], password=ks_creds[ -- 'password'], tenant_name=ks_creds['tenant_name'], ++ if 'tenant_name' in creds.keys(): ++ tenant_name = creds['tenant_name'] ++ elif 'project_name' in creds.keys(): ++ tenant_name = creds['project_name'] ++ ++ cfy.set_credentials(username=creds['username'], ++ password=creds['password'], ++ tenant_name=tenant_name, auth_url=public_auth_url) logger.info("Collect flavor id for cloudify manager server") -- nova = nvclient.Client("2", **nv_creds) ++ nova = os_utils.get_nova_client(creds) flavor_name = "m1.large" flavor_id = os_utils.get_flavor_id(nova, flavor_name) @@@ -416,7 -416,7 +406,6 @@@ cw = Clearwater(CW_INPUTS, cfy, logger) logger.info("Collect flavor id for all clearwater vm") -- nova = nvclient.Client("2", **nv_creds) flavor_name = "m1.small" flavor_id = os_utils.get_flavor_id(nova, flavor_name) @@@ -490,10 -490,10 +479,6 @@@ if args.noclean: exit(0) -- ks_creds = os_utils.get_credentials("keystone") -- -- keystone = ksclient.Client(**ks_creds) -- logger.info("Removing %s tenant .." % CFY_INPUTS['keystone_tenant_name']) tenant_id = os_utils.get_tenant_id( keystone, CFY_INPUTS['keystone_tenant_name']) diff --cc functest/utils/openstack_utils.py index ec784121,ec784121..38a30cb3 --- a/functest/utils/openstack_utils.py +++ b/functest/utils/openstack_utils.py @@@ -86,7 -86,7 +86,7 @@@ def get_env_cred_dict() return env_cred_dict --def get_credentials(): ++def get_credentials(other_creds={}): """Returns a creds dictionary filled with parsed from env """ creds = {} @@@ -99,6 -99,6 +99,16 @@@ else: creds_key = env_cred_dict.get(envvar) creds.update({creds_key: os.getenv(envvar)}) ++ ++ if 'tenant' in other_creds.keys(): ++ if is_keystone_v3(): ++ tenant = 'project_name' ++ else: ++ tenant = 'tenant_name' ++ other_creds[tenant] = other_creds.pop('tenant') ++ ++ creds.update(other_creds) ++ return creds @@@ -138,9 -138,9 +148,9 @@@ def get_credentials_for_rally() return rally_conf --def get_session_auth(): ++def get_session_auth(other_creds={}): loader = loading.get_plugin_loader('password') -- creds = get_credentials() ++ creds = get_credentials(other_creds) auth = loader.load_from_options(**creds) return auth @@@ -152,8 -152,8 +162,8 @@@ def get_endpoint(service_type, endpoint endpoint_type=endpoint_type) --def get_session(): -- auth = get_session_auth() ++def get_session(other_creds={}): ++ auth = get_session_auth(other_creds) return session.Session(auth=auth) @@@ -169,8 -169,8 +179,8 @@@ def get_keystone_client_version() return DEFAULT_API_VERSION --def get_keystone_client(): -- sess = get_session() ++def get_keystone_client(other_creds={}): ++ sess = get_session(other_creds) return keystoneclient.Client(get_keystone_client_version(), session=sess) @@@ -183,8 -183,8 +193,8 @@@ def get_nova_client_version() return DEFAULT_API_VERSION --def get_nova_client(): -- sess = get_session() ++def get_nova_client(other_creds={}): ++ sess = get_session(other_creds) return novaclient.Client(get_nova_client_version(), session=sess) @@@ -197,8 -197,8 +207,8 @@@ def get_cinder_client_version() return DEFAULT_API_VERSION --def get_cinder_client(): -- sess = get_session() ++def get_cinder_client(other_creds={}): ++ sess = get_session(other_creds) return cinderclient.Client(get_cinder_client_version(), session=sess) @@@ -211,8 -211,8 +221,8 @@@ def get_neutron_client_version() return DEFAULT_API_VERSION --def get_neutron_client(): -- sess = get_session() ++def get_neutron_client(other_creds={}): ++ sess = get_session(other_creds) return neutronclient.Client(get_neutron_client_version(), session=sess) @@@ -224,8 -224,8 +234,8 @@@ def get_glance_client_version() return DEFAULT_API_VERSION --def get_glance_client(): -- sess = get_session() ++def get_glance_client(other_creds={}): ++ sess = get_session(other_creds) return glanceclient.Client(get_glance_client_version(), session=sess)