Push FAIL to DB for onos-sfc 19/21119/1
authorwuwenbin2 <wuwenbin2@huawei.com>
Mon, 12 Sep 2016 02:19:29 +0000 (10:19 +0800)
committerJose Lausuch <jose.lausuch@ericsson.com>
Wed, 14 Sep 2016 10:15:39 +0000 (10:15 +0000)
Change-Id: Ifae2cba32d9a0df44ae46e642129931692f65a7c
Signed-off-by: wuwenbin2 <wuwenbin2@huawei.com>
(cherry picked from commit f551726bb9ec6ea77f76c66869daf9a1a4596bb5)

testcases/Controllers/ONOS/Sfc/Sfc.py

index 2861198..bea2828 100644 (file)
@@ -36,110 +36,52 @@ CREATED = 201
 ACCEPTED = 202
 NO_CONTENT = 204
 
+start_time = time.time()
+
 
 def PreConfig():
     logger.info("Testcase 1 : Prerequisites configuration for SFC")
     logger.info("1.1 Creation of Auth-Token")
-    if (Sfc_obj.getToken() == OK):
-        logger.info("Creation of Token is successfull")
-    else:
-        logger.error("  :  Creation of Token is NOT successfull")
-        fail()
+    check(Sfc_obj.getToken, OK, "Creation of Token")
     logger.info("1.2 Creation of Network")
-    if (Sfc_obj.createNetworks() == CREATED):
-        logger.info("Creation of network is successfull")
-    else:
-        logger.error("  :  Creation of network is NOT successfull")
-        fail()
+    check(Sfc_obj.createNetworks, CREATED, "Creation of network")
     logger.info("1.3 Creation of Subnetwork")
-
-    if (Sfc_obj.createSubnets() == CREATED):
-        logger.info("Creation of Subnetwork is successfull")
-    else:
-        logger.error("  :  Creation of Subnetwork is NOT successfull")
-        fail()
+    check(Sfc_obj.createSubnets, CREATED, "Creation of Subnetwork")
 
 
 def CreateNodes():
     logger.info("Testcase 2 : Creation of 3 VNF Nodes and Attaching Ports")
     logger.info("2.1 Creation of Ports")
-    if (Sfc_obj.createPorts() == CREATED):
-        logger.info("Creation of Port is successfull")
-    else:
-        logger.error("  :  Creation of Port is NOT successfull")
-        fail()
+    check(Sfc_obj.createPorts, CREATED, "Creation of Port")
     logger.info("2.2 Creation of VM-Compute-Node")
-    if (Sfc_obj.createVm() == ACCEPTED):
-        logger.info("Creation of VM is successfull")
-    else:
-        logger.error("  :  Creation of VM is NOT successfull")
-        fail()
+    check(Sfc_obj.createVm, ACCEPTED, "Creation of VM")
     logger.info("2.3 Check VM Status")
-    if (Sfc_obj.checkVmState() == OK):
-        logger.info("VM are in active state")
-    else:
-        logger.error("  :   VM is NOT Active")
-        fail()
+    check(Sfc_obj.checkVmState, OK, "Vm statue check")
     logger.info("2.4 Router Creation")
-    if (Sfc_obj.createRouter() == CREATED):
-        logger.info("Creation of Router is Successful")
-    else:
-        logger.error("  :   Router Creation is NOT Successful")
-        fail()
+    check(Sfc_obj.createRouter, CREATED, "Creation of Router")
     logger.info("2.5 Attachement of Interface to VM")
-    if (Sfc_obj.attachInterface() == OK):
-        logger.info("Interface attached to VM")
-    else:
-        logger.error("  :   Interface NOT attached to VM")
-        fail()
+    check(Sfc_obj.attachInterface, OK, "Interface attached to VM")
     logger.info("2.6 Attachement of FLoating Ip to VM")
-    if (Sfc_obj.addFloatingIp() == ACCEPTED):
-        logger.info("Floating Ip attached to VM SUccessful")
-    else:
-        logger.error("  :   Floating Ip NOT attached to VM ")
-        fail()
+    check(Sfc_obj.addFloatingIp, ACCEPTED, "Floating Ip attached to VM")
 
 
 def ConfigSfc():
     logger.info(
         "Testcase 3 : Configure SFC [Portair,PortGroup,Flow classifer]")
     logger.info("3.1 Creation of Port Pair")
-    if (Sfc_obj.createPortPair() == CREATED):
-        logger.info("Creation of Port pair is successful")
-    else:
-        logger.error("  :  Creation of Port pair is NOT successful")
-        fail()
+    check(Sfc_obj.createPortPair, CREATED, "Creation of Port Pair")
     logger.info("3.2 Getting the  Port Pair ID")
-    if (Sfc_obj.getPortPair() == OK):
-        logger.info("Port Pair ID is successfully got")
-    else:
-        logger.error("  :  UnSuccessfully got Port Pair ID")
-        fail()
+    check(Sfc_obj.getPortPair, OK, "Getting Port Pair ID")
     logger.info("3.3 Creation of Port Pair Group")
