Browse Source
This change adds a system management network to all overcloud nodes. The purpose of this network is for system administration, for access to infrastructure services like DNS or NTP, or for monitoring. This allows the management network to be placed on a bond for redundancy, or for the system management network to be an out-of-band network with no routing in or out. The management network might also be configured as a default route instead of the provisioning 'ctlplane' network. This change does not enable the management network by default. An environment file named network-management.yaml may be included to enable the network and ports for each role. The included NIC config templates have been updated with a block that may be uncommented when the management network is enabled. This change also contains some minor cleanup to the NIC templates, particularly the multiple nic templates. Change-Id: I0813a13f60a4f797be04b34258a2cffa9ea7e84fchanges/57/226057/26
38 changed files with 581 additions and 18 deletions
@ -0,0 +1,24 @@
|
||||
# Enable the creation of a 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 |
||||
# single-nic-vlans-mgmt templates for an example. |
||||
resource_registry: |
||||
OS::TripleO::Network::Management: ../network/management.yaml |
||||
|
||||
# Port assignments for the controller role |
||||
OS::TripleO::Controller::Ports::ManagementPort: ../network/ports/management.yaml |
||||
|
||||
# Port assignments for the compute role |
||||
OS::TripleO::Compute::Ports::ManagementPort: ../network/ports/management.yaml |
||||
|
||||
# Port assignments for the ceph storage role |
||||
OS::TripleO::CephStorage::Ports::ManagementPort: ../network/ports/management.yaml |
||||
|
||||
# Port assignments for the swift storage role |
||||
OS::TripleO::SwiftStorage::Ports::ManagementPort: ../network/ports/management.yaml |
||||
|
||||
# Port assignments for the block storage role |
||||
OS::TripleO::BlockStorage::Ports::ManagementPort: ../network/ports/management.yaml |
@ -0,0 +1,64 @@
|
||||
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: '10.0.1.0/24' |
||||
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: string |
||||
ManagementNetAdminStateUp: |
||||
default: false |
||||
description: This admin state of of the network. |
||||
type: boolean |
||||
ManagementNetEnableDHCP: |
||||
default: false |
||||
description: Whether to enable DHCP on the associated subnet. |
||||
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': '10.0.1.4', 'end': '10.0.1.250'}] |
||||
description: Ip allocation pool range for the management network. |
||||
type: json |
||||
|
||||
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: |
||||
cidr: {get_param: ManagementNetCidr} |
||||
enable_dhcp: {get_param: ManagementNetEnableDHCP} |
||||
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} |
||||
|
@ -0,0 +1,42 @@
|
||||
heat_template_version: 2015-04-30 |
||||
|
||||
description: > |
||||
Creates a port on the management network. The IP address will be chosen |
||||
automatically if FixedIPs is empty. |
||||
|
||||
parameters: |
||||
ManagementNetName: |
||||
description: Name of the management neutron network |
||||
default: management |
||||
type: string |
||||
PortName: |
||||
description: Name of the port |
||||
default: '' |
||||
type: string |
||||
ControlPlaneIP: # Here for compatibility with noop.yaml |
||||
description: IP address on the control plane |
||||
type: string |
||||
|
||||
resources: |
||||
|
||||
ManagementPort: |
||||
type: OS::Neutron::Port |
||||
properties: |
||||
network: {get_param: ManagementNetName} |
||||
name: {get_param: PortName} |
||||
replacement_policy: AUTO |
||||
|
||||
outputs: |
||||
ip_address: |
||||
description: management network IP |
||||
value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]} |
||||
ip_subnet: |
||||
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?) |
||||
description: IP/Subnet CIDR for the management network IP |
||||
value: |
||||
list_join: |
||||
- '' |
||||
- - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]} |
||||
- '/' |
||||
- {get_attr: [ManagementPort, subnets, 0, cidr, -2]} |
||||
- {get_attr: [ManagementPort, subnets, 0, cidr, -1]} |