summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShuyaNakama <shuya.nakama@okinawaopenlabs.org>2017-12-14 17:37:33 +0000
committerShuyaNakama <shuya.nakama@okinawaopenlabs.org>2017-12-14 17:37:40 +0000
commitfc0d8c601ce627d5f7b8c5e3eef73bd01c6db7d4 (patch)
treec16e766291612d03494e4c2a4563bddd834ada89
parent7d834311d2828437bc5350efb0792062b59ace56 (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>
-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 f4318d780..8b889d028 100644
--- a/docker/vnf/testcases.yaml
+++ b/docker/vnf/testcases.yaml
@@ -31,7 +31,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 5245079e6..6547ca78a 100644
--- a/functest/ci/testcases.yaml
+++ b/functest/ci/testcases.yaml
@@ -371,7 +371,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 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)