Fix fail of vRouter on Orange POD
authorroot <shuya.nakama@okinawaopenlabs.org>
Tue, 10 Oct 2017 11:08:40 +0000 (11:08 +0000)
committerShuyaNakama <shuya.nakama@okinawaopenlabs.org>
Wed, 11 Oct 2017 08:19:50 +0000 (08:19 +0000)
1. Functest docker container environment has no attribute 'OS_REGION_NAME'
2. vRouter was get the 'OS_REGION_NAME' but not used it.
3. Deleting use 'OS_REGION_NAME' part of vRouter.
4. Utility lib of vRouter use Nova client.
5. Modifying Nova client authentication step for auth api v3.
6. Doing test of modified vRouter on Orange POD.

Change-Id: I062549e5ca48fb4825b53448a4e2ffc8c1f8ec40
Signed-off-by: root <shuya.nakama@okinawaopenlabs.org>
docker/vnf/testcases.yaml
functest/ci/testcases.yaml
functest/opnfv_tests/vnf/router/cloudify_vrouter.py
functest/opnfv_tests/vnf/router/test_controller/function_test_exec.py
functest/opnfv_tests/vnf/router/utilvnf.py
functest/opnfv_tests/vnf/router/vnf_controller/vm_controller.py

index 5db81b8..54e5f29 100644 (file)
@@ -51,14 +51,13 @@ tiers:
             -
                 case_name: vyos_vrouter
                 project_name: functest
-                enabled: false
                 criteria: 100
                 blocking: false
                 description: >-
                     This test case is vRouter testing.
                 dependencies:
                     installer: ''
-                    scenario: 'nosdn-nofeature'
+                    scenario: 'os-nosdn-nofeature-ha'
                 run:
                     module: 'functest.opnfv_tests.vnf.router.cloudify_vrouter'
                     class: 'CloudifyVrouter'
index c2787fa..97b2414 100644 (file)
@@ -421,7 +421,6 @@ tiers:
             -
                 case_name: vyos_vrouter
                 project_name: functest
-                enabled: false
                 criteria: 100
                 blocking: false
                 description: >-
index 8636236..ea09b21 100644 (file)
@@ -368,8 +368,7 @@ class CloudifyVrouter(vrouter_base.VrouterOnBoardingBase):
         credentials = {"username": self.snaps_creds.username,
                        "password": self.snaps_creds.password,
                        "auth_url": self.snaps_creds.auth_url,
-                       "tenant_name": self.snaps_creds.project_name,
-                       "region_name": os.environ['OS_REGION_NAME']}
+                       "tenant_name": self.snaps_creds.project_name}
 
         self.util_info = {"credentials": credentials,
                           "cfy": cfy_client,
index 236447e..9303aec 100644 (file)
@@ -40,8 +40,7 @@ class FunctionTestExec(object):
         self.util.set_credentials(credentials["username"],
                                   credentials["password"],
                                   credentials["auth_url"],
-                                  credentials["tenant_name"],
-                                  credentials["region_name"])
+                                  credentials["tenant_name"])
 
         with open(self.util.test_env_config_yaml) as file_fd:
             test_env_config_yaml = yaml.safe_load(file_fd)
index 084af33..c31d677 100644 (file)
@@ -19,8 +19,8 @@ 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 keystoneauth1 import loading
 from requests.auth import HTTPBasicAuth
 
 RESULT_SPRIT_INDEX = {
@@ -57,7 +57,6 @@ class Utilvnf(object):
         self.password = ""
         self.auth_url = ""
         self.tenant_name = ""
-        self.region_name = ""
 
         data_dir = data_dir = CONST.__getattribute__('dir_router_data')
 
@@ -116,20 +115,22 @@ class Utilvnf(object):
 
     def get_nova_client(self):
         creds = self.get_nova_credentials()
-        loader = loading.get_plugin_loader('password')
-        auth = loader.load_from_options(**creds)
+        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)
 
         return nova_client
 
-    def set_credentials(self, username, password, auth_url,
-                        tenant_name, region_name="RegionOne"):
+    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
-        self.region_name = region_name
 
     def get_nova_credentials(self):
         creds = {}
index cd228fe..50487d1 100644 (file)
@@ -35,8 +35,7 @@ class VmController(object):
         self.util.set_credentials(credentials["username"],
                                   credentials["password"],
                                   credentials["auth_url"],
-                                  credentials["tenant_name"],
-                                  credentials["region_name"])
+                                  credentials["tenant_name"])
 
         with open(self.util.test_env_config_yaml) as file_fd:
             test_env_config_yaml = yaml.safe_load(file_fd)