diff options
-rwxr-xr-x | functest/ci/config_functest.yaml | 22 | ||||
-rwxr-xr-x | functest/opnfv_tests/openstack/examples/create_instance_and_ip.py | 28 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/api_check.py | 18 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/connection_check.py | 18 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/smoke.py | 22 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/snaps_utils.py | 5 | ||||
-rwxr-xr-x | functest/opnfv_tests/vnf/ims/vims.py | 51 | ||||
-rw-r--r-- | functest/utils/functest_constants.py | 20 | ||||
-rwxr-xr-x | functest/utils/openstack_utils.py | 40 |
9 files changed, 113 insertions, 111 deletions
diff --git a/functest/ci/config_functest.yaml b/functest/ci/config_functest.yaml index a63530df..fb438842 100755 --- a/functest/ci/config_functest.yaml +++ b/functest/ci/config_functest.yaml @@ -10,7 +10,7 @@ general: dir_onos_sfc: functest/opnfv_tests/sdn/onos/sfc # Absolute path - dir_home: /home/opnfv + home: /home/opnfv repos: /home/opnfv/repos repo_functest: /home/opnfv/repos/functest dir_repo_rally: /home/opnfv/repos/rally @@ -26,7 +26,7 @@ general: dir_repo_ovno: /home/opnfv/repos/ovno repo_parser: /home/opnfv/repos/parser repo_domino: /home/opnfv/repos/domino - dir_repo_snaps: /home/opnfv/repos/snaps + repo_snaps: /home/opnfv/repos/snaps functest: /home/opnfv/functest functest_test: /home/opnfv/repos/functest/functest/opnfv_tests results: /home/opnfv/functest/results @@ -197,15 +197,15 @@ promise: router_name: promise-router example: - example_vm_name: example-vm - example_flavor: m1.small - example_image_name: functest-example-vm - example_private_net_name: example-net - example_private_subnet_name: example-subnet - example_private_subnet_cidr: 192.168.170.0/24 - example_router_name: example-router - example_sg_name: example-sg - example_sg_descr: Example Security group + vm_name: example-vm + flavor: m1.small + image_name: functest-example-vm + private_net_name: example-net + private_subnet_name: example-subnet + private_subnet_cidr: 192.168.170.0/24 + router_name: example-router + sg_name: example-sg + sg_desc: Example Security group results: test_db_url: http://testresults.opnfv.org/test/api/v1 diff --git a/functest/opnfv_tests/openstack/examples/create_instance_and_ip.py b/functest/opnfv_tests/openstack/examples/create_instance_and_ip.py index 4a9ff713..b4400864 100755 --- a/functest/opnfv_tests/openstack/examples/create_instance_and_ip.py +++ b/functest/opnfv_tests/openstack/examples/create_instance_and_ip.py @@ -14,9 +14,9 @@ import argparse import os import sys +from functest.utils.constants import CONST import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils -import functest.utils.functest_constants as ft_constants parser = argparse.ArgumentParser() @@ -29,26 +29,26 @@ args = parser.parse_args() """ logging configuration """ logger = ft_logger.Logger("create_instance_and_ip").getLogger() -HOME = ft_constants.HOME + "/" +HOME = CONST.dir_home + "/" VM_BOOT_TIMEOUT = 180 -EXAMPLE_INSTANCE_NAME = ft_constants.EXAMPLE_INSTANCE_NAME -EXAMPLE_FLAVOR = ft_constants.EXAMPLE_FLAVOR -EXAMPLE_IMAGE_NAME = ft_constants.EXAMPLE_IMAGE_NAME -IMAGE_FILENAME = ft_constants.GLANCE_IMAGE_FILENAME -IMAGE_FORMAT = ft_constants.GLANCE_IMAGE_FORMAT -IMAGE_PATH = os.path.join(ft_constants.FUNCTEST_DATA_DIR, IMAGE_FILENAME) +EXAMPLE_INSTANCE_NAME = CONST.example_vm_name +EXAMPLE_FLAVOR = CONST.example_flavor +EXAMPLE_IMAGE_NAME = CONST.example_image_name +IMAGE_FILENAME = CONST.openstack_image_file_name +IMAGE_FORMAT = CONST.openstack_image_disk_format +IMAGE_PATH = os.path.join(CONST.dir_functest_data, IMAGE_FILENAME) # NEUTRON Private Network parameters -EXAMPLE_PRIVATE_NET_NAME = ft_constants.EXAMPLE_PRIVATE_NET_NAME -EXAMPLE_PRIVATE_SUBNET_NAME = ft_constants.EXAMPLE_PRIVATE_SUBNET_NAME -EXAMPLE_PRIVATE_SUBNET_CIDR = ft_constants.EXAMPLE_PRIVATE_SUBNET_CIDR -EXAMPLE_ROUTER_NAME = ft_constants.EXAMPLE_ROUTER_NAME +EXAMPLE_PRIVATE_NET_NAME = CONST.example_private_net_name +EXAMPLE_PRIVATE_SUBNET_NAME = CONST.example_private_subnet_name +EXAMPLE_PRIVATE_SUBNET_CIDR = CONST.example_private_subnet_cidr +EXAMPLE_ROUTER_NAME = CONST.example_router_name -EXAMPLE_SECGROUP_NAME = ft_constants.EXAMPLE_SECGROUP_NAME -EXAMPLE_SECGROUP_DESCR = ft_constants.EXAMPLE_SECGROUP_DESCR +EXAMPLE_SECGROUP_NAME = CONST.example_sg_name +EXAMPLE_SECGROUP_DESCR = CONST.example_sg_desc def main(): diff --git a/functest/opnfv_tests/openstack/snaps/api_check.py b/functest/opnfv_tests/openstack/snaps/api_check.py index 27889209..17d05b92 100644 --- a/functest/opnfv_tests/openstack/snaps/api_check.py +++ b/functest/opnfv_tests/openstack/snaps/api_check.py @@ -5,11 +5,13 @@ # # http://www.apache.org/licenses/LICENSE-2.0 -import functest.utils.functest_utils as ft_utils +import unittest + +from snaps import test_suite_builder + from functest.core.pytest_suite_runner import PyTestSuiteRunner from functest.opnfv_tests.openstack.snaps import snaps_utils -from snaps import test_suite_builder -import unittest +from functest.utils.constants import CONST class ApiCheck(PyTestSuiteRunner): @@ -23,10 +25,10 @@ class ApiCheck(PyTestSuiteRunner): self.suite = unittest.TestSuite() self.case_name = "api_check" - creds_file = ft_utils.get_functest_config('general.openstack.creds') - use_key = ft_utils.get_functest_config('snaps.use_keystone') ext_net_name = snaps_utils.get_ext_net_name() - test_suite_builder.add_openstack_api_tests(self.suite, creds_file, - ext_net_name, - use_keystone=use_key) + test_suite_builder.add_openstack_api_tests( + self.suite, + CONST.openstack_creds, + ext_net_name, + use_keystone=CONST.snaps_use_keystone) diff --git a/functest/opnfv_tests/openstack/snaps/connection_check.py b/functest/opnfv_tests/openstack/snaps/connection_check.py index c2f5b102..11f8ad07 100644 --- a/functest/opnfv_tests/openstack/snaps/connection_check.py +++ b/functest/opnfv_tests/openstack/snaps/connection_check.py @@ -5,11 +5,13 @@ # # http://www.apache.org/licenses/LICENSE-2.0 -import functest.utils.functest_utils as ft_utils +import unittest + +from snaps import test_suite_builder + from functest.core.pytest_suite_runner import PyTestSuiteRunner from functest.opnfv_tests.openstack.snaps import snaps_utils -from snaps import test_suite_builder -import unittest +from functest.utils.constants import CONST class ConnectionCheck(PyTestSuiteRunner): @@ -23,10 +25,10 @@ class ConnectionCheck(PyTestSuiteRunner): self.suite = unittest.TestSuite() self.case_name = "connection_check" - creds_file = ft_utils.get_functest_config('general.openstack.creds') - use_key = ft_utils.get_functest_config('snaps.use_keystone') ext_net_name = snaps_utils.get_ext_net_name() - test_suite_builder.add_openstack_client_tests(self.suite, creds_file, - ext_net_name, - use_keystone=use_key) + test_suite_builder.add_openstack_client_tests( + self.suite, + CONST.openstack_creds, + ext_net_name, + use_keystone=CONST.snaps_use_keystone) diff --git a/functest/opnfv_tests/openstack/snaps/smoke.py b/functest/opnfv_tests/openstack/snaps/smoke.py index 691f8138..83eb6600 100644 --- a/functest/opnfv_tests/openstack/snaps/smoke.py +++ b/functest/opnfv_tests/openstack/snaps/smoke.py @@ -5,12 +5,14 @@ # # http://www.apache.org/licenses/LICENSE-2.0 -import functest.utils.functest_utils as ft_utils +import os +import unittest + +from snaps import test_suite_builder + from functest.core.pytest_suite_runner import PyTestSuiteRunner from functest.opnfv_tests.openstack.snaps import snaps_utils -from snaps import test_suite_builder -import unittest -import os +from functest.utils.constants import CONST class SnapsSmoke(PyTestSuiteRunner): @@ -24,18 +26,18 @@ class SnapsSmoke(PyTestSuiteRunner): self.suite = unittest.TestSuite() self.case_name = "snaps_smoke" - creds_file = ft_utils.get_functest_config('general.openstack.creds') - use_key = ft_utils.get_functest_config('snaps.use_keystone') - use_fip = ft_utils.get_functest_config('snaps.use_floating_ips') + use_fip = CONST.snaps_use_floating_ips ext_net_name = snaps_utils.get_ext_net_name() # Tests requiring floating IPs leverage files contained within the # SNAPS repository and are found relative to that path if use_fip: - snaps_dir = ft_utils.get_functest_config( - 'general.dir.dir_repo_snaps') + '/snaps' + snaps_dir = CONST.dir_repo_snaps + '/snaps' os.chdir(snaps_dir) test_suite_builder.add_openstack_integration_tests( - self.suite, creds_file, ext_net_name, use_keystone=use_key, + self.suite, + CONST.openstack_creds, + ext_net_name, + use_keystone=CONST.snaps_use_keystone, use_floating_ips=use_fip) diff --git a/functest/opnfv_tests/openstack/snaps/snaps_utils.py b/functest/opnfv_tests/openstack/snaps/snaps_utils.py index a25ad3e0..4ea1a04a 100644 --- a/functest/opnfv_tests/openstack/snaps/snaps_utils.py +++ b/functest/opnfv_tests/openstack/snaps/snaps_utils.py @@ -5,17 +5,18 @@ # # http://www.apache.org/licenses/LICENSE-2.0 -import functest.utils.functest_utils as ft_utils from snaps.openstack.tests import openstack_tests from snaps.openstack.utils import neutron_utils +from functest.utils.constants import CONST + def get_ext_net_name(): """ Returns the first external network name :return: """ - os_env_file = ft_utils.get_functest_config('general.openstack.creds') + os_env_file = CONST.openstack_creds os_creds = openstack_tests.get_credentials(os_env_file=os_env_file) neutron = neutron_utils.neutron_client(os_creds) ext_nets = neutron_utils.get_external_networks(neutron) diff --git a/functest/opnfv_tests/vnf/ims/vims.py b/functest/opnfv_tests/vnf/ims/vims.py index fe888b69..15981f51 100755 --- a/functest/opnfv_tests/vnf/ims/vims.py +++ b/functest/opnfv_tests/vnf/ims/vims.py @@ -19,10 +19,7 @@ import subprocess 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 +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 +266,7 @@ def main(): 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 +274,10 @@ def main(): 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 +301,8 @@ def main(): "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 +310,22 @@ def main(): 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 +406,6 @@ def main(): 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 +479,6 @@ def main(): 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 --git a/functest/utils/functest_constants.py b/functest/utils/functest_constants.py index dd2caf05..e25d6e02 100644 --- a/functest/utils/functest_constants.py +++ b/functest/utils/functest_constants.py @@ -61,7 +61,7 @@ def get_value(functest_config_key, env_variable): return constant -HOME = get_value('general.dir.dir_home', 'HOME') +HOME = get_value('general.dir.home', 'HOME') REPOS_DIR = get_value('general.dir.repos', 'REPOS_DIR') FUNCTEST_BASE_DIR = get_value('general.dir.functest', 'FUNCTEST_BASE_DIR') @@ -222,24 +222,24 @@ DOCTOR_REPO_DIR = get_value('general.dir.dir_repo_doctor', 'DOCTOR_REPO_DIR') COPPER_REPO_DIR = get_value('general.dir.repo_copper', 'COPPER_REPO_DIR') -EXAMPLE_INSTANCE_NAME = get_value('example.example_vm_name', +EXAMPLE_INSTANCE_NAME = get_value('example.vm_name', 'EXAMPLE_INSTANCE_NAME') -EXAMPLE_FLAVOR = get_value('example.example_flavor', 'EXAMPLE_FLAVOR') -EXAMPLE_IMAGE_NAME = get_value('example.example_image_name', +EXAMPLE_FLAVOR = get_value('example.flavor', 'EXAMPLE_FLAVOR') +EXAMPLE_IMAGE_NAME = get_value('example.image_name', 'EXAMPLE_IMAGE_NAME') -EXAMPLE_PRIVATE_NET_NAME = get_value('example.example_private_net_name', +EXAMPLE_PRIVATE_NET_NAME = get_value('example.private_net_name', 'EXAMPLE_PRIVATE_NET_NAME') EXAMPLE_PRIVATE_SUBNET_NAME = get_value( - 'example.example_private_subnet_name', + 'example.private_subnet_name', 'EXAMPLE_PRIVATE_SUBNET_NAME') EXAMPLE_PRIVATE_SUBNET_CIDR = get_value( - 'example.example_private_subnet_cidr', + 'example.private_subnet_cidr', 'EXAMPLE_PRIVATE_SUBNET_CIDR') -EXAMPLE_ROUTER_NAME = get_value('example.example_router_name', +EXAMPLE_ROUTER_NAME = get_value('example.router_name', 'EXAMPLE_ROUTER_NAME') -EXAMPLE_SECGROUP_NAME = get_value('example.example_sg_name', +EXAMPLE_SECGROUP_NAME = get_value('example.sg_name', 'EXAMPLE_SECGROUP_NAME') -EXAMPLE_SECGROUP_DESCR = get_value('example.example_sg_descr', +EXAMPLE_SECGROUP_DESCR = get_value('example.sg_desc', 'EXAMPLE_SECGROUP_DESCR') VIMS_DATA_DIR = get_value('general.dir.dir_vIMS_data', 'VIMS_DATA_DIR') diff --git a/functest/utils/openstack_utils.py b/functest/utils/openstack_utils.py index ec784121..38a30cb3 100755 --- a/functest/utils/openstack_utils.py +++ b/functest/utils/openstack_utils.py @@ -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,16 @@ def get_credentials(): 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 +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 +162,8 @@ def get_endpoint(service_type, endpoint_type='publicURL'): 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 +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 +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 +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 +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 +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) |