Fix test_allocate_ips_are_from_correct_subnet on ML2/OVN backend
In case of ML2/OVN, driver creates additional network:distributed port
for each subnet with enabled DHCP. That caused failures of that test
in the ML2/OVN environment as subnets created in the test had only some
specified service_type thus Neutron couldn't find any IP address to
allocate for the "network:distributed" port.
Now it's fixed by adding "network:distributed" service_type to both
subnets.
Closes-Bug: #1934622
Change-Id: Ifc2c75abd49209625065de6fece413aed0bb7a4e
diff --git a/neutron_tempest_plugin/api/test_subnets.py b/neutron_tempest_plugin/api/test_subnets.py
index d4992d3..3b075d5 100644
--- a/neutron_tempest_plugin/api/test_subnets.py
+++ b/neutron_tempest_plugin/api/test_subnets.py
@@ -86,12 +86,18 @@
cidr_1 = netaddr.IPNetwork('192.168.1.0/24')
cidr_2 = netaddr.IPNetwork('192.168.2.0/24')
- self.create_subnet(self.network,
- service_types=['test:type_1'],
- cidr=str(cidr_1))
- self.create_subnet(self.network,
- service_types=['test:type_2'],
- cidr=str(cidr_2))
+ # NOTE(slaweq): service_type "network:distributed" is needed for
+ # ML2/OVN backend. It's needed because OVN driver creates additional
+ # port for metadata service in each subnet with enabled dhcp and such
+ # port needs to have allocated IP address from the subnet also.
+ self.create_subnet(
+ self.network,
+ service_types=['test:type_1', 'network:distributed'],
+ cidr=str(cidr_1))
+ self.create_subnet(
+ self.network,
+ service_types=['test:type_2', 'network:distributed'],
+ cidr=str(cidr_2))
port_type_1 = self.create_port(self.network,
device_owner="test:type_1")
port_type_2 = self.create_port(self.network,