refstack: bugfix of testcase failure
[functest.git] / functest / core / vnf_base.py
index daf8b80..f5e8605 100644 (file)
@@ -40,7 +40,8 @@ class VnfOnBoardingBase(base.TestcaseBase):
             self.tenant_description = CONST.__getattribute__(
                 'vnf_{}_tenant_description'.format(self.case_name))
         except:
-            raise Exception("Unknown VNF case=" + self.case_name)
+            # raise Exception("Unknown VNF case=" + self.case_name)
+            self.logger.error("Unknown VNF case={}".format(self.case_name))
 
         try:
             self.images = CONST.__getattribute__(
@@ -51,8 +52,13 @@ class VnfOnBoardingBase(base.TestcaseBase):
     def execute(self):
         self.start_time = time.time()
         # Prepare the test (Create Tenant, User, ...)
-        self.logger.info("Create VNF Onboarding environment")
-        self.prepare()
+        try:
+            self.logger.info("Create VNF Onboarding environment")
+            self.prepare()
+        except Exception:
+            self.logger.error("Error during VNF Onboarding environment" +
+                              "creation", exc_info=True)
+            return base.TestcaseBase.EX_TESTCASE_FAILED
 
         # Deploy orchestrator
         try:
@@ -81,7 +87,7 @@ class VnfOnBoardingBase(base.TestcaseBase):
                 vnf_ready_time - orchestrator_ready_time, 1)
         except Exception:
             self.logger.error("Error during VNF deployment", exc_info=True)
-            raise Exception("Error during VNF deployment")
+            return base.TestcaseBase.EX_TESTCASE_FAILED
 
         # Test VNF
         try:
@@ -94,7 +100,7 @@ class VnfOnBoardingBase(base.TestcaseBase):
                 test_vnf_done_time - vnf_ready_time, 1)
         except Exception:
             self.logger.error("Error when running VNF tests", exc_info=True)
-            raise Exception("Error when running VNF tests")
+            return base.TestcaseBase.EX_TESTCASE_FAILED
 
         # Clean the system
         self.clean()
@@ -230,4 +236,5 @@ class VnfOnBoardingBase(base.TestcaseBase):
         part = inspect.stack()[1][3]
         self.details[part]['status'] = 'FAIL'
         self.details[part]['result'] = error_msg
+        self.logger.error("Step failure:{}".format(error_msg))
         raise Exception(error_msg)