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
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)
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)
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")
"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",
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)
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)
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'])
return env_cred_dict
--def get_credentials():
++def get_credentials(other_creds={}):
"""Returns a creds dictionary filled with parsed from env
"""
creds = {}
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
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
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)
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)
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)
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)
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)
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)