Merge "Fix intermittent port_forwarding test failures"
This commit is contained in:
commit
12d9e8d4ce
|
@ -14,12 +14,12 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from neutron_lib import constants
|
from neutron_lib import constants
|
||||||
from neutron_lib.utils import test
|
|
||||||
from oslo_log import log
|
from oslo_log import log
|
||||||
from tempest.lib.common.utils import data_utils
|
from tempest.lib.common.utils import data_utils
|
||||||
from tempest.lib import decorators
|
from tempest.lib import decorators
|
||||||
|
|
||||||
from neutron_tempest_plugin.common import ssh
|
from neutron_tempest_plugin.common import ssh
|
||||||
|
from neutron_tempest_plugin.common import utils
|
||||||
from neutron_tempest_plugin import config
|
from neutron_tempest_plugin import config
|
||||||
from neutron_tempest_plugin.scenario import base
|
from neutron_tempest_plugin.scenario import base
|
||||||
|
|
||||||
|
@ -81,27 +81,32 @@ class PortForwardingTestJSON(base.BaseTempestTestCase):
|
||||||
return servers
|
return servers
|
||||||
|
|
||||||
def _test_udp_port_forwarding(self, servers):
|
def _test_udp_port_forwarding(self, servers):
|
||||||
|
|
||||||
|
def _message_received(server, ssh_client, expected_msg):
|
||||||
|
self.nc_listen(server,
|
||||||
|
ssh_client,
|
||||||
|
server['port_forwarding_udp']['internal_port'],
|
||||||
|
constants.PROTO_NAME_UDP,
|
||||||
|
expected_msg)
|
||||||
|
received_msg = self.nc_client(
|
||||||
|
self.fip['floating_ip_address'],
|
||||||
|
server['port_forwarding_udp']['external_port'],
|
||||||
|
constants.PROTO_NAME_UDP)
|
||||||
|
return expected_msg in received_msg
|
||||||
|
|
||||||
for server in servers:
|
for server in servers:
|
||||||
msg = "%s-UDP-test" % server['name']
|
expected_msg = "%s-UDP-test" % server['name']
|
||||||
ssh_client = ssh.Client(
|
ssh_client = ssh.Client(
|
||||||
self.fip['floating_ip_address'],
|
self.fip['floating_ip_address'],
|
||||||
CONF.validation.image_ssh_user,
|
CONF.validation.image_ssh_user,
|
||||||
pkey=self.keypair['private_key'],
|
pkey=self.keypair['private_key'],
|
||||||
port=server['port_forwarding_tcp']['external_port'])
|
port=server['port_forwarding_tcp']['external_port'])
|
||||||
self.nc_listen(server,
|
utils.wait_until_true(
|
||||||
ssh_client,
|
lambda: _message_received(server, ssh_client, expected_msg),
|
||||||
server['port_forwarding_udp']['internal_port'],
|
exception=RuntimeError(
|
||||||
constants.PROTO_NAME_UDP,
|
"Timed out waiting for message from server {!r} ".format(
|
||||||
msg)
|
server['id'])))
|
||||||
for server in servers:
|
|
||||||
expected_msg = "%s-UDP-test" % server['name']
|
|
||||||
self.assertIn(
|
|
||||||
expected_msg, self.nc_client(
|
|
||||||
self.fip['floating_ip_address'],
|
|
||||||
server['port_forwarding_udp']['external_port'],
|
|
||||||
constants.PROTO_NAME_UDP))
|
|
||||||
|
|
||||||
@test.unstable_test("bug 1850800")
|
|
||||||
@decorators.idempotent_id('ab40fc48-ca8d-41a0-b2a3-f6679c847bfe')
|
@decorators.idempotent_id('ab40fc48-ca8d-41a0-b2a3-f6679c847bfe')
|
||||||
def test_port_forwarding_to_2_servers(self):
|
def test_port_forwarding_to_2_servers(self):
|
||||||
udp_sg_rule = {'protocol': constants.PROTO_NAME_UDP,
|
udp_sg_rule = {'protocol': constants.PROTO_NAME_UDP,
|
||||||
|
|
Loading…
Reference in New Issue