[ONOS-7408] Refactor HA suite to be able to run with trellis
- Better support for dual homed hosts
- Support parsing more types of flows from OVS of1.3 tables
- More specific error handling in Mininet driver
- Only check attachment points if that mapping is provided
- Minor refactoring of link up/down argument names for consistency
- Use list of hosts/switches in mn instead of hard coded ranges
- Add .params.fabric for testing with fabric
- Add .params.intents for testing with intents, classic/default version
of the tests
- Add support for setting karaf log levels after startup
- Fix malformed command in cell file if no OCN is supplied
- Add back CFG for the ECFlowRuleStore now that it is the default impl
- Check Network config after connecting mininet
TODO:
- Set log levels in ONOS service files so we can set logging during startup
- Make sure we process all treatments in flows. eg drop and
clear_treatment
- Does the topology come up the same each time?
- same port numbers, etc...
- Jenkinsfiles
- use .params.fabric for HA fabric tests
Notes:
- Uses Topology and config from the SegmentRouting tests
Change-Id: I08f08ba1d3d18f710f63a45b28ac3a2868a1a5cf
diff --git a/TestON/drivers/common/cli/onosdriver.py b/TestON/drivers/common/cli/onosdriver.py
index 8324677..37feab8 100755
--- a/TestON/drivers/common/cli/onosdriver.py
+++ b/TestON/drivers/common/cli/onosdriver.py
@@ -795,7 +795,8 @@
tempCount = tempCount + 1
cellFile.write( "export OCI=$OC1\n" )
- cellFile.write( mnString + "\"" + str(mnIpAddrs) + "\"\n" )
+ if mnString:
+ cellFile.write( mnString + "\"" + str( mnIpAddrs ) + "\"\n" )
cellFile.write( appString + "\n" )
cellFile.write( onosGroup + "\n" )
cellFile.write( onosUser + "\n" )
@@ -836,20 +837,19 @@
# Note that this variable name is subject to change
# and that this driver will have to change accordingly
self.handle.expect( str( cellname ) )
+ response = self.handle.before + self.handle.after
i = self.handle.expect( [ "No such cell",
- self.prompt,
- pexpect.TIMEOUT ], timeout=10 )
+ "command not found",
+ self.prompt ], timeout=10 )
+ response += self.handle.before + self.handle.after
if i == 0:
- main.log.error( self.name + ": No such cell. Response: " + str( self.handle.before ) )
+ main.log.error( self.name + ": No such cell. Response: " + str( response ) )
main.cleanAndExit()
elif i == 1:
- main.log.info( self.name + ": Successfully set cell: " + str( self.handle.before ) )
+ main.log.error( self.name + ": Error setting cell. Response: " + str( response ) )
+ main.cleanAndExit()
elif i == 2:
- main.log.error( self.name + ": Set cell timed out. Response: " + str( self.handle.before ) )
- main.cleanAndExit()
- else:
- main.log.error( self.name + ": Unexpected response: " + str( self.handle.before ) )
- main.cleanAndExit()
+ main.log.info( self.name + ": Successfully set cell: " + str( response ) )
return main.TRUE
except pexpect.TIMEOUT:
main.log.error( self.name + ": TIMEOUT exception found" )