summaryrefslogtreecommitdiffstats
path: root/testcases/Controllers/ONOS/Sfc/Sfc.py
diff options
context:
space:
mode:
Diffstat (limited to 'testcases/Controllers/ONOS/Sfc/Sfc.py')
-rw-r--r--testcases/Controllers/ONOS/Sfc/Sfc.py321
1 files changed, 158 insertions, 163 deletions
diff --git a/testcases/Controllers/ONOS/Sfc/Sfc.py b/testcases/Controllers/ONOS/Sfc/Sfc.py
index 99d07aaed..28611982b 100644
--- a/testcases/Controllers/ONOS/Sfc/Sfc.py
+++ b/testcases/Controllers/ONOS/Sfc/Sfc.py
@@ -1,7 +1,7 @@
"""Script to Test the SFC scenarios in ONOS."""
# !/usr/bin/python
#
-# Copyright (c) 2015 All rights reserved
+# Copyright (c) CREATED5 All rights reserved
# This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
@@ -15,198 +15,196 @@
# Testcase 1 : Prerequisites configuration for SFC
# Testcase 2 : Creation of 3 VNF Nodes and Attaching Ports
-# TestCase 3 : Configure SFC [Port pair,Port Group ,Flow classifer
-# TestCase 4 : Configure Port Chain and verify the flows are added.
-# TestCase 5 : Verify traffic with VNF node.
-# TestCase 6 : Remove the Port Chain and Verify the traffic.
+# Testcase 3 : Configure SFC [Port pair,Port Group ,Flow classifer
+# Testcase 4 : Configure Port Chain and verify the flows are added.
+# Testcase 5 : Verify traffic with VNF node.
+# Testcase 6 : Remove the Port Chain and Verify the traffic.
# Testcase 7 : Cleanup
# ###########################################################################
#
+import time
import functest.utils.functest_logger as ft_logger
import functest.utils.functest_utils as functest_utils
-import time
from Sfc_fun import Sfc_fun
+logger = ft_logger.Logger("sfc").getLogger()
+Sfc_obj = Sfc_fun()
-class Sfc:
- """Script to Test the SFC scenarios in ONOS."""
- logger = ft_logger.Logger("sfc").getLogger()
- Sfc_obj = Sfc_fun()
- start_time = time.time()
- status = "PASS"
- print("################################################################")
- print(" OPNFV SFC Script ")
- print("################################################################")
+OK = 200
+CREATED = 201
+ACCEPTED = 202
+NO_CONTENT = 204
+
+
+def PreConfig():
logger.info("Testcase 1 : Prerequisites configuration for SFC")
- #########################################################################
- logger.info("\t1.1 Creation of Auth-Token")
- if (Sfc_obj.getToken() == 200):
- logger.info("\t\tCreation of Token is successfull")
- else:
- status = "FAIL"
- logger.error("\t\t : Creation of Token is NOT successfull")
- #########################################################################
- logger.info("\t1.2 Creation of Network")
- if (Sfc_obj.createNetworks() == 201):
- logger.info("\t\tCreation of network is successfull")
- else:
- status = "FAIL"
- logger.error("\t\t : Creation of network is NOT successfull")
- #########################################################################
- logger.info("\t1.3 Creation of Subnetwork")
- if (Sfc_obj.createSubnets() == 201):
- logger.info("\t\tCreation of Subnetwork is successfull")
- else:
- status = "FAIL"
- logger.error("\t\t : Creation of Subnetwork is NOT successfull")
- print ("\n###########################################################\n")
- ########################################################################
- logger.info("Testcase 2 : Creation of 3 VNF Nodes and Attaching Ports")
- #########################################################################
- logger.info("\t2.1 Creation of Ports")
- if (Sfc_obj.createPorts() == 201):
- logger.info("\t\tCreation of Port is successfull")
- else:
- status = "FAIL"
- logger.error("\t\t : Creation of Port is NOT successfull")
- #########################################################################
- logger.info("\t2.2 Creation of VM-Compute-Node")
- if (Sfc_obj.createVm() == 202):
- logger.info("\t\tCreation of VM is successfull")
- else:
- status = "FAIL"
- logger.error("\t\t : Creation of VM is NOT successfull")
- #########################################################################
- logger.info("\t2.3 Check VM Status")
- if (Sfc_obj.checkVmState() == 200):
- logger.info("\t\tVM are in active state")
- else:
- status = "FAIL"
- logger.error("\t\t : VM is NOT Active")
- #########################################################################
- logger.info("\t\t2.4 Router Creation")
- if (Sfc_obj.createRouter() == 201):
- logger.info("\t\t Router Creation is Successful")
- else:
- status = "FAIL"
- logger.error("\t\t : Router Creation is NOT Successful")
- #########################################################################
- logger.info("\t\t2.5 Attachement of Interface to VM")
- if (Sfc_obj.attachInterface() == 200):
- logger.info("\t\t Interface attached to VM")
- else:
- status = "FAIL"
- logger.error("\t\t : Interface NOT attached to VM")
- #########################################################################
- logger.info("\t\t2.6 Attachement of FLoating Ip to VM")
- if (Sfc_obj.addFloatingIp() == 202):
- logger.info("\t\t Floating Ip attached to VM SUccessful")
- else:
- status = "FAIL"
- logger.error("\t\t : Floating Ip NOT attached to VM ")
- print ("\n###########################################################\n")
- ########################################################################
- logger.info(
- "TestCase 3 : Configure SFC [Portair,PortGroup,Flow classifer]")
- #########################################################################
- logger.info("\t3.1 Creation of Port Pair")
- if (Sfc_obj.createPortPair() == 201):
- logger.info("\t\tCreation of Port pair is successful")
- else:
- status = "FAIL"
- logger.error("\t\t : Creation of Port pair is NOT successful")
+ 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()
+ 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()
+ logger.info("1.3 Creation of Subnetwork")
- #########################################################################
- logger.info("\t3.2 Getting the Port Pair ID")
- if (Sfc_obj.getPortPair() == 200):
- logger.info("\t\tSuccessfully got Port Pair ID")
+ if (Sfc_obj.createSubnets() == CREATED):
+ logger.info("Creation of Subnetwork is successfull")
else:
- status = "FAIL"
- logger.error("\t\t : UnSuccessfully got Port Pair ID")
+ logger.error(" : Creation of Subnetwork is NOT successfull")
+ fail()
- #########################################################################
- logger.info("\t3.3 Creation of Port Pair Group")
- if (Sfc_obj.createPortGroup() == 201):
- logger.info("\t\tPort Pair Group successfully Created")
- else:
- status = "FAIL"
- logger.error("\t\t : Port Pair Group NOT successfully Created")
- #########################################################################
- logger.info("\t3.4 Getting Port Pair Group ID ")
+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()
+ 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()
+ 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()
+ 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()
+ 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()
+ 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()
- if (Sfc_obj.getPortGroup() == 200):
- logger.info("\t\tPort Pair Group ID successfully received")
- else:
- status = "FAIL"
- logger.error("\t\t : Port Pair Group ID NOT successfully received")
- #########################################################################
- logger.info("\t3.5 Creation of Flow Classifier")
- if (Sfc_obj.createFlowClassifier() == 201):
- logger.info("\t\tFlow Classifier successfully Created")
- else:
- status = "FAIL"
- logger.error("\t\t : Flow Classifier NOT successfully Created")
- print ("\n###########################################################\n")
- ########################################################################
+def ConfigSfc():
logger.info(
- "TestCase 4 : Configure Port Chain and verify flows are added")
- #########################################################################
- logger.info("\t4.1 Creation of PortChain")
- if (Sfc_obj.createPortChain() == 201):
- logger.info("\t\tPortChain successfully Created")
+ "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()
+ 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()
+ 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()
+ 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()
+ 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()
+ 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:
- status = "FAIL"
- logger.error("\t\tPortChain NOT successfully Created")
- print ("\n###########################################################\n")
- #########################################################################
- logger.info("\tTestCase 5 : Verify traffic with VNF node.")
+ logger.error("Creation of Port Chain is NOT successful")
+
+
+def VerifySfcTraffic():
+ status = "PASS"
+ logger.info("Testcase 5 : Verify traffic with VNF node.")
if (Sfc_obj.loginToVM() == "1"):
- logger.info("\t\tSFC function Working")
+ logger.info("SFC function Working")
else:
+ logger.error(" : SFC function not working")
status = "FAIL"
- logger.error("\t\t : SFC function not working")
- print ("\n###########################################################\n")
- #########################################################################
- logger.info("TestCase 6 : Remove the Port Chain and Verify the traffic")
- if (Sfc_obj.deletePortChain() == 204):
+
+ logger.info("Testcase 6 : Remove the Port Chain and Verify the traffic")
+ if (Sfc_obj.deletePortChain() == NO_CONTENT):
if (Sfc_obj.loginToVM() == "0"):
- logger.info("\t\tSFC function is removed Successfully")
+ logger.info("SFC function is removed Successfully")
else:
+ logger.error(":SFC function not Removed. Have some problem")
status = "FAIL"
- logger.error("\t\t:SFC function not Removed.Have some problem")
- if (Sfc_obj.deleteFlowClassifier() == 204):
- if (Sfc_obj.deletePortGroup() == 204):
- if (Sfc_obj.deletePortPair() == 204):
+ if (Sfc_obj.deleteFlowClassifier() == NO_CONTENT):
+ if (Sfc_obj.deletePortGroup() == NO_CONTENT):
+ if (Sfc_obj.deletePortPair() == NO_CONTENT):
logger.info(
- "\t\tSFC configuration is deleted successfully")
+ "SFC configuration is deleted successfully")
else:
- status = "FAIL"
- logger.error("\t\t : Port pair configuration is NOT\
+ logger.error(" : Port pair configuration is NOT\
deleted successfully")
+ status = "FAIL"
else:
- status = "FAIL"
- logger.error("\t\t : Port Group configuration is NOT \
+ logger.error(" : Port Group configuration is NOT \
deleted successfully")
- else:
status = "FAIL"
- logger.error("\t\t : Flow classifier configuration is NOT \
+ else:
+ logger.error(" : Flow classifier configuration is NOT \
deleted successfully")
+ status = "FAIL"
else:
- status = "FAIL"
- logger.error("\t\t:PortChain configuration is NOT deleted \
+ logger.error(":PortChain configuration is NOT deleted \
successfully")
- print ("\n###########################################################n")
- #######################################################################
+ status = "FAIL"
+ if (status == "FAIL"):
+ fail()
+
+
+def CleanUp():
logger.info("Testcase 7 : Cleanup")
- if (Sfc_obj.cleanup() == 204):
- logger.info("\t\tCleanUp is successfull")
+ if (Sfc_obj.cleanup() == NO_CONTENT):
+ logger.info("CleanUp is successfull")
else:
- status = "FAIL"
- logger.error("\t\t : CleanUp is NOT successfull")
- print ("###############################################################")
+ logger.error(" : CleanUp is NOT successfull")
+
+
+def fail():
+ CleanUp()
+ exit(-1)
+
+
+def main():
+ """Script to Test the SFC scenarios in ONOS."""
+ start_time = time.time()
+ PreConfig()
+ CreateNodes()
+ ConfigSfc()
+ VerifySfcTraffic()
+ CleanUp()
+ status = "PASS"
logger.info("Summary :")
try:
logger.debug("Push ONOS SFC results into DB")
@@ -226,8 +224,5 @@ class Sfc:
except:
logger.error("Error pushing results into Database")
- if status == "FAIL":
- EXIT_CODE = -1
- exit(EXIT_CODE)
-
- print("############################END OF SCRIPT ######################")
+if __name__ == '__main__':
+ main()