Stratum Support for Segement Rounting Suite

- Add Stratum Bmv2 switch support for SRDhcpRelay and SRRouting tests
- Add Support for 0x1 topology on a Stratum Tofino HW switch
- Support for dockerized mininet with Stratum BMv2 switches
- Update scapy driver to work with newer versions of scapy
- Simple parsing for scapy ping output
- Add support for fetching and installing external onos apps
- Add support for onos-diagnostics profiles
- Move onos log levels to params file
- Add onos cfg settings to SR tests

Change-Id: I7c4a71484c8fd5735da9ef09b96d8990283b199b
(cherry picked from commit bef6d9bd943996483fed32130cb30ad26a06aac0)
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/SRDynamicConfTest.py b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/SRDynamicConfTest.py
index 4e1703e..78f3e6a 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/SRDynamicConfTest.py
+++ b/TestON/tests/USECASE/SegmentRouting/SRDynamicConf/dependencies/SRDynamicConfTest.py
@@ -73,7 +73,9 @@
         # TODO: Generate json and chart dynamically, according to topologies and scenarios
         if main.useBmv2:
             # Translate configuration file from OVS-OFDPA to BMv2 driver
-            translator.ofdpaToBmv2( main )
+            translator.bmv2ToOfdpa( main ) # Try to cleanup if switching between switch types
+            switchPrefix = main.params[ 'DEPENDENCY' ].get( 'switchPrefix', "bmv2" )
+            translator.ofdpaToBmv2( main, switchPrefix=switchPrefix )
         else:
             translator.bmv2ToOfdpa( main )
         run.loadJson( main )
@@ -85,7 +87,9 @@
             intfCfg = "%s%s%s.json" % ( main.configPath, main.forJson, TAG )
             if main.useBmv2:
                 # Translate configuration file from OVS-OFDPA to BMv2 driver
-                translator.ofdpaToBmv2( main, intfCfg )
+                translator.bmv2ToOfdpa( main ) # Try to cleanup if switching between switch types
+                switchPrefix = main.params[ 'DEPENDENCY' ].get( 'switchPrefix', "bmv2" )
+                translator.ofdpaToBmv2( main, switchPrefix=switchPrefix, cfgFile=intfCfg )
             else:
                 translator.bmv2ToOfdpa( main, intfCfg )
             with open( intfCfg ) as cfg:
@@ -95,7 +99,9 @@
             defaultIntfCfg = "%s%s%s_ports.json" % ( main.configPath, main.forJson, topology )
             if main.useBmv2:
                 # Translate configuration file from OVS-OFDPA to BMv2 driver
-                translator.ofdpaToBmv2( main, defaultIntfCfg )
+                translator.bmv2ToOfdpa( main ) # Try to cleanup if switching between switch types
+                switchPrefix = main.params[ 'DEPENDENCY' ].get( 'switchPrefix', "bmv2" )
+                translator.ofdpaToBmv2( main, switchPrefix=switchPrefix, cfgFile=defaultIntfCfg )
             else:
                 translator.bmv2ToOfdpa( main, defaultIntfCfg )
             with open( defaultIntfCfg ) as cfg: