Merge "fix dependency handle name"
diff --git a/TestON/drivers/common/cli/emulator/mininetclidriver.py b/TestON/drivers/common/cli/emulator/mininetclidriver.py
index 8165d3a..3eb5577 100644
--- a/TestON/drivers/common/cli/emulator/mininetclidriver.py
+++ b/TestON/drivers/common/cli/emulator/mininetclidriver.py
@@ -2174,71 +2174,80 @@
returns: A list of flows in json format
'''
jsonFlowTable = []
- for flow in flowTable:
- jsonFlow = {}
- # split up the fields of the flow
- parsedFlow = flow.split(", ")
- # get rid of any spaces in front of the field
- for i in range( len(parsedFlow) ):
- item = parsedFlow[i]
- if item[0] == " ":
- parsedFlow[i] = item[1:]
- # grab the selector and treatment from the parsed flow
- # the last element is the selector and the treatment
- temp = parsedFlow.pop(-1)
- # split up the selector and the treatment
- temp = temp.split(" ")
- index = 0
- # parse the flags
- # NOTE: This only parses one flag
- flag = {}
- if version == "1.3":
- flag = {"flag":[temp[index]]}
+ try:
+ for flow in flowTable:
+ jsonFlow = {}
+ # split up the fields of the flow
+ parsedFlow = flow.split(", ")
+ # get rid of any spaces in front of the field
+ for i in range( len(parsedFlow) ):
+ item = parsedFlow[i]
+ if item[0] == " ":
+ parsedFlow[i] = item[1:]
+ # grab the selector and treatment from the parsed flow
+ # the last element is the selector and the treatment
+ temp = parsedFlow.pop(-1)
+ # split up the selector and the treatment
+ temp = temp.split(" ")
+ index = 0
+ # parse the flags
+ # NOTE: This only parses one flag
+ flag = {}
+ if version == "1.3":
+ flag = {"flag":[temp[index]]}
+ index += 1
+ # the first element is the selector and split it up
+ sel = temp[index]
index += 1
- # the first element is the selector and split it up
- sel = temp[index]
- index += 1
- sel = sel.split(",")
- # the priority is stuck in the selecter so put it back
- # in the flow
- parsedFlow.append(sel.pop(0))
- # parse selector
- criteria = []
- for item in sel:
- # this is the type of the packet e.g. "arp"
- if "=" not in item:
- criteria.append( {"type":item} )
- else:
+ sel = sel.split(",")
+ # the priority is stuck in the selecter so put it back
+ # in the flow
+ parsedFlow.append(sel.pop(0))
+ # parse selector
+ criteria = []
+ for item in sel:
+ # this is the type of the packet e.g. "arp"
+ if "=" not in item:
+ criteria.append( {"type":item} )
+ else:
+ field = item.split("=")
+ criteria.append( {field[0]:field[1]} )
+ selector = {"selector": {"criteria":sorted(criteria)} }
+ treat = temp[index]
+ # get rid of the action part e.g. "action=output:2"
+ # we will add it back later
+ treat = treat.split("=")
+ treat.pop(0)
+ # parse treatment
+ action = []
+ for item in treat:
+ field = item.split(":")
+ action.append( {field[0]:field[1]} )
+ # create the treatment field and add the actions
+ treatment = {"treatment": {"action":sorted(action)} }
+ # parse the rest of the flow
+ for item in parsedFlow:
field = item.split("=")
- criteria.append( {field[0]:field[1]} )
- selector = {"selector": {"criteria":sorted(criteria)} }
- treat = temp[index]
- # get rid of the action part e.g. "action=output:2"
- # we will add it back later
- treat = treat.split("=")
- treat.pop(0)
- # parse treatment
- action = []
- for item in treat:
- field = item.split(":")
- action.append( {field[0]:field[1]} )
- # create the treatment field and add the actions
- treatment = {"treatment": {"action":sorted(action)} }
- # parse the rest of the flow
- for item in parsedFlow:
- field = item.split("=")
- jsonFlow.update( {field[0]:field[1]} )
- # add the treatment and the selector to the json flow
- jsonFlow.update( selector )
- jsonFlow.update( treatment )
- jsonFlow.update( flag )
+ jsonFlow.update( {field[0]:field[1]} )
+ # add the treatment and the selector to the json flow
+ jsonFlow.update( selector )
+ jsonFlow.update( treatment )
+ jsonFlow.update( flag )
- if debug: main.log.debug( "\033[94mJson flow:\033[0m\n{}\n".format(jsonFlow) )
+ if debug: main.log.debug( "\033[94mJson flow:\033[0m\n{}\n".format(jsonFlow) )
- # add the json flow to the json flow table
- jsonFlowTable.append( jsonFlow )
+ # add the json flow to the json flow table
+ jsonFlowTable.append( jsonFlow )
- return jsonFlowTable
+ return jsonFlowTable
+
+ except IndexError:
+ main.log.exception( self.name + ": IndexError found" )
+ return None
+ except Exception:
+ main.log.exception( self.name + ": Uncaught exception!" )
+ main.cleanup()
+ main.exit()
def getFlowTable( self, sw, version="", debug=False):
'''
diff --git a/TestON/tests/HA/HAscaling/HAscaling.params b/TestON/tests/HA/HAscaling/HAscaling.params
index ff4e306..388f432 100644
--- a/TestON/tests/HA/HAscaling/HAscaling.params
+++ b/TestON/tests/HA/HAscaling/HAscaling.params
@@ -17,9 +17,9 @@
#CASE15: Check that Leadership Election is still functional
#CASE16: Install Distributed Primitives app
#CASE17: Check for basic functionality with distributed primitives
- <testcases>1,[2,8,21,3,8,4,5,14,16,17]*1,[6,8,3,7,4,15,17,9,8,4,10,8,4,11,8,4,12,8,4]*13,13</testcases>
+ <testcases>1,2,8,21,3,8,4,5,14,16,17,[6,8,7,4,15,17]*9,9,8,4,10,8,4,11,8,4,12,8,4,13</testcases>
- <scaling>1,3b,3,5b,5,7b,7,7b,5,5b,3,3b,1</scaling>
+ <scaling>1,3b,5b,7b,7,7b,5b,3b,1</scaling>
<server>
<port>8000</port>
<interface>eth0</interface>
diff --git a/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
index 28ee510..9ba2e9e 100644
--- a/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
@@ -17,7 +17,7 @@
<type>OnosCliDriver</type>
<connect_order>2</connect_order>
<COMPONENTS> </COMPONENTS>
- </ONOScli>
+ </ONOScli1>
<ONOS1>
<host>OC1</host>