Merge "Add test_ping_global_ip_from_vm_with_fip"
diff --git a/neutron_tempest_plugin/config.py b/neutron_tempest_plugin/config.py
index 28d6b76..2290d0f 100644
--- a/neutron_tempest_plugin/config.py
+++ b/neutron_tempest_plugin/config.py
@@ -60,6 +60,10 @@
     cfg.IntOpt('max_mtu',
                default=1500,
                help='Max mtu value of default deployments".'),
+    cfg.StrOpt('global_ip_address',
+               default='',
+               help='An IP address in the Internet that can be used in '
+                    'a connectivity test'),
     cfg.StrOpt('q_agent',
                default=None,
                choices=['None', 'linuxbridge', 'ovs', 'sriov'],
diff --git a/neutron_tempest_plugin/scenario/test_basic.py b/neutron_tempest_plugin/scenario/test_basic.py
index d825e15..38bc40b 100644
--- a/neutron_tempest_plugin/scenario/test_basic.py
+++ b/neutron_tempest_plugin/scenario/test_basic.py
@@ -12,8 +12,11 @@
 #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 #    License for the specific language governing permissions and limitations
 #    under the License.
+import testtools
+
 from tempest.lib import decorators
 
+from neutron_tempest_plugin.common import ssh
 from neutron_tempest_plugin import config
 from neutron_tempest_plugin.scenario import base
 
@@ -33,3 +36,17 @@
         self.check_connectivity(self.fip['floating_ip_address'],
                                 CONF.validation.image_ssh_user,
                                 self.keypair['private_key'])
+
+    @testtools.skipUnless(
+        CONF.neutron_plugin_options.global_ip_address,
+        'Global IP address is not defined.')
+    @decorators.idempotent_id('49609189-3a0e-43c7-832e-a7e114aad1c9')
+    def test_ping_global_ip_from_vm_with_fip(self):
+        self.setup_network_and_server()
+        server_ssh_client = ssh.Client(self.fip['floating_ip_address'],
+                                       CONF.validation.image_ssh_user,
+                                       pkey=self.keypair['private_key'])
+        self.check_remote_connectivity(
+            server_ssh_client,
+            CONF.neutron_plugin_options.global_ip_address,
+            ping_count=1)