-    if (Sfc_obj.createPortGroup() == CREATED):
-        logger.info("Creation of Port Pair Group is successful")
-    else:
-        logger.error("  :  Creation of Port Pair Group is NOT successful")
-        fail()
+    check(Sfc_obj.createPortGroup, CREATED, "Creation of Port Pair Group")
     logger.info("3.4 Getting Port Pair Group ID ")
-    if (Sfc_obj.getPortGroup() == OK):
-        logger.info("Port Pair Group ID is successfully received")
-    else:
-        logger.error("  :  Port Pair Group ID is NOT successfully got")
-        fail()
+    check(Sfc_obj.getPortGroup, OK, "Getting Port Pair Group ID")
     logger.info("3.5 Creation of Flow Classifier")
-    if (Sfc_obj.createFlowClassifier() == CREATED):
-        logger.info("Creation of Flow Classifier is successful")
-    else:
-        logger.error("  :  Creation of Flow Classifier is NOT successful")
-        fail()
+    check(Sfc_obj.createFlowClassifier, CREATED, "Creation of Flow Classifier")
     logger.info(
         "Testcase 4 : Configure Port Chain and verify flows are added")
     logger.info("4.1 Creation of Port Chain")
-    if (Sfc_obj.createPortChain() == CREATED):
-        logger.info("Creation of Port Chain is successful")
-    else:
-        logger.error("Creation of Port Chain is NOT successful")
+    check(Sfc_obj.createPortChain, CREATED,  "Creation of Port Chain")
 
 
 def VerifySfcTraffic():
@@ -148,7 +90,7 @@ def VerifySfcTraffic():
     if (Sfc_obj.loginToVM() == "1"):
         logger.info("SFC function Working")
     else:
-        logger.error("  :  SFC function not working")
+        logger.error("SFC function not working")
         status = "FAIL"
 
     logger.info("Testcase 6 : Remove the Port Chain and Verify the traffic")
@@ -156,7 +98,7 @@ def VerifySfcTraffic():
         if (Sfc_obj.loginToVM() == "0"):
             logger.info("SFC function is removed Successfully")
         else:
-            logger.error(":SFC function not Removed. Have some problem")
+            logger.error("SFC function not Removed. Have some problem")
             status = "FAIL"
         if (Sfc_obj.deleteFlowClassifier() == NO_CONTENT):
             if (Sfc_obj.deletePortGroup() == NO_CONTENT):
@@ -164,23 +106,19 @@ def VerifySfcTraffic():
                     logger.info(
                         "SFC configuration is deleted successfully")
                 else:
-                    logger.error("  :  Port pair configuration is NOT\
-                                  deleted successfully")
+                    logger.error("Port pair is deleted successfully")
                     status = "FAIL"
             else:
-                logger.error("  :  Port Group configuration is NOT \
-                             deleted successfully")
+                logger.error("Port Group is NOT deleted successfully")
                 status = "FAIL"
         else:
-                logger.error("  :  Flow classifier configuration is NOT \
-                             deleted successfully")
-                status = "FAIL"
+            logger.error("Flow classifier is NOT deleted successfully")
+            status = "FAIL"
     else:
-        logger.error(":PortChain configuration is NOT deleted \
-                     successfully")
+        logger.error("PortChain configuration is NOT deleted successfully")
         status = "FAIL"
     if (status == "FAIL"):
-        fail()
+        fail("Traffic for SFC is NOT verified successfully")
 
 
 def CleanUp():
@@ -188,23 +126,24 @@ def CleanUp():
     if (Sfc_obj.cleanup() == NO_CONTENT):
         logger.info("CleanUp is successfull")
     else:
-        logger.error("  :  CleanUp is NOT successfull")
+        logger.error("CleanUp is NOT successfull")
+
+
+def check(method, criteria, msg):
+    if (method() == criteria):
+        logger.info(msg + 'is Successful')
+    else:
+        fail(msg + 'is not successful')
 
 
-def fail():
+def fail(fail_info):
+    logger.error(fail_info)
     CleanUp()
+    PushDB("FAIL", fail_info)
     exit(-1)
 
 
-def main():
-    """Script to Test the SFC scenarios in ONOS."""
-    start_time = time.time()
-    PreConfig()
-    CreateNodes()
-    ConfigSfc()
-    VerifySfcTraffic()
-    CleanUp()
-    status = "PASS"
+def PushDB(status, info):
     logger.info("Summary :")
     try:
         logger.debug("Push ONOS SFC results into DB")
@@ -218,11 +157,21 @@ def main():
                                           start_time,
                                           stop_time,
                                           status,
-                                          details={'timestart': start_time,
-                                                   'duration': duration,
-                                                   'status': status})
+                                          details={'duration': duration,
+                                                   'error': info})
     except:
         logger.error("Error pushing results into Database")
 
+
+def main():
+    """Script to Test the SFC scenarios in ONOS."""
+    PreConfig()
+    CreateNodes()
+    ConfigSfc()
+    VerifySfcTraffic()
+    CleanUp()
+    PushDB("PASS", "")
+
+
 if __name__ == '__main__':
     main()