Merge "Don't pass None to neutron for ipv6_address_mode/ipv6_ra_mode"

This commit is contained in:
Zuul 2021-08-24 10:07:55 +00:00 committed by Gerrit Code Review
commit 8e602a519a
4 changed files with 16 additions and 19 deletions

View File

@ -155,12 +155,12 @@ definitions:
$ref: "#/definitions/ipv6_route" $ref: "#/definitions/ipv6_route"
ipv6_address_mode: ipv6_address_mode:
enum: enum:
- null - slaac
- dhcpv6-stateful - dhcpv6-stateful
- dhcpv6-stateless - dhcpv6-stateless
ipv6_ra_mode: ipv6_ra_mode:
enum: enum:
- null - slaac
- dhcpv6-stateful - dhcpv6-stateful
- dhcpv6-stateless - dhcpv6-stateless
enable_dhcp: enable_dhcp:
@ -217,12 +217,12 @@ definitions:
$ref: "#/definitions/ipv6_route" $ref: "#/definitions/ipv6_route"
ipv6_address_mode: ipv6_address_mode:
enum: enum:
- null - slaac
- dhcpv6-stateful - dhcpv6-stateful
- dhcpv6-stateless - dhcpv6-stateless
ipv6_ra_mode: ipv6_ra_mode:
enum: enum:
- null - slaac
- dhcpv6-stateful - dhcpv6-stateful
- dhcpv6-stateless - dhcpv6-stateless
enable_dhcp: enable_dhcp:

View File

@ -293,14 +293,17 @@ def create_subnet_spec(net_id, name, subnet_data,
'name': name, 'name': name,
'network_id': net_id, 'network_id': net_id,
'enable_dhcp': subnet_data.get('enable_dhcp', False), 'enable_dhcp': subnet_data.get('enable_dhcp', False),
'ipv6_address_mode': subnet_data.get('ipv6_address_mode', None),
'ipv6_ra_mode': subnet_data.get('ipv6_ra_mode', None),
'gateway_ip': subnet_data.get('gateway_ipv6', None), 'gateway_ip': subnet_data.get('gateway_ipv6', None),
'cidr': subnet_data['ipv6_subnet'], 'cidr': subnet_data['ipv6_subnet'],
'allocation_pools': subnet_data.get('ipv6_allocation_pools', []), 'allocation_pools': subnet_data.get('ipv6_allocation_pools', []),
'host_routes': subnet_data.get('routes_ipv6', []), 'host_routes': subnet_data.get('routes_ipv6', []),
'tags': tags, 'tags': tags,
} }
if 'ipv6_address_mode' in subnet_data:
subnet_v6_spec[
'ipv6_address_mode'] = subnet_data['ipv6_address_mode']
if 'ipv6_ra_mode' in subnet_data:
subnet_v6_spec['ipv6_ra_mode'] = subnet_data['ipv6_ra_mode']
return subnet_v4_spec, subnet_v6_spec return subnet_v4_spec, subnet_v6_spec

View File

