Merge "Don't pass None to neutron for ipv6_address_mode/ipv6_ra_mode"
This commit is contained in:
commit
8e602a519a
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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(
|
||||||
|
|
Loading…
Reference in New Issue