Add IPv6 support for the management network
This change introduces the ability to use IPv6 addressing for the management network by passing the network-management-v6.yaml environment file. It also adjusts the network-management.yaml environment file to point to the right network config templates. Change-Id: I7f797c49f03b2623a08e033bdf45772edff0f08f
This commit is contained in:
parent
2b6c7dbeff
commit
68bdb72605
25
environments/network-management-v6.yaml
Normal file
25
environments/network-management-v6.yaml
Normal file
@ -0,0 +1,25 @@
|
||||
# Enable the creation of an IPv6 system management network. This
|
||||
# creates a Neutron network for isolated Overcloud
|
||||
# system management traffic and configures each role to
|
||||
# assign a port (related to that role) on that network.
|
||||
# Note that the basic sample NIC configuration templates
|
||||
# do not include the management network, see the
|
||||
# comments in the sample network config templates in
|
||||
# network/config/ for an example.
|
||||
resource_registry:
|
||||
OS::TripleO::Network::Management: ../network/management_v6.yaml
|
||||
|
||||
# Port assignments for the controller role
|
||||
OS::TripleO::Controller::Ports::ManagementPort: ../network/ports/management_v6.yaml
|
||||
|
||||
# Port assignments for the compute role
|
||||
OS::TripleO::Compute::Ports::ManagementPort: ../network/ports/management_v6.yaml
|
||||
|
||||
# Port assignments for the ceph storage role
|
||||
OS::TripleO::CephStorage::Ports::ManagementPort: ../network/ports/management_v6.yaml
|
||||
|
||||
# Port assignments for the swift storage role
|
||||
OS::TripleO::SwiftStorage::Ports::ManagementPort: ../network/ports/management_v6.yaml
|
||||
|
||||
# Port assignments for the block storage role
|
||||
OS::TripleO::BlockStorage::Ports::ManagementPort: ../network/ports/management_v6.yaml
|
@ -4,7 +4,8 @@
|
||||
# assign a port (related to that role) on that network.
|
||||
# Note that the basic sample NIC configuration templates
|
||||
# do not include the management network, see the
|
||||
# single-nic-vlans-mgmt templates for an example.
|
||||
# comments in the sample network config templates in
|
||||
# network/config/ for an example.
|
||||
resource_registry:
|
||||
OS::TripleO::Network::Management: ../network/management.yaml
|
||||
|
||||
|
69
network/management_v6.yaml
Normal file
69
network/management_v6.yaml
Normal file
@ -0,0 +1,69 @@
|
||||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Management network. System administration, SSH, DNS, NTP, etc. This network
|
||||
would usually be the default gateway for the non-controller nodes.
|
||||
|
||||
parameters:
|
||||
# the defaults here work for static IP assignment (IPAM) only
|
||||
ManagementNetCidr:
|
||||
default: 'fd00:fd00:fd00:6000::/64'
|
||||
description: Cidr for the management network.
|
||||
type: string
|
||||
ManagementNetValueSpecs:
|
||||
default: {'provider:physical_network': 'management', 'provider:network_type': 'flat'}
|
||||
description: Value specs for the management network.
|
||||
type: json
|
||||
ManagementNetAdminStateUp:
|
||||
default: false
|
||||
description: This admin state of of the network.
|
||||
type: boolean
|
||||
ManagementNetShared:
|
||||
default: false
|
||||
description: Whether this network is shared across all tenants.
|
||||
type: boolean
|
||||
ManagementNetName:
|
||||
default: management
|
||||
description: The name of the management network.
|
||||
type: string
|
||||
ManagementSubnetName:
|
||||
default: management_subnet
|
||||
description: The name of the management subnet in Neutron.
|
||||
type: string
|
||||
ManagementAllocationPools:
|
||||
default: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}]
|
||||
description: Ip allocation pool range for the management 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:
|
||||
ManagementNetwork:
|
||||
type: OS::Neutron::Net
|
||||
properties:
|
||||
admin_state_up: {get_param: ManagementNetAdminStateUp}
|
||||
name: {get_param: ManagementNetName}
|
||||
shared: {get_param: ManagementNetShared}
|
||||
value_specs: {get_param: ManagementNetValueSpecs}
|
||||
|
||||
ManagementSubnet:
|
||||
type: OS::Neutron::Subnet
|
||||
properties:
|
||||
ip_version: 6
|
||||
ipv6_address_mode: {get_param: IPv6AddressMode}
|
||||
ipv6_ra_mode: {get_param: IPv6RAMode}
|
||||
cidr: {get_param: ManagementNetCidr}
|
||||
name: {get_param: ManagementSubnetName}
|
||||
network: {get_resource: ManagementNetwork}
|
||||
allocation_pools: {get_param: ManagementAllocationPools}
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
description: Neutron management network
|
||||
value: {get_resource: ManagementNetwork}
|
52
network/ports/management_from_pool_v6.yaml
Normal file
52
network/ports/management_from_pool_v6.yaml
Normal file
@ -0,0 +1,52 @@
|
||||
heat_template_version: 2015-10-15
|
||||
|
||||
description: >
|
||||
Returns an IP from a network mapped list of IPs. This version is for IPv6
|
||||
addresses. The ip_address_uri output will have brackets for use in URLs.
|
||||
|
||||
parameters:
|
||||
ManagementNetName:
|
||||
description: Name of the management network
|
||||
default: management
|
||||
type: string
|
||||
PortName:
|
||||
description: Name of the port
|
||||
default: ''
|
||||
type: string
|
||||
ControlPlaneIP: # Here for compatability with noop.yaml
|
||||
description: IP address on the control plane
|
||||
default: ''
|
||||
type: string
|
||||
IPPool:
|
||||
default: {}
|
||||
description: A network mapped list of IPs
|
||||
type: json
|
||||
NodeIndex:
|
||||
default: 0
|
||||
description: Index of the IP to get from Pool
|
||||
type: number
|
||||
ManagementNetCidr:
|
||||
default: 'fd00:fd00:fd00:6000::/64'
|
||||
description: Cidr for the management network.
|
||||
type: string
|
||||
|
||||
outputs:
|
||||
ip_address:
|
||||
description: management network IP
|
||||
value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
|
||||
ip_address_uri:
|
||||
description: management network IP (for compatibility with management_v6.yaml)
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - '['
|
||||
- {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
|
||||
- ']'
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the management network IP
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
|
||||
- '/'
|
||||
- {str_split: ['/', {get_attr: [ManagementPort, subnets, 0, cidr]}, 1]}
|
Loading…
Reference in New Issue
Block a user