From fc0d8c601ce627d5f7b8c5e3eef73bd01c6db7d4 Mon Sep 17 00:00:00 2001 From: ShuyaNakama Date: Thu, 14 Dec 2017 17:37:33 +0000 Subject: [vyos_vrouter] Support https endpoints JIRA: FUNCTEST-881 vyos_vrouter did not support https endpoints [1]. I fixed the following two points. 1. Modifying blueprint of Cloudify. 2. Changing nova client of utilvnf module. Point 1 I added command of support https endpoint to blueprint of vyos_vrouter. The Blueprint of vyos_vrouter is on our github repository [2]. I updated our repository. Point 2 I changed nova client of utilvnf module. Utilvnf module is utility module of vyos_vrouter. Nova client of utilvnf module did not support https endpoints. So, I changed to use nova client of snaps. After fixed the source code, I confirmed the vyos_vrouter was succeeded in the following two environments. 1. Our labs (Instoller:fuel, environment of https endpoints) 2. Orange POD (Instoller:compass, environment of http endpoints) [1] https://jira.opnfv.org/browse/FUNCTEST-881 [2] https://github.com/oolorg/opnfv-vnf-vyos-blueprint/blob/master/function-test-openstack-blueprint.yaml Change-Id: I468df0f2486a34bc558ad161eb7de44264549006 Signed-off-by: ShuyaNakama --- .../opnfv_tests/vnf/router/cloudify_vrouter.py | 8 ++--- .../router/test_controller/function_test_exec.py | 5 +--- functest/opnfv_tests/vnf/router/utilvnf.py | 35 ++++------------------ .../vnf/router/vnf_controller/vm_controller.py | 5 +--- 4 files changed, 11 insertions(+), 42 deletions(-) (limited to 'functest/opnfv_tests/vnf') diff --git a/functest/opnfv_tests/vnf/router/cloudify_vrouter.py b/functest/opnfv_tests/vnf/router/cloudify_vrouter.py index 788a94132..f2cd63fb2 100644 --- a/functest/opnfv_tests/vnf/router/cloudify_vrouter.py +++ b/functest/opnfv_tests/vnf/router/cloudify_vrouter.py @@ -112,10 +112,7 @@ class CloudifyVrouter(vrouter_base.VrouterOnBoardingBase): self.__logger.info("Additional pre-configuration steps") - self.util.set_credentials(self.snaps_creds.username, - self.snaps_creds.password, - self.snaps_creds.auth_url, - self.snaps_creds.project_name) + self.util.set_credentials(self.snaps_creds) # needs some images self.__logger.info("Upload some OS images if it doesn't exist") @@ -370,7 +367,8 @@ class CloudifyVrouter(vrouter_base.VrouterOnBoardingBase): def test_vnf(self): cfy_client = self.orchestrator['object'] - credentials = {"username": self.snaps_creds.username, + credentials = {"snaps_creds": self.snaps_creds, + "username": self.snaps_creds.username, "password": self.snaps_creds.password, "auth_url": self.snaps_creds.auth_url, "tenant_name": self.snaps_creds.project_name} diff --git a/functest/opnfv_tests/vnf/router/test_controller/function_test_exec.py b/functest/opnfv_tests/vnf/router/test_controller/function_test_exec.py index 9303aecae..d023d4796 100644 --- a/functest/opnfv_tests/vnf/router/test_controller/function_test_exec.py +++ b/functest/opnfv_tests/vnf/router/test_controller/function_test_exec.py @@ -37,10 +37,7 @@ class FunctionTestExec(object): self.test_cmd_map_yaml = yaml.safe_load(test_cmd_map_file) test_cmd_map_file.close() - self.util.set_credentials(credentials["username"], - credentials["password"], - credentials["auth_url"], - credentials["tenant_name"]) + self.util.set_credentials(credentials["snaps_creds"]) with open(self.util.test_env_config_yaml) as file_fd: test_env_config_yaml = yaml.safe_load(file_fd) diff --git a/functest/opnfv_tests/vnf/router/utilvnf.py b/functest/opnfv_tests/vnf/router/utilvnf.py index c31d6777c..9d196836e 100644 --- a/functest/opnfv_tests/vnf/router/utilvnf.py +++ b/functest/opnfv_tests/vnf/router/utilvnf.py @@ -18,10 +18,9 @@ import yaml from functest.utils.constants import CONST from git import Repo -from novaclient import client as novaclient -from keystoneauth1.identity import v3 -from keystoneauth1 import session from requests.auth import HTTPBasicAuth +from snaps.openstack.utils import nova_utils + RESULT_SPRIT_INDEX = { "transfer": 8, @@ -53,10 +52,7 @@ class Utilvnf(object): logger = logging.getLogger(__name__) def __init__(self): - self.username = "" - self.password = "" - self.auth_url = "" - self.tenant_name = "" + self.snaps_creds = "" data_dir = data_dir = CONST.__getattribute__('dir_router_data') @@ -114,31 +110,12 @@ class Utilvnf(object): self.logger.debug("removed %s" % self.test_result_json_file) def get_nova_client(self): - creds = self.get_nova_credentials() - auth = v3.Password(auth_url=creds['auth_url'], - username=creds['username'], - password=creds['password'], - project_name=creds['tenant_name'], - user_domain_id='default', - project_domain_id='default') - sess = session.Session(auth=auth) - nova_client = novaclient.Client(NOVA_CLIENT_API_VERSION, session=sess) + nova_client = nova_utils.nova_client(self.snaps_creds) return nova_client - def set_credentials(self, username, password, auth_url, tenant_name): - self.username = username - self.password = password - self.auth_url = auth_url - self.tenant_name = tenant_name - - def get_nova_credentials(self): - creds = {} - creds['username'] = self.username - creds['password'] = self.password - creds['auth_url'] = self.auth_url - creds['tenant_name'] = self.tenant_name - return creds + def set_credentials(self, snaps_creds): + self.snaps_creds = snaps_creds def get_address(self, server_name, network_name): nova_client = self.get_nova_client() diff --git a/functest/opnfv_tests/vnf/router/vnf_controller/vm_controller.py b/functest/opnfv_tests/vnf/router/vnf_controller/vm_controller.py index 50487d1ca..d1c2e3242 100644 --- a/functest/opnfv_tests/vnf/router/vnf_controller/vm_controller.py +++ b/functest/opnfv_tests/vnf/router/vnf_controller/vm_controller.py @@ -32,10 +32,7 @@ class VmController(object): credentials = util_info["credentials"] self.util = Utilvnf() - self.util.set_credentials(credentials["username"], - credentials["password"], - credentials["auth_url"], - credentials["tenant_name"]) + self.util.set_credentials(credentials["snaps_creds"]) with open(self.util.test_env_config_yaml) as file_fd: test_env_config_yaml = yaml.safe_load(file_fd) -- cgit 1.2.3-korg