summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShuyaNakama <shuya.nakama@okinawaopenlabs.org>2017-12-14 17:37:33 +0000
committerCédric Ollivier <cedric.ollivier@orange.com>2017-12-17 10:41:10 +0100
commit8bb271b13a6de3b26da5870b4758c4ba938d8238 (patch)
treeda4b0a3e8bfc102f63a3d12efc74ab0b3317696e
parent59e523ca8473754c8a4b7bd986ae1d056e62c553 (diff)
[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 <shuya.nakama@okinawaopenlabs.org> (cherry picked from commit fc0d8c601ce627d5f7b8c5e3eef73bd01c6db7d4)
-rw-r--r--docker/vnf/testcases.yaml2
-rw-r--r--functest/ci/testcases.yaml2
-rw-r--r--functest/opnfv_tests/vnf/router/cloudify_vrouter.py8
-rw-r--r--functest/opnfv_tests/vnf/router/test_controller/function_test_exec.py5
-rw-r--r--functest/opnfv_tests/vnf/router/utilvnf.py35
-rw-r--r--functest/opnfv_tests/vnf/router/vnf_controller/vm_controller.py5
6 files changed, 13 insertions, 44 deletions
diff --git a/docker/vnf/testcases.yaml b/docker/vnf/testcases.yaml
index eccabbe5e..7205ec551 100644
--- a/docker/vnf/testcases.yaml
+++ b/docker/vnf/testcases.yaml
@@ -29,7 +29,7 @@ tiers:
description: >-
This test case is vRouter testing.
dependencies:
- installer: '^((?!compass|fuel).)*$'
+ installer: ''
scenario: 'os-nosdn-nofeature-ha'
run:
module: 'functest.opnfv_tests.vnf.router.cloudify_vrouter'
diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml
index b08b7d674..8e48f42ca 100644
--- a/functest/ci/testcases.yaml
+++ b/functest/ci/testcases.yaml
@@ -397,7 +397,7 @@ tiers:
description: >-
This test case is vRouter testing.
dependencies:
- installer: '^((?!compass|fuel).)*$'
+ installer: ''
scenario: 'os-nosdn-nofeature-ha'
run:
module: 'functest.opnfv_tests.vnf.router.cloudify_vrouter'
diff --git a/functest/opnfv_tests/vnf/router/cloudify_vrouter.py b/functest/opnfv_tests/vnf/router/cloudify_vrouter.py
index ea09b2112..c5aec1a24 100644
--- a/functest/opnfv_tests/vnf/router/cloudify_vrouter.py
+++ b/functest/opnfv_tests/vnf/router/cloudify_vrouter.py
@@ -109,10 +109,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")
@@ -365,7 +362,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)