@ -54,8 +54,8 @@ subnets:
routes_ipv6: routes_ipv6:
- destination: 2001:db8:b::/64 - destination: 2001:db8:b::/64
nexthop: 2001:db8:a::1 nexthop: 2001:db8:a::1
ipv6_address_mode: null ipv6_address_mode: slaac
ipv6_ra_mode: null ipv6_ra_mode: slaac
enable_dhcp: false enable_dhcp: false
physical_network: storage_subnet01 physical_network: storage_subnet01
network_type: flat network_type: flat
@ -78,8 +78,8 @@ subnets:
routes_ipv6: routes_ipv6:
- destination: 2001:db8:a::/64 - destination: 2001:db8:a::/64
nexthop: 2001:db8:b::1 nexthop: 2001:db8:b::1
ipv6_address_mode: null ipv6_address_mode: slaac
ipv6_ra_mode: null ipv6_ra_mode: slaac
enable_dhcp: false enable_dhcp: false
physical_network: storage_subnet01 physical_network: storage_subnet01
network_type: flat network_type: flat
@ -212,7 +212,7 @@ class TestNetworkDataV2(tests_base.TestCase):
self.assertRegex(error_messages_dual, self.assertRegex(error_messages_dual,
(r"- subnets/additionalProperties/oneOf/dual_subnet" (r"- subnets/additionalProperties/oneOf/dual_subnet"
r"/ipv6_address_mode/enum: 'invalid' is not one of " r"/ipv6_address_mode/enum: 'invalid' is not one of "
r"\[None, 'dhcpv6-stateful', 'dhcpv6-stateless'\]" r"\['slaac', 'dhcpv6-stateful', 'dhcpv6-stateless'\]"
r"\n")) r"\n"))
self.assertRegex(error_messages_dual, self.assertRegex(error_messages_dual,
(r"- subnets/additionalProperties/oneOf/dual_subnet" (r"- subnets/additionalProperties/oneOf/dual_subnet"
@ -228,7 +228,7 @@ class TestNetworkDataV2(tests_base.TestCase):
self.assertRegex(error_messages_dual, self.assertRegex(error_messages_dual,
(r"- subnets/additionalProperties/oneOf/dual_subnet" (r"- subnets/additionalProperties/oneOf/dual_subnet"
r"/ipv6_ra_mode/enum: 'invalid' is not one of " r"/ipv6_ra_mode/enum: 'invalid' is not one of "
r"\[None, 'dhcpv6-stateful', 'dhcpv6-stateless'\]\n")) r"\['slaac', 'dhcpv6-stateful', 'dhcpv6-stateless'\]\n"))
self.assertRegex(error_messages_dual, self.assertRegex(error_messages_dual,
(r"- subnets/additionalProperties/oneOf/dual_subnet" (r"- subnets/additionalProperties/oneOf/dual_subnet"
r"/ipv6_subnet/ip_subnet_version: invalid does not " r"/ipv6_subnet/ip_subnet_version: invalid does not "
@ -379,7 +379,7 @@ class TestNetworkDataV2(tests_base.TestCase):
self.assertRegex(error_messages_ipv6, self.assertRegex(error_messages_ipv6,
(r"- subnets/additionalProperties/oneOf/ipv6_subnet" (r"- subnets/additionalProperties/oneOf/ipv6_subnet"
r"/ipv6_address_mode/enum: 'invalid' is not one of " r"/ipv6_address_mode/enum: 'invalid' is not one of "
r"\[None, 'dhcpv6-stateful', 'dhcpv6-stateless'\]" r"\['slaac', 'dhcpv6-stateful', 'dhcpv6-stateless'\]"
r"\n")) r"\n"))
self.assertRegex(error_messages_ipv6, self.assertRegex(error_messages_ipv6,
(r"- subnets/additionalProperties/oneOf/ipv6_subnet" (r"- subnets/additionalProperties/oneOf/ipv6_subnet"

View File

@ -349,8 +349,6 @@ class TestTripleoComposableNetwork(tests_base.TestCase):
'cidr': '2001:db8:a::/64', 'cidr': '2001:db8:a::/64',
'allocation_pools': [], 'allocation_pools': [],
'host_routes': [], 'host_routes': [],
'ipv6_address_mode': None,
'ipv6_ra_mode': None,
'tags': ['tripleo_vlan_id=100'], 'tags': ['tripleo_vlan_id=100'],
} }
subnet_v4_spec, subnet_v6_spec = plugin.create_subnet_spec( subnet_v4_spec, subnet_v6_spec = plugin.create_subnet_spec(
@ -406,8 +404,6 @@ class TestTripleoComposableNetwork(tests_base.TestCase):
'host_routes': [ 'host_routes': [
{'destination': '2001:db8:b::/64', 'nexthop': '2001:db8:a::1'} {'destination': '2001:db8:b::/64', 'nexthop': '2001:db8:a::1'}
], ],
'ipv6_address_mode': None,
'ipv6_ra_mode': None,
'tags': ['tripleo_vlan_id=100'], 'tags': ['tripleo_vlan_id=100'],
} }
subnet_v4_spec, subnet_v6_spec = plugin.create_subnet_spec( subnet_v4_spec, subnet_v6_spec = plugin.create_subnet_spec(
@ -449,8 +445,6 @@ class TestTripleoComposableNetwork(tests_base.TestCase):
network_id='net_id', network_id='net_id',
segment_id='segment_id', segment_id='segment_id',
is_dhcp_enabled=False, is_dhcp_enabled=False,
ipv6_address_mode=None,
ipv6_ra_mode=None,
) )
result = plugin.validate_subnet_update( result = plugin.validate_subnet_update(