From 7981f69c034c5d08abade7f62161aeec65045814 Mon Sep 17 00:00:00 2001 From: Giulio Fidente Date: Fri, 22 Jan 2016 10:47:34 +0100 Subject: [PATCH] Make the Neutron subnet ipv6_{ra,address}_mode configurable Use of slaac does not permit stati assignment of IPs to a Neutron port, so we default to dhcpv6-stateful instead. Change-Id: Id7f104be60ae05785a3d0a33516d7875a4698ed1 --- network/external_v6.yaml | 12 ++++++++++-- network/internal_api_v6.yaml | 12 ++++++++++-- network/storage_mgmt_v6.yaml | 12 ++++++++++-- network/storage_v6.yaml | 12 ++++++++++-- network/tenant_v6.yaml | 12 ++++++++++-- 5 files changed, 50 insertions(+), 10 deletions(-) diff --git a/network/external_v6.yaml b/network/external_v6.yaml index cfbe94c338..3e120f241b 100644 --- a/network/external_v6.yaml +++ b/network/external_v6.yaml @@ -34,6 +34,14 @@ parameters: default: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}] description: Ip allocation pool range for the external network. type: json + IPv6AddressMode: + default: dhcpv6-stateful + description: Neutron subnet IPv6 address mode + type: string + IPv6RAMode: + default: dhcpv6-stateful + description: Neutron subnet IPv6 router advertisement mode + type: string resources: ExternalNetwork: @@ -48,8 +56,8 @@ resources: type: OS::Neutron::Subnet properties: ip_version: 6 - ipv6_address_mode: slaac - ipv6_ra_mode: slaac + ipv6_address_mode: {get_param: IPv6AddressMode} + ipv6_ra_mode: {get_param: IPv6RAMode} cidr: {get_param: ExternalNetCidr} name: {get_param: ExternalSubnetName} network: {get_resource: ExternalNetwork} diff --git a/network/internal_api_v6.yaml b/network/internal_api_v6.yaml index 9f5c68b2c8..68c14fbe9b 100644 --- a/network/internal_api_v6.yaml +++ b/network/internal_api_v6.yaml @@ -34,6 +34,14 @@ parameters: default: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}] description: Ip allocation pool range for the internal API network. type: json + IPv6AddressMode: + default: dhcpv6-stateful + description: Neutron subnet IPv6 address mode + type: string + IPv6RAMode: + default: dhcpv6-stateful + description: Neutron subnet IPv6 router advertisement mode + type: string resources: InternalApiNetwork: @@ -48,8 +56,8 @@ resources: type: OS::Neutron::Subnet properties: ip_version: 6 - ipv6_address_mode: slaac - ipv6_ra_mode: slaac + ipv6_address_mode: {get_param: IPv6AddressMode} + ipv6_ra_mode: {get_param: IPv6RAMode} cidr: {get_param: InternalApiNetCidr} name: {get_param: InternalApiSubnetName} network: {get_resource: InternalApiNetwork} diff --git a/network/storage_mgmt_v6.yaml b/network/storage_mgmt_v6.yaml index cde7865251..f05644ef71 100644 --- a/network/storage_mgmt_v6.yaml +++ b/network/storage_mgmt_v6.yaml @@ -34,6 +34,14 @@ parameters: default: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] description: Ip allocation pool range for the storage mgmt network. type: json + IPv6AddressMode: + default: dhcpv6-stateful + description: Neutron subnet IPv6 address mode + type: string + IPv6RAMode: + default: dhcpv6-stateful + description: Neutron subnet IPv6 router advertisement mode + type: string resources: StorageMgmtNetwork: @@ -48,8 +56,8 @@ resources: type: OS::Neutron::Subnet properties: ip_version: 6 - ipv6_address_mode: slaac - ipv6_ra_mode: slaac + ipv6_address_mode: {get_param: IPv6AddressMode} + ipv6_ra_mode: {get_param: IPv6RAMode} cidr: {get_param: StorageMgmtNetCidr} name: {get_param: StorageMgmtSubnetName} network: {get_resource: StorageMgmtNetwork} diff --git a/network/storage_v6.yaml b/network/storage_v6.yaml index 4ea7341421..36a6fae895 100644 --- a/network/storage_v6.yaml +++ b/network/storage_v6.yaml @@ -34,6 +34,14 @@ parameters: default: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] description: Ip allocation pool range for the storage network. type: json + IPv6AddressMode: + default: dhcpv6-stateful + description: Neutron subnet IPv6 address mode + type: string + IPv6RAMode: + default: dhcpv6-stateful + description: Neutron subnet IPv6 router advertisement mode + type: string resources: StorageNetwork: @@ -48,8 +56,8 @@ resources: type: OS::Neutron::Subnet properties: ip_version: 6 - ipv6_address_mode: slaac - ipv6_ra_mode: slaac + ipv6_address_mode: {get_param: IPv6AddressMode} + ipv6_ra_mode: {get_param: IPv6RAMode} cidr: {get_param: StorageNetCidr} name: {get_param: StorageSubnetName} network: {get_resource: StorageNetwork} diff --git a/network/tenant_v6.yaml b/network/tenant_v6.yaml index b20c9528fe..b653eaf72f 100644 --- a/network/tenant_v6.yaml +++ b/network/tenant_v6.yaml @@ -34,6 +34,14 @@ parameters: default: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}] description: Ip allocation pool range for the tenant network. type: json + IPv6AddressMode: + default: dhcpv6-stateful + description: Neutron subnet IPv6 address mode + type: string + IPv6RAMode: + default: dhcpv6-stateful + description: Neutron subnet IPv6 router advertisement mode + type: string resources: TenantNetwork: @@ -48,8 +56,8 @@ resources: type: OS::Neutron::Subnet properties: ip_version: 6 - ipv6_address_mode: slaac - ipv6_ra_mode: slaac + ipv6_address_mode: {get_param: IPv6AddressMode} + ipv6_ra_mode: {get_param: IPv6RAMode} cidr: {get_param: TenantNetCidr} name: {get_param: TenantSubnetName} network: {get_resource: TenantNetwork}