Update load balancer tests to use allocation pools

Sometimes LB fixed IPs can overlap with IPs which
portprober picked up from the same network.
Using allocation pools and different IP ranges for
static and dynamic IP assignement can solve the problem

Related-prod: PRODX-49726

Change-Id: Ic8246ef4addf8fd1a0d4654f1613d815350c482a
diff --git a/octavia_tempest_plugin/tests/test_base.py b/octavia_tempest_plugin/tests/test_base.py
index d9c5e9c..3db8b8e 100644
--- a/octavia_tempest_plugin/tests/test_base.py
+++ b/octavia_tempest_plugin/tests/test_base.py
@@ -13,6 +13,7 @@
 #    under the License.
 
 import ipaddress
+import netaddr
 import os
 import random
 import re
@@ -381,12 +382,20 @@
             cls.lb_mem_net_client.show_network,
             cls.lb_member_vip_net['id'])
 
+        # Add allocation pool to prevent IP address conflicts with portprober
+        cidr = netaddr.IPNetwork(CONF.load_balancer.vip_subnet_cidr)
+        pool_start = ipaddress.ip_address(str(cidr[101]))
+        pool_end = ipaddress.ip_address(str(cidr[254]))
+        allocation_pools = [{'start': str(pool_start), 'end': str(pool_end)}]
+
         # Create tenant VIP subnet
         subnet_kwargs = {
             'name': data_utils.rand_name("lb_member_vip_subnet"),
             'network_id': cls.lb_member_vip_net['id'],
             'cidr': CONF.load_balancer.vip_subnet_cidr,
-            'ip_version': 4}
+            'ip_version': 4,
+            'allocation_pools': allocation_pools
+        }
         result = cls.lb_mem_subnet_client.create_subnet(**subnet_kwargs)
         cls.lb_member_vip_subnet = result['subnet']
         LOG.info('lb_member_vip_subnet: {}'.format(cls.lb_member_vip_subnet))