Allow for usage of pre-allocated IPs for the management network

Id3d4f12235501ae77200430a2dc022f378dce336 added support for pre-allocated
IPs on the other overlay networks, but because the patch adding the
managment network (I0813a13f60a4f797be04b34258a2cffa9ea7e84f) was
under review around the same time, we missed adding the from_pool
capability to the ManagementNetwork.

Change-Id: If99f37634d5da7e7fb7cfc31232e926bd5ff074a
This commit is contained in:
Steven Hardy 2016-02-11 10:57:54 +00:00 committed by Giulio Fidente
parent 6be3254347
commit 07e99fef9b
4 changed files with 54 additions and 0 deletions

View File

@ -10,6 +10,7 @@ resource_registry:
OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_from_pool.yaml
OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_from_pool.yaml
OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant_from_pool.yaml
OS::TripleO::Controller::Ports::ManagementPort: ../network/ports/management_from_pool.yaml
parameter_defaults:
# When using an external loadbalancer set the following in parameter_defaults
@ -34,4 +35,6 @@ parameter_defaults:
- 172.16.3.253
tenant:
- 172.16.0.253
management:
- 172.16.4.253
EnableLoadBalancer: false

View File

@ -16,6 +16,12 @@ parameters:
ControlPlaneIP: # Here for compatibility with noop.yaml
description: IP address on the control plane
type: string
IPPool: # Here for compatibility with from_pool.yaml
default: {}
type: json
NodeIndex: # Here for compatibility with from_pool.yaml
default: 0
type: number
resources:

View File

@ -0,0 +1,43 @@
heat_template_version: 2015-04-30
description: >
Returns an IP from a network mapped list of IPs
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: '172.16.4.0/24'
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_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_param: ManagementNetCidr}, 1]}

View File

@ -823,6 +823,8 @@ resources:
ManagementPort:
type: OS::TripleO::Controller::Ports::ManagementPort
properties:
IPPool: {get_param: ControllerIPs}
NodeIndex: {get_param: NodeIndex}
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
NetIpMap: