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/dependencies/Dockerfile b/TestON/tests/USECASE/SegmentRouting/dependencies/Dockerfile
index 1843055..4b714c5 100644
--- a/TestON/tests/USECASE/SegmentRouting/dependencies/Dockerfile
+++ b/TestON/tests/USECASE/SegmentRouting/dependencies/Dockerfile
@@ -1,6 +1,32 @@
 FROM opennetworking/mn-stratum
 
-RUN install_packages python-pip openvswitch-switch
-#RUN apt-get update && apt-get install -y python-pip
+ENV HOME /home/root
+WORKDIR $HOME
+RUN ln -s /root/* .
+RUN chmod 777 $HOME
+
+RUN install_packages python-pip openvswitch-switch vim quagga isc-dhcp-server isc-dhcp-client iptables vlan
 RUN pip install ipaddress
+
+RUN ln -s $HOME /var/run/quagga
+RUN ln -s /usr/sbin/zebra /usr/lib/quagga/zebra
+RUN ln -s /usr/sbin/bgpd /usr/lib/quagga/bgpd
+
+# try to ensure dhclient can write pid files
+RUN chmod 777 /run
+RUN ls -al $HOME
+# Issue with Uubuntu/Apparmour
+RUN mv /sbin/dhclient /usr/local/bin/ \
+&& touch /var/lib/dhcp/dhcpd.leases
+
+# Install custom mininet branch
+run install_packages git sudo lsb-release
+RUN git clone https://github.com/jhall11/mininet.git \
+&& cd mininet \
+&& git branch -v -a \
+&& git checkout -b dynamic_topo origin/dynamic_topo \
+&& cd util \
+&& alias sudo='' \
+&& apt-get update \
+&& ./install.sh -3fvn
 ENTRYPOINT bash