diff --git a/src/test/results/onboarding/onboarding-tests-output.log b/src/test/results/onboarding/onboarding-tests-output.log
new file mode 100644
index 0000000..6fb5881
--- /dev/null
+++ b/src/test/results/onboarding/onboarding-tests-output.log
@@ -0,0 +1,573 @@
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_health
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... Pinging ONBOARDED SERVICE mysite_vsg-3 at IP 172.27.0.4
+ONBOARDED SERVICE mysite_vsg-3 at IP 172.27.0.4 is reachable
+Pinging ONBOARDED SERVICE mysite_exampleservice-2 at IP 172.27.0.3
+ONBOARDED SERVICE mysite_exampleservice-2 at IP 172.27.0.3 is reachable
+Pinging ONBOARDED SERVICE mysite_vsg-1 at IP 172.27.0.2
+ONBOARDED SERVICE mysite_vsg-1 at IP 172.27.0.2 is reachable
+
+Test test_exampleservice_health has no errors and warnings in the logs
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 10.722s
+
+OK
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_for_login
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... Checking if ONBOARDING SERVICE at 172.27.0.4 is accessible from compute node sorrowful-cat.cord.lab
+OK
+Checking if ONBOARDING SERVICE at 172.27.0.3 is accessible from compute node sorrowful-cat.cord.lab
+OK
+Checking if ONBOARDING SERVICE at 172.27.0.2 is accessible from compute node sorrowful-cat.cord.lab
+OK
+
+Test test_exampleservice_for_login has errors and warnings
+
+2017-06-13 07:35:09,846 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+Exception:
+        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)[44:com.google.guava:19.0.0]
+        at org.opencord.cordvtn.api.core.Instance.of(Instance.java:70)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.processDhcp(CordVtnDhcpProxy.java:220)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.process(CordVtnDhcpProxy.java:198)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.onosproject.net.packet.impl.PacketManager$InternalPacketProviderService.processPacket(PacketManager.java:373)[131:org.onosproject.onos-core-net:1.8.7]
+        at org.onosproject.provider.of.packet.impl.OpenFlowPacketProvider$InternalPacketProvider.handlePacket(OpenFlowPacketProvider.java:171)[176:org.onosproject.onos-providers-openflow-packet:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl.processPacket(OpenFlowControllerImpl.java:316)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl$OpenFlowSwitchAgent.processMessage(OpenFlowControllerImpl.java:727)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.driver.AbstractOpenFlowSwitch.handleMessage(AbstractOpenFlowSwitch.java:266)[161:org.onosproject.onos-protocols-openflow-api:1.8.7]
+        at org.onosproject.openflow.controller.impl.OFChannelHandler.dispatchMessage(OFChannelHandler.java:1254)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 14.237s
+
+OK
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_for_default_route_through_testclient
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ...
+Test test_exampleservice_for_default_route_through_testclient has errors and warnings
+
+2017-06-13 07:36:40,911 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+Exception:
+        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)[44:com.google.guava:19.0.0]
+        at org.opencord.cordvtn.api.core.Instance.of(Instance.java:70)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.processDhcp(CordVtnDhcpProxy.java:220)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.process(CordVtnDhcpProxy.java:198)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.onosproject.net.packet.impl.PacketManager$InternalPacketProviderService.processPacket(PacketManager.java:373)[131:org.onosproject.onos-core-net:1.8.7]
+        at org.onosproject.provider.of.packet.impl.OpenFlowPacketProvider$InternalPacketProvider.handlePacket(OpenFlowPacketProvider.java:171)[176:org.onosproject.onos-providers-openflow-packet:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl.processPacket(OpenFlowControllerImpl.java:316)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl$OpenFlowSwitchAgent.processMessage(OpenFlowControllerImpl.java:727)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.driver.AbstractOpenFlowSwitch.handleMessage(AbstractOpenFlowSwitch.java:266)[161:org.onosproject.onos-protocols-openflow-api:1.8.7]
+        at org.onosproject.openflow.controller.impl.OFChannelHandler.dispatchMessage(OFChannelHandler.java:1254)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 18.468s
+
+OK
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_for_service_access_through_testclientUnable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ...
+Test test_exampleservice_for_service_access_through_testclient has no errors and warnings in the logs
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 11.682s
+
+OK
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_for_service_reachability_from_cord_tester
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... mv: cannot move '/etc/resolv.conf.dhclient-new.18668' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+
+Test test_exampleservice_for_service_reachability_from_cord_tester has no errors and warnings in the logs
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 12.372s
+
+OK
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_operational_status_from_testclient
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ...
+Test test_exampleservice_operational_status_from_testclient has errors and warnings
+
+2017-06-13 09:36:34,324 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+Exception:
+        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)[44:com.google.guava:19.0.0]
+        at org.opencord.cordvtn.api.core.Instance.of(Instance.java:70)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.processDhcp(CordVtnDhcpProxy.java:220)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.process(CordVtnDhcpProxy.java:198)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.onosproject.net.packet.impl.PacketManager$InternalPacketProviderService.processPacket(PacketManager.java:373)[131:org.onosproject.onos-core-net:1.8.7]
+        at org.onosproject.provider.of.packet.impl.OpenFlowPacketProvider$InternalPacketProvider.handlePacket(OpenFlowPacketProvider.java:171)[176:org.onosproject.onos-providers-openflow-packet:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl.processPacket(OpenFlowControllerImpl.java:316)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl$OpenFlowSwitchAgent.processMessage(OpenFlowControllerImpl.java:727)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.driver.AbstractOpenFlowSwitch.handleMessage(AbstractOpenFlowSwitch.java:266)[161:org.onosproject.onos-protocols-openflow-api:1.8.7]
+        at org.onosproject.openflow.controller.impl.OFChannelHandler.dispatchMessage(OFChannelHandler.java:1254)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 12.733s
+
+OK
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_operational_access_from_cord_tester
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.20722' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+RTNETLINK answers: File exists
+
+Test test_exampleservice_operational_access_from_cord_tester has no errors and warnings in the logs
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 10.716s
+
+OK
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_for_service_message
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... mv: cannot move '/etc/resolv.conf.dhclient-new.20804' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+
+Test test_exampleservice_for_service_message has no errors and warnings in the logs
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 10.925s
+
+OK
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_for_tenant_message
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... mv: cannot move '/etc/resolv.conf.dhclient-new.20886' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+
+Test test_exampleservice_for_tenant_message has no errors and warnings in the logs
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 11.205s
+
+OK
+
+*************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_access_after_subscriber_interface_toggle
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are False and 409
+Algo: ... mv: cannot move '/etc/resolv.conf.dhclient-new.21179' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.21204' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+
+Test test_exampleservice_access_after_subscriber_interface_toggle has no errors and warnings in the logs
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 14.538s
+
+OK
+***************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_access_after_service_paused
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... mv: cannot move '/etc/resolv.conf.dhclient-new.21287' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+Pausing example service running vm
+
+Test test_exampleservice_access_after_service_paused has errors and warnings
+
+2017-06-13 10:07:30,728 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+Exception:
+        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)[44:com.google.guava:19.0.0]
+        at org.opencord.cordvtn.api.core.Instance.of(Instance.java:70)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.processDhcp(CordVtnDhcpProxy.java:220)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.process(CordVtnDhcpProxy.java:198)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.onosproject.net.packet.impl.PacketManager$InternalPacketProviderService.processPacket(PacketManager.java:373)[131:org.onosproject.onos-core-net:1.8.7]
+        at org.onosproject.provider.of.packet.impl.OpenFlowPacketProvider$InternalPacketProvider.handlePacket(OpenFlowPacketProvider.java:171)[176:org.onosproject.onos-providers-openflow-packet:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl.processPacket(OpenFlowControllerImpl.java:316)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl$OpenFlowSwitchAgent.processMessage(OpenFlowControllerImpl.java:727)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.driver.AbstractOpenFlowSwitch.handleMessage(AbstractOpenFlowSwitch.java:266)[161:org.onosproject.onos-protocols-openflow-api:1.8.7]
+        at org.onosproject.openflow.controller.impl.OFChannelHandler.dispatchMessage(OFChannelHandler.java:1254)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 21.900s
+
+OK
+
+*************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_access_after_service_restart
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.22044' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+Restarting example service running vm
+RTNETLINK answers: No such process
+
+Test test_exampleservice_access_after_service_restart has errors and warnings
+
+2017-06-13 10:26:20,898 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 10:26:21,341 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 19]
+2017-06-13 10:26:21,941 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 20]
+2017-06-13 10:26:22,538 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 21]
+2017-06-13 10:26:37,144 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+Exception:
+        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)[44:com.google.guava:19.0.0]
+        at org.opencord.cordvtn.api.core.Instance.of(Instance.java:70)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.processDhcp(CordVtnDhcpProxy.java:220)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.process(CordVtnDhcpProxy.java:198)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.onosproject.net.packet.impl.PacketManager$InternalPacketProviderService.processPacket(PacketManager.java:373)[131:org.onosproject.onos-core-net:1.8.7]
+        at org.onosproject.provider.of.packet.impl.OpenFlowPacketProvider$InternalPacketProvider.handlePacket(OpenFlowPacketProvider.java:171)[176:org.onosproject.onos-providers-openflow-packet:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl.processPacket(OpenFlowControllerImpl.java:316)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl$OpenFlowSwitchAgent.processMessage(OpenFlowControllerImpl.java:727)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.driver.AbstractOpenFlowSwitch.handleMessage(AbstractOpenFlowSwitch.java:266)[161:org.onosproject.onos-protocols-openflow-api:1.8.7]
+        at org.onosproject.openflow.controller.impl.OFChannelHandler.dispatchMessage(OFChannelHandler.java:1254)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 48.066s
+
+OK
+***************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_access_after_service_stop
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.23650' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+Stopping example service running vm
+RTNETLINK answers: No such process
+
+Test test_exampleservice_access_after_service_stop has errors and warnings
+
+2017-06-13 11:15:34,207 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 34]
+2017-06-13 11:15:34,853 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 35]
+2017-06-13 11:15:35,566 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 36]
+2017-06-13 11:16:12,285 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 11:16:15,537 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 11:16:20,552 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 11:16:27,806 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+Exception:
+        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)[44:com.google.guava:19.0.0]
+        at org.opencord.cordvtn.api.core.Instance.of(Instance.java:70)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.processDhcp(CordVtnDhcpProxy.java:220)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.process(CordVtnDhcpProxy.java:198)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.onosproject.net.packet.impl.PacketManager$InternalPacketProviderService.processPacket(PacketManager.java:373)[131:org.onosproject.onos-core-net:1.8.7]
+        at org.onosproject.provider.of.packet.impl.OpenFlowPacketProvider$InternalPacketProvider.handlePacket(OpenFlowPacketProvider.java:171)[176:org.onosproject.onos-providers-openflow-packet:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl.processPacket(OpenFlowControllerImpl.java:316)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl$OpenFlowSwitchAgent.processMessage(OpenFlowControllerImpl.java:727)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.driver.AbstractOpenFlowSwitch.handleMessage(AbstractOpenFlowSwitch.java:266)[161:org.onosproject.onos-protocols-openflow-api:1.8.7]
+        at org.onosproject.openflow.controller.impl.OFChannelHandler.dispatchMessage(OFChannelHandler.java:1254)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 79.389s
+
+OK
+root@495131b1afec:~/test/src/test#
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_for_service_message_after_service_stop_and_start
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are False and 409
+Algo: ... RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.24066' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+Stopping example service running VM
+RTNETLINK answers: No such process
+
+Test test_exampleservice_for_service_message_after_service_stop_and_start has errors and warnings
+
+2017-06-13 11:22:22,025 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 40]
+2017-06-13 11:22:22,731 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 41]
+2017-06-13 11:22:23,416 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 42]
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 49.291s
+
+OK
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_for_tenant_message_after_service_restart
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.24656' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+Restarting example service running VM
+RTNETLINK answers: No such process
+
+Test test_exampleservice_for_tenant_message_after_service_restart has errors and warnings
+
+2017-06-13 11:32:22,858 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 46]
+2017-06-13 11:32:23,457 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 47]
+2017-06-13 11:32:24,056 | WARN  | source-registrar | ResourceDeviceListener           | 131 - org.onosproject.onos-core-net - 1.8.7 | Failed to register Bandwidth for [of:0000525400009f10, 48]
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 44.383s
+
+OK
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_access_after_vcpe_instance_restart
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.26158' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.26185' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+RTNETLINK answers: File exists
+
+Test test_exampleservice_access_after_vcpe_instance_restart has errors and warnings
+
+2017-06-13 11:52:02,204 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+Exception:
+        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)[44:com.google.guava:19.0.0]
+        at org.opencord.cordvtn.api.core.Instance.of(Instance.java:70)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.processDhcp(CordVtnDhcpProxy.java:220)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.process(CordVtnDhcpProxy.java:198)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.onosproject.net.packet.impl.PacketManager$InternalPacketProviderService.processPacket(PacketManager.java:373)[131:org.onosproject.onos-core-net:1.8.7]
+        at org.onosproject.provider.of.packet.impl.OpenFlowPacketProvider$InternalPacketProvider.handlePacket(OpenFlowPacketProvider.java:171)[176:org.onosproject.onos-providers-openflow-packet:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl.processPacket(OpenFlowControllerImpl.java:316)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl$OpenFlowSwitchAgent.processMessage(OpenFlowControllerImpl.java:727)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.driver.AbstractOpenFlowSwitch.handleMessage(AbstractOpenFlowSwitch.java:266)[161:org.onosproject.onos-protocols-openflow-api:1.8.7]
+        at org.onosproject.openflow.controller.impl.OFChannelHandler.dispatchMessage(OFChannelHandler.java:1254)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 26.920s
+
+OK
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_access_after_vcpe_instance_wan_interface_toggle
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.2825' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.2876' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+RTNETLINK answers: File exists
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.2907' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+RTNETLINK answers: File exists
+
+Test test_exampleservice_access_after_vcpe_instance_wan_interface_toggle has errors and warnings
+
+2017-06-13 13:05:22,040 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:05:34,646 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+Exception:
+        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)[44:com.google.guava:19.0.0]
+        at org.opencord.cordvtn.api.core.Instance.of(Instance.java:70)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.processDhcp(CordVtnDhcpProxy.java:220)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor.process(CordVtnDhcpProxy.java:198)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.onosproject.net.packet.impl.PacketManager$InternalPacketProviderService.processPacket(PacketManager.java:373)[131:org.onosproject.onos-core-net:1.8.7]
+        at org.onosproject.provider.of.packet.impl.OpenFlowPacketProvider$InternalPacketProvider.handlePacket(OpenFlowPacketProvider.java:171)[176:org.onosproject.onos-providers-openflow-packet:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl.processPacket(OpenFlowControllerImpl.java:316)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.impl.OpenFlowControllerImpl$OpenFlowSwitchAgent.processMessage(OpenFlowControllerImpl.java:727)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+        at org.onosproject.openflow.controller.driver.AbstractOpenFlowSwitch.handleMessage(AbstractOpenFlowSwitch.java:266)[161:org.onosproject.onos-protocols-openflow-api:1.8.7]
+        at org.onosproject.openflow.controller.impl.OFChannelHandler.dispatchMessage(OFChannelHandler.java:1254)[174:org.onosproject.onos-protocols-openflow-ctl:1.8.7]
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 40.789s
+
+OK
+
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_access_after_firewall_rule_added_to_drop_service_running_server_in_vcpe_instance
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.3568' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+
+Test test_exampleservice_access_after_firewall_rule_added_to_drop_service_running_server_in_vcpe_instance has no errors and warnings in the logs
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 23.103s
+
+OK
+
+*************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_xos_subcriber_access_exampleservice
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... index and its type are 0, <type 'int'>
+get url... http://xos:9000/api/tenant/cord/subscriber/
+Test passed: 200: [{"humanReadableName":"cordSubscriber-1","id":1,"features":{"cdn":false,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"123","name":"My House"}},{"humanReadableName":"cordSubscriber-3","id":3,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"200","name":"My House 0"}},{"humanReadableName":"cordSubscriber-4","id":4,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"201","name":"My House 1"}},{"humanReadableName":"cordSubscriber-5","id":5,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"202","name":"My House 2"}},{"humanReadableName":"cordSubscriber-6","id":6,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"203","name":"My House 3"}},{"humanReadableName":"cordSubscriber-7","id":7,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"204","name":"My House 4"}}]
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.3879' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+Deleting tenant with s_tag: 304, c_tag: 304
+get url... http://xos:9000/api/tenant/cord/volt/
+Test passed: 200: [{"humanReadableName":"VOLTTenantForAPI-7","id":7,"service_specific_id":"123","s_tag":"222","c_tag":"111","subscriber":1,"related":{"instance_id":1,"instance_name":"mysite_vsg","vsg_id":8,"wan_container_ip":"10.6.1.131","compute_node_name":"sorrowful-cat"}},{"humanReadableName":"VOLTTenantForAPI-16","id":16,"service_specific_id":null,"s_tag":"304","c_tag":"304","subscriber":3,"related":{}},{"humanReadableName":"VOLTTenantForAPI-19","id":19,"service_specific_id":null,"s_tag":"304","c_tag":"305","subscriber":4,"related":{"instance_id":3,"instance_name":"mysite_vsg","vsg_id":20,"wan_container_ip":"10.6.1.135","compute_node_name":"sorrowful-cat"}},{"humanReadableName":"VOLTTenantForAPI-22","id":22,"service_specific_id":null,"s_tag":"304","c_tag":"306","subscriber":5,"related":{"instance_id":3,"instance_name":"mysite_vsg","vsg_id":23,"wan_container_ip":"10.6.1.136","compute_node_name":"sorrowful-cat"}},{"humanReadableName":"VOLTTenantForAPI-25","id":25,"service_specific_id":null,"s_tag":"304","c_tag":"307","subscriber":6,"related":{"instance_id":3,"instance_name":"mysite_vsg","vsg_id":26,"wan_container_ip":"10.6.1.137","compute_node_name":"sorrowful-cat"}},{"humanReadableName":"VOLTTenantForAPI-28","id":28,"service_specific_id":null,"s_tag":"304","c_tag":"308","subscriber":7,"related":{"instance_id":3,"instance_name":"mysite_vsg","vsg_id":29,"wan_container_ip":"10.6.1.138","compute_node_name":"sorrowful-cat"}}]
+Deleting subscriber ID 3 for account num 200
+url http://xos:9000/api/tenant/cord/subscriber/3
+Test passed: 204:
+Deleting VOLT Tenant ID 16 for subscriber 3
+url http://xos:9000/api/tenant/cord/volt/16
+Test failed: 404: {"detail":"Not found."}
+
+Test test_exampleservice_xos_subcriber_access_exampleservice has no errors and warnings in the logs
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 11.053s
+
+OK
+**************************************************
+root@495131b1afec:~/test/src/test# nosetests -v -s onboarding/onboardingTest.py:onboarding_exchange.test_exampleservice_multiple_subcribers_access_same_service
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Algo: ... index and its type are 0, <type 'int'>
+get url... http://xos:9000/api/tenant/cord/subscriber/
+Test passed: 200: [{"humanReadableName":"cordSubscriber-1","id":1,"features":{"cdn":false,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"123","name":"My House"}},{"humanReadableName":"cordSubscriber-4","id":4,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"201","name":"My House 1"}},{"humanReadableName":"cordSubscriber-5","id":5,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"202","name":"My House 2"}},{"humanReadableName":"cordSubscriber-6","id":6,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"203","name":"My House 3"}},{"humanReadableName":"cordSubscriber-7","id":7,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"204","name":"My House 4"}}]
+Creating tenant with s_tag: 304, c_tag: 304
+url, data.. http://xos:9000/api/tenant/cord/subscriber/ {"features": {"status": "enabled", "cdn": true, "uplink_speed": 1000000000, "downlink_speed": 1000000000, "uverse": true}, "identity": {"account_num": "200", "name": "My House 0"}}
+requests.codes..... 201
+Test passed: 201: {"humanReadableName":"cordSubscriber-8","id":8,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"200","name":"My House 0"}}
+get url... http://xos:9000/api/tenant/cord/subscriber/
+Test passed: 200: [{"humanReadableName":"cordSubscriber-1","id":1,"features":{"cdn":false,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"123","name":"My House"}},{"humanReadableName":"cordSubscriber-4","id":4,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"201","name":"My House 1"}},{"humanReadableName":"cordSubscriber-5","id":5,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"202","name":"My House 2"}},{"humanReadableName":"cordSubscriber-6","id":6,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"203","name":"My House 3"}},{"humanReadableName":"cordSubscriber-7","id":7,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"204","name":"My House 4"}},{"humanReadableName":"cordSubscriber-8","id":8,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"200","name":"My House 0"}}]
+Subscriber ID for account num 200 = 8
+url, data.. http://xos:9000/api/tenant/cord/volt/ {"subscriber": "8", "c_tag": "304", "s_tag": "304"}
+requests.codes..... 201
+Test passed: 201: {"humanReadableName":"VOLTTenantForAPI-31","id":31,"service_specific_id":null,"s_tag":"304","c_tag":"304","subscriber":8,"related":{}}
+Delaying 350 seconds for the VCPE to be provisioned
+Testing for external connectivity to VCPE vcpe-304-304
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.5742' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.18 for vcpe1.304.304
+Sending icmp echo requests to external network 8.8.8.8
+index and its type are 1, <type 'int'>
+get url... http://xos:9000/api/tenant/cord/subscriber/
+Test passed: 200: [{"humanReadableName":"cordSubscriber-1","id":1,"features":{"cdn":false,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"123","name":"My House"}},{"humanReadableName":"cordSubscriber-4","id":4,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"201","name":"My House 1"}},{"humanReadableName":"cordSubscriber-5","id":5,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"202","name":"My House 2"}},{"humanReadableName":"cordSubscriber-6","id":6,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"203","name":"My House 3"}},{"humanReadableName":"cordSubscriber-7","id":7,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"204","name":"My House 4"}},{"humanReadableName":"cordSubscriber-8","id":8,"features":{"cdn":true,"uplink_speed":1000000000,"downlink_speed":1000000000,"uverse":true,"status":"enabled"},"identity":{"account_num":"200","name":"My House 0"}}]
+mv: cannot move '/etc/resolv.conf.dhclient-new.5782' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+RTNETLINK answers: No such process
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.5809' to '/etc/resolv.conf': Device or resource busy
+route is 10.6.1.194
+RTNETLINK answers: File exists
+RTNETLINK answers: No such process
+
+Test test_exampleservice_multiple_subcribers_access_same_service has errors and warnings
+
+2017-06-13 13:14:38,541 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:14:41,044 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:14:48,484 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:15:01,721 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:15:08,856 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:15:23,898 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:15:33,543 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:15:47,928 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:16:03,840 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:16:12,901 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:16:23,450 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:16:35,270 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:16:56,240 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:17:13,233 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:17:28,468 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:17:43,372 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:17:59,724 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:18:10,774 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:18:28,186 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:18:48,009 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:19:02,425 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:19:11,112 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:19:32,875 | WARN  | ew I/O worker #2 | PacketManager                    | 131 - org.onosproject.onos-core-net - 1.8.7 | Packet processor org.opencord.cordvtn.impl.CordVtnDhcpProxy$InternalPacketProcessor@64be463 threw an exception
+java.lang.IllegalArgumentException
+2017-06-13 13:19:41,974 | ERROR | er-event-handler | DependencyHandler                | 169 - org.opencord.vtn - 1.2.0.SNAPSHOT | Uncaught exception on DependencyHandler-event-handler
+java.lang.IllegalArgumentException
+2017-06-13 13:19:41,976 | ERROR | er-event-handler | ManagementInstanceHandler        | 169 - org.opencord.vtn - 1.2.0.SNAPSHOT | Uncaught exception on ManagementInstanceHandler-event-handler
+java.lang.IllegalArgumentException
+2017-06-13 13:19:41,979 | ERROR | er-event-handler | DefaultInstanceHandler           | 169 - org.opencord.vtn - 1.2.0.SNAPSHOT | Uncaught exception on DefaultInstanceHandler-event-handler
+java.lang.IllegalArgumentException
+2017-06-13 13:19:41,980 | ERROR | er-event-handler | AccessAgentInstanceHandler       | 169 - org.opencord.vtn - 1.2.0.SNAPSHOT | Uncaught exception on AccessAgentInstanceHandler-event-handler
+java.lang.IllegalArgumentException
+Exception:
+        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)[44:com.google.guava:19.0.0]
+        at org.opencord.cordvtn.api.core.Instance.of(Instance.java:70)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.handler.AbstractInstanceHandler$InternalHostListener.handle(AbstractInstanceHandler.java:225)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at org.opencord.cordvtn.impl.handler.AbstractInstanceHandler$InternalHostListener.lambda$event$0(AbstractInstanceHandler.java:215)[169:org.opencord.vtn:1.2.0.SNAPSHOT]
+        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_131]
+        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_131]
+        at java.lang.Thread.run(Thread.java:748)[:1.8.0_131]
+2017-06-13 13:19:46,303 | INFO  | 2]-nio2-thread-3 | ServerSession                    | 30 - org.apache.sshd.core - 0.14.0 | Server session created from /172.19.0.4:60846
+2017-06-13 13:19:46,516 | INFO  | 2]-nio2-thread-8 | ServerUserAuthService            | 30 - org.apache.sshd.core - 0.14.0 | Session karaf@/172.19.0.4:60846 authenticated
+2017-06-13 13:19:46,521 | INFO  | 2]-nio2-thread-5 | ChannelSession                   | 30 - org.apache.sshd.core - 0.14.0 | Executing command: cat /root/onos/apache-karaf-3.0.5/data/log/karaf.log
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 368.428s
+
+OK
+
+
diff --git a/src/test/results/vsg/vsg-tests-output.log b/src/test/results/vsg/vsg-tests-output.log
new file mode 100644
index 0000000..c0d780c
--- /dev/null
+++ b/src/test/results/vsg/vsg-tests-output.log
@@ -0,0 +1,854 @@
+*****************   Test 1   ****************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_health
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+Pinging VSG mysite_exampleservice-2 at IP 172.27.0.3
+VSG mysite_exampleservice-2 at IP 172.27.0.3 is reachable
+Pinging VSG mysite_vsg-1 at IP 172.27.0.2
+VSG mysite_vsg-1 at IP 172.27.0.2 is reachable
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 7.366s
+
+OK
+*****************  Test 2  *********************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_health_check
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Pinging VSG mysite_vsg-1 at IP 172.27.0.2
+VSG mysite_vsg-1 at IP 172.27.0.2 is reachable
+vsg status is True
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 9.226s
+
+OK
+******************  Test 3 *******************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_vcpe
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ...
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 19.588s
+
+OK
+******************* Test 4  ********************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_login
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ...
+Checking if VSG at 172.27.0.3 is accessible from compute node functional-chance.cord.lab
+OK
+Checking if VSG at 172.27.0.2 is accessible from compute node functional-chance.cord.lab
+OK
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 9.543s
+
+OK
+******************** Test 5 *******************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_default_route_through_testclient
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... ok
+
+----------------------------------------------------------------------
+Ran 1 test in 9.972s
+
+OK
+********************** Test 6 ***************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_external_connectivity_through_testclient
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... ok
+
+----------------------------------------------------------------------
+Ran 1 test in 8.216s
+
+OK
+******************* Test 7 ******************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_external_connectivity
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.3628' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.77 for vcpe0.222.111
+Sending icmp echo requests to external network 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 7.697s
+
+OK
+********************** Test 8 ************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_external_connectivity_to_google
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... mv: cannot move '/etc/resolv.conf.dhclient-new.3696' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.77 for vcpe0.222.111
+Sending icmp ping requests to www.google.com
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 6.041s
+
+OK
+******************** Test 9 *****************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_to_retrieve_content_from_google_to_validate_path_mtu
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... mv: cannot move '/etc/resolv.conf.dhclient-new.1850' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.131 for vcpe0.222.111
+Initiating get requests to www.google.com
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 5.820s
+
+OK
+********************  Test 10 **************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_to_retrieve_content_from_rediff_to_validate_path_mtu
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... mv: cannot move '/etc/resolv.conf.dhclient-new.1917' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.131 for vcpe0.222.111
+Initiating get requests to www.rediff.com
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 8.367s
+
+OK
+*************************** Test 11 *********************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_to_retrieve_content_from_yahoo_to_validate_path_mtu
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... mv: cannot move '/etc/resolv.conf.dhclient-new.1984' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.131 for vcpe0.222.111
+Initiating get requests to www.yahoo.com
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 6.941s
+
+OK
+
+*************** Test 12 ************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_to_retrieve_content_from_facebook_to_validate_path_mtu
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... mv: cannot move '/etc/resolv.conf.dhclient-new.2051' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.131 for vcpe0.222.111
+Initiating get requests to www.facebook.com
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 6.309s
+
+OK
+***************** Test 13 ******************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_external_connectivity_to_invalid_host
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... mv: cannot move '/etc/resolv.conf.dhclient-new.3846' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.77 for vcpe0.222.111
+Sending icmp ping requests to non existent host www.goglee.com
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 17.119s
+
+OK
+**********************  Test 14  ****************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_external_connectivity_with_ttl_1
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... mv: cannot move '/etc/resolv.conf.dhclient-new.3982' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.77 for vcpe0.222.111
+Sending icmp ping requests to host 8.8.8.8 with ttl 1
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 5.899s
+
+OK
+*******************  Test 15 ********************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_external_connectivity_with_wan_interface_toggle_in_vcpe
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... mv: cannot move '/etc/resolv.conf.dhclient-new.4174' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.77 for vcpe0.222.111
+Sending ICMP pings to host 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 16.994s
+
+OK
+******************** Test 16 ******************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_external_connectivity_with_lan_interface_toggle_in_vcpe
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... mv: cannot move '/etc/resolv.conf.dhclient-new.4468' to '/etc/resolv.conf': Device or resource busy
+Got DHCP IP 192.168.0.77 for vcpe0.222.111
+Sending ICMP pings to host 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 25.069s
+
+OK
+****************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_vcpe_interface_and_validate_dhcp_ip_after_interface_toggle
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are False and 409
+Test Method: ... mv: cannot move '/etc/resolv.conf.dhclient-new.1121' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 8.961s
+
+OK
+**************************************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_external_connectivity_after_restarting_vcpe_instance
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ...
+mv: cannot move '/etc/resolv.conf.dhclient-new.4728' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 48.540s
+
+OK
+*****************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_for_external_connectivity_with_vcpe_container_paused
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ...
+mv: cannot move '/etc/resolv.conf.dhclient-new.603' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 15.656s
+
+OK
+
+*****************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_with_deny_destination_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are False and 409
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.612' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+In finally block
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 22.212s
+
+OK
+
+*******************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_with_rule_add_and_delete_dest_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.797' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 23.405s
+
+OK
+
+*******************************************************
+
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_verifying_reachability_for_non_blocked_dest_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.866' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+route is 204.79.197.203
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 22.724s
+
+OK
+*******************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_appending_rules_with_deny_dest_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.1479' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+RTNETLINK answers: File exists
+route is 204.79.197.203
+RTNETLINK answers: File exists
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 36.572s
+
+OK
+*******************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_removing_one_rule_denying_dest_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.4131' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+route is 204.79.197.203
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 46.450s
+
+OK
+*********************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_changing_rule_id_deny_dest_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.4224' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 33.805s
+
+OK
+************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_changing_deny_rule_to_accept_dest_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.4466' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 24.567s
+
+OK
+*******************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_denying_destination_network
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.4538' to '/etc/resolv.conf': Device or resource busy
+route is 204.79.197.203
+route is 204.79.197.210
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 22.082s
+
+OK
+*************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_denying_destination_network_subnet_modification
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.4617' to '/etc/resolv.conf': Device or resource busy
+route is 204.79.197.203
+route is 204.79.197.210
+route is 204.79.197.224
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 44.826s
+
+OK
+******************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_with_deny_source_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.4810' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 22.880s
+
+OK
+********************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_rule_with_add_and_delete_deny_source_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.4873' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 23.416s
+
+OK
+****************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_rule_with_deny_icmp_protocol_echo_requests_type
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.5392' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 23.047s
+
+OK
+************************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_rule_with_deny_icmp_protocol_echo_reply_type
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.3886' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 21.375s
+
+OK
+************************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_changing_deny_rule_to_accept_rule_with_icmp_protocol_echo_requests_type
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.3950' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 24.278s
+
+OK
+
+**************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_changing_deny_rule_to_accept_rule_with_icmp_protocol_echo_reply_type
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.5644' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 24.751s
+
+OK
+*************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_for_deny_icmp_protocol
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.5727' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 24.042s
+
+OK
+****************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_rule_deny_icmp_protocol_and_destination_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.5806' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 47.133s
+
+OK
+**********************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_flushing_all_configured_rules
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.4473' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+RTNETLINK answers: File exists
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 79.714s
+
+OK
+***************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_replacing_deny_rule_to_accept_rule_ipv4_traffic
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.7957' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 24.115s
+
+OK
+*************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_deny_all_traffic_going_out_of_wan_interface_in_vcpe
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.8115' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 23.771s
+
+OK
+********************************************************
+root@3edfd8d51f8c:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_dnat_change_modifying_destination_ip_address
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.13566' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 25.330s
+
+OK
+********************************************************
+root@3edfd8d51f8c:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_dnat_modifying_destination_ip_and_delete
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.13737' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 23.179s
+
+OK
+***************************************************
+root@3edfd8d51f8c:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_dnat_modifying_destination_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.13812' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 22.543s
+
+OK
+*************************************************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_deny_all_dns_traffic
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.707' to '/etc/resolv.conf': Device or resource busy
+RTNETLINK answers: File exists
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 13.345s
+
+OK
+******************************************************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_deny_all_dns_traffic
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.1972' to '/etc/resolv.conf': Device or resource busy
+ping: unknown host google-public-dns-a.google.com
+mv: cannot move '/etc/resolv.conf.dhclient-new.2035' to '/etc/resolv.conf': Device or resource busy
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 33.525s
+
+OK
+*******************************************************************
+root@8376ade8b506:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_flushing_all_configured_rules
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.2252' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 71.063s
+
+OK
+************************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_deny_all_ipv4_traffic
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.4648' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 22.181s
+
+OK
+*******************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_replacing_deny_rule_to_accept_rule_ipv4_traffic
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.4819' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 22.381s
+
+OK
+************************************************************
+root@bbec06b191d6:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_deny_all_traffic_coming_on_lan_interface_in_vcpe
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.8036' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 24.240s
+
+OK
+**********************************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_deny_all_traffic_going_out_of_wan_interface_in_vcpe
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.5050' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 21.629s
+
+OK
+******************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_deny_all_traffic_from_lan_to_wan_in_vcpe
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.5114' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 21.977s
+
+OK
+*********************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_deny_all_dns_traffic
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+RTNETLINK answers: File exists
+mv: cannot move '/etc/resolv.conf.dhclient-new.5240' to '/etc/resolv.conf': Device or resource busy
+ping: unknown host google-public-dns-a.google.com
+mv: cannot move '/etc/resolv.conf.dhclient-new.5298' to '/etc/resolv.conf': Device or resource busy
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 31.677s
+
+OK
+*****************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_firewall_deny_all_ipv4_traffic_vcpe_container_restart
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.5360' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 57.841s
+
+OK
+*****************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_nat_dnat_modifying_destination_ip
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.5426' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 21.689s
+
+OK
+******************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_nat_dnat_modifying_destination_ip_and_delete
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.5489' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 21.492s
+
+OK
+*******************************************************
+root@dc7cc3594ebf:~/test/src/test# nosetests -v -s vsg/vsgTest.py:vsg_exchange.test_vsg_nat_dnat_change_modifying_destination_ip_address
+Unable to connect to test host prod.cord.lab
+result.ok, result.status_code are True and 200
+Test Method: ... /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:334: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  SNIMissingWarning
+/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
+  InsecurePlatformWarning
+mv: cannot move '/etc/resolv.conf.dhclient-new.5553' to '/etc/resolv.conf': Device or resource busy
+route is 8.8.8.8
+ok
+
+----------------------------------------------------------------------
+Ran 1 test in 23.831s
+
+OK
+
