Add generic method to wait number of network ports
Related-Prod: PRODX-41247
Change-Id: Ic9ad451d9733447408ff4e74ec6713039cc7852f
diff --git a/tempest/common/waiters.py b/tempest/common/waiters.py
index ae0bd76..a2f65cc 100644
--- a/tempest/common/waiters.py
+++ b/tempest/common/waiters.py
@@ -723,3 +723,21 @@
message = ('Object %s failed to create within the required time (%s s).' %
(object_name, object_client.build_timeout))
raise lib_exc.TimeoutException(message)
+
+
+def wait_network_ports(network_client, network_id, number,
+ delay=90, interval=5):
+ """Waits for network contains specific number of ports
+
+ :param network_client: nework client
+ :param network_id: UUID of the network
+ :param number: Number of ports to wait
+ :param delay: Number of seconds to wait
+ :param interval: Number of seconds between attempts
+ """
+ def _wait_ports(network_id, number):
+ ports = network_client.list_ports(
+ network_id=network_id)
+ return len(ports) == number
+ test_utils.call_until_true(
+ _wait_ports, delay, interval, network_id, number)