*****************   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

