Merge "Make fullstack test_connectivity tests more forgiving"

This commit is contained in:
Jenkins 2015-11-23 10:13:27 +00:00 committed by Gerrit Code Review
commit 6c0841e8e2
2 changed files with 15 additions and 1 deletions

View File

@ -13,9 +13,12 @@
# under the License.
#
import functools
import fixtures
from neutron.agent.linux import ip_lib
from neutron.agent.linux import utils
from neutron.tests.common import net_helpers
@ -48,6 +51,17 @@ class FakeMachineBase(fixtures.Fixture):
ns_ip_wrapper = ip_lib.IPWrapper(self.namespace)
return ns_ip_wrapper.netns.execute(*args, **kwargs)
def ping_predicate(self, dst_ip):
try:
self.assert_ping(dst_ip)
except RuntimeError:
return False
return True
def block_until_ping(self, dst_ip):
predicate = functools.partial(self.ping_predicate, dst_ip)
utils.wait_until_true(predicate)
def assert_ping(self, dst_ip):
net_helpers.assert_ping(self.namespace, dst_ip)

View File

@ -67,4 +67,4 @@ class TestConnectivitySameNetwork(base.BaseFullStackTestCase):
for vm in vms:
vm.block_until_boot()
vms[0].assert_ping(vms[1].ip)
vms[0].block_until_ping(vms[1].ip)