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)