'Verifies connectivty to a VM via public network and floating IP
and verifies floating IP has resource status is correct.
:param should_connect: bool. determines if connectivity check is
negative or positive.
:param msg: Failure message to add to Error message. Should describe
the place in the test scenario where the method was called,
to indicate the context of the failure
:param should_check_floating_ip_status: bool. should status of
floating_ip be checked or not
:param mtu: int. MTU network to use for connectivity validation'

def check_public_network_connectivity(self, should_connect=True, msg=None, should_check_floating_ip_status=True, mtu=None):

    ssh_login = CONF.validation.image_ssh_user
    (floating_ip, server) = self.floating_ip_tuple
    ip_address = floating_ip['floating_ip_address']
    private_key = None
    floatingip_status = 'DOWN'
    if should_connect:
        private_key = self._get_server_key(server)
        floatingip_status = 'ACTIVE'
    if should_check_floating_ip_status:
        self.check_floating_ip_status(floating_ip, floatingip_status)
    super(TestNetworkBasicOps, self).check_public_network_connectivity(ip_address, ssh_login, private_key, should_connect, msg, self.servers, mtu=mtu)
