Merge "Allow for usage of pre-allocated IPs for the controller nodes" into stable/liberty
This commit is contained in:
commit
dea98553e1
|
@ -1,14 +1,37 @@
|
||||||
resource_registry:
|
resource_registry:
|
||||||
OS::TripleO::Network::Ports::NetVipMap: ../network/ports/net_vip_map_external.yaml
|
OS::TripleO::Network::Ports::NetVipMap: ../network/ports/net_vip_map_external.yaml
|
||||||
|
OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/noop.yaml
|
||||||
|
OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/noop.yaml
|
||||||
|
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/noop.yaml
|
||||||
|
OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/noop.yaml
|
||||||
|
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/from_service.yaml
|
||||||
|
OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_from_pool.yaml
|
||||||
|
OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml
|
||||||
|
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
|
||||||
|
|
||||||
parameter_defaults:
|
parameter_defaults:
|
||||||
# When using an external loadbalancer set the following in parameter_defaults
|
# When using an external loadbalancer set the following in parameter_defaults
|
||||||
# to control your VIPs (currently one per network)
|
# to control your VIPs (currently one per network)
|
||||||
# NOTE: we will eventually move to one VIP per service
|
# NOTE: we will eventually move to one VIP per service
|
||||||
#
|
#
|
||||||
# ControlNetworkVip:
|
ControlPlaneIP: 192.0.2.251
|
||||||
# ExternalNetworkVip:
|
ExternalNetworkVip: 10.0.0.251
|
||||||
# InternalApiNetworkVip:
|
InternalApiNetworkVip: 172.16.2.251
|
||||||
# StorageNetworkVip:
|
StorageNetworkVip: 172.16.1.251
|
||||||
# StorageMgmtNetworkVip:
|
StorageMgmtNetworkVip: 172.16.3.251
|
||||||
EnableLoadBalancer: false
|
ServiceVips:
|
||||||
|
redis: 172.16.2.252
|
||||||
|
ControllerIPs:
|
||||||
|
external:
|
||||||
|
- 10.0.0.253
|
||||||
|
internal_api:
|
||||||
|
- 172.16.2.253
|
||||||
|
storage:
|
||||||
|
- 172.16.1.253
|
||||||
|
storage_mgmt:
|
||||||
|
- 172.16.3.253
|
||||||
|
tenant:
|
||||||
|
- 172.16.0.253
|
||||||
|
EnableLoadBalancer: false
|
||||||
|
|
|
@ -8,6 +8,13 @@ resource_registry:
|
||||||
OS::TripleO::Network::Storage: ../network/storage.yaml
|
OS::TripleO::Network::Storage: ../network/storage.yaml
|
||||||
OS::TripleO::Network::Tenant: ../network/tenant.yaml
|
OS::TripleO::Network::Tenant: ../network/tenant.yaml
|
||||||
|
|
||||||
|
# Port assignments for the VIPs
|
||||||
|
OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external.yaml
|
||||||
|
OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml
|
||||||
|
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml
|
||||||
|
OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml
|
||||||
|
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml
|
||||||
|
|
||||||
# Port assignments for the controller role
|
# Port assignments for the controller role
|
||||||
OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external.yaml
|
OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external.yaml
|
||||||
OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api.yaml
|
OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api.yaml
|
||||||
|
@ -33,6 +40,3 @@ resource_registry:
|
||||||
OS::TripleO::BlockStorage::Ports::InternalApiPort: ../network/ports/internal_api.yaml
|
OS::TripleO::BlockStorage::Ports::InternalApiPort: ../network/ports/internal_api.yaml
|
||||||
OS::TripleO::BlockStorage::Ports::StoragePort: ../network/ports/storage.yaml
|
OS::TripleO::BlockStorage::Ports::StoragePort: ../network/ports/storage.yaml
|
||||||
OS::TripleO::BlockStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml
|
OS::TripleO::BlockStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml
|
||||||
|
|
||||||
# Port assignments for service virtual IPs for the controller role
|
|
||||||
OS::TripleO::Controller::Ports::RedisVipPort: ../network/ports/vip.yaml
|
|
||||||
|
|
|
@ -5,6 +5,10 @@ description: >
|
||||||
The IP address will be chosen automatically if FixedIPs is empty.
|
The IP address will be chosen automatically if FixedIPs is empty.
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
|
ServiceName: # Here for compatibility with from_service.yaml
|
||||||
|
description: Name of the service to lookup
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
NetworkName:
|
NetworkName:
|
||||||
description: # Here for compatibility with isolated networks
|
description: # Here for compatibility with isolated networks
|
||||||
default: ctlplane
|
default: ctlplane
|
||||||
|
|
|
@ -27,6 +27,12 @@ parameters:
|
||||||
[{'ip_address':'1.2.3.4'}]
|
[{'ip_address':'1.2.3.4'}]
|
||||||
default: []
|
default: []
|
||||||
type: json
|
type: json
|
||||||
|
IPPool: # Here for compatibility with from_pool.yaml
|
||||||
|
default: {}
|
||||||
|
type: json
|
||||||
|
NodeIndex: # Here for compatibility with from_pool.yaml
|
||||||
|
default: 0
|
||||||
|
type: number
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Returns an IP from a network mapped list of IPs
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
ExternalNetName:
|
||||||
|
description: Name of the external network
|
||||||
|
default: external
|
||||||
|
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
|
||||||
|
ExternalNetCidr:
|
||||||
|
default: '10.0.0.0/24'
|
||||||
|
description: Cidr for the external network.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
ip_address:
|
||||||
|
description: external network IP
|
||||||
|
value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
|
||||||
|
ip_subnet:
|
||||||
|
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||||
|
description: IP/Subnet CIDR for the external network IP
|
||||||
|
value:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
|
||||||
|
- '/'
|
||||||
|
- {get_param: [ExternalNetCidr, -2]}
|
||||||
|
- {get_param: [ExternalNetCidr, -1]}
|
|
@ -0,0 +1,34 @@
|
||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Returns an IP from a service mapped list of IPs
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
ServiceName:
|
||||||
|
description: Name of the service to lookup
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
|
NetworkName: # Here for compatability with ctlplane_vip.yaml
|
||||||
|
description: Name of the network where the VIP will be created
|
||||||
|
default: ctlplane
|
||||||
|
type: string
|
||||||
|
PortName: # Here for compatability with ctlplane_vip.yaml
|
||||||
|
description: Name of the port
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
|
ControlPlaneIP: # Here for compatability with ctlplane_vip.yaml
|
||||||
|
description: IP address on the control plane
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
|
ControlPlaneNetwork: # Here for compatability with ctlplane_vip.yaml
|
||||||
|
description: The name of the undercloud Neutron control plane
|
||||||
|
default: ctlplane
|
||||||
|
type: string
|
||||||
|
ServiceVips:
|
||||||
|
default: {}
|
||||||
|
type: json
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
ip_address:
|
||||||
|
description: network IP
|
||||||
|
value: {get_param: [ServiceVips, {get_param: ServiceName}]}
|
|
@ -16,6 +16,12 @@ parameters:
|
||||||
description: IP address on the control plane
|
description: IP address on the control plane
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
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:
|
resources:
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Returns an IP from a network mapped list of IPs
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
InternalApiNetName:
|
||||||
|
description: Name of the internal API network
|
||||||
|
default: internal_api
|
||||||
|
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
|
||||||
|
InternalApiNetCidr:
|
||||||
|
default: '172.16.2.0/24'
|
||||||
|
description: Cidr for the internal API network.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
ip_address:
|
||||||
|
description: internal API network IP
|
||||||
|
value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
|
||||||
|
ip_subnet:
|
||||||
|
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||||
|
description: IP/Subnet CIDR for the internal API network IP
|
||||||
|
value:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
|
||||||
|
- '/'
|
||||||
|
- {get_param: [InternalApiNetCidr, -2]}
|
||||||
|
- {get_param: [InternalApiNetCidr, -1]}
|
|
@ -2,7 +2,7 @@ heat_template_version: 2015-04-30
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
# Set these via parameter defaults to configure external VIPs
|
# Set these via parameter defaults to configure external VIPs
|
||||||
ControlNetworkVip:
|
ControlPlaneIP:
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
type: string
|
||||||
ExternalNetworkVip:
|
ExternalNetworkVip:
|
||||||
|
@ -43,7 +43,7 @@ outputs:
|
||||||
A Hash containing a mapping of network names to assigned IPs
|
A Hash containing a mapping of network names to assigned IPs
|
||||||
for a specific machine.
|
for a specific machine.
|
||||||
value:
|
value:
|
||||||
ctlplane: {get_param: ControlNetworkVip}
|
ctlplane: {get_param: ControlPlaneIP}
|
||||||
external: {get_param: ExternalNetworkVip}
|
external: {get_param: ExternalNetworkVip}
|
||||||
internal_api: {get_param: InternalApiNetworkVip}
|
internal_api: {get_param: InternalApiNetworkVip}
|
||||||
storage: {get_param: StorageNetworkVip}
|
storage: {get_param: StorageNetworkVip}
|
||||||
|
|
|
@ -4,6 +4,10 @@ description: >
|
||||||
Returns the control plane port (provisioning network) as the ip_address.
|
Returns the control plane port (provisioning network) as the ip_address.
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
|
ServiceName: # Here for compatibility with from_service.yaml
|
||||||
|
description: Name of the service to lookup
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
ControlPlaneIP:
|
ControlPlaneIP:
|
||||||
description: IP address on the control plane
|
description: IP address on the control plane
|
||||||
type: string
|
type: string
|
||||||
|
@ -27,6 +31,14 @@ parameters:
|
||||||
default: '24'
|
default: '24'
|
||||||
description: The subnet CIDR of the control plane network.
|
description: The subnet CIDR of the control plane network.
|
||||||
type: string
|
type: string
|
||||||
|
IPPool: # Here for compatibility with from_pool.yaml
|
||||||
|
default: {}
|
||||||
|
description: A network mapped list of IPs
|
||||||
|
type: json
|
||||||
|
NodeIndex: # Here for compatibility with from_pool.yaml
|
||||||
|
default: 0
|
||||||
|
description: Index of the IP to get from Pool
|
||||||
|
type: number
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
ip_address:
|
ip_address:
|
||||||
|
|
|
@ -16,6 +16,12 @@ parameters:
|
||||||
description: IP address on the control plane
|
description: IP address on the control plane
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
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:
|
resources:
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Returns an IP from a network mapped list of IPs
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
StorageNetName:
|
||||||
|
description: Name of the storage network
|
||||||
|
default: storage
|
||||||
|
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
|
||||||
|
StorageNetCidr:
|
||||||
|
default: '172.16.1.0/24'
|
||||||
|
description: Cidr for the storage network.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
ip_address:
|
||||||
|
description: storage network IP
|
||||||
|
value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
|
||||||
|
ip_subnet:
|
||||||
|
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||||
|
description: IP/Subnet CIDR for the storage network IP
|
||||||
|
value:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
|
||||||
|
- '/'
|
||||||
|
- {get_param: [StorageNetCidr, -2]}
|
||||||
|
- {get_param: [StorageNetCidr, -1]}
|
|
@ -16,6 +16,12 @@ parameters:
|
||||||
description: IP address on the control plane
|
description: IP address on the control plane
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
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:
|
resources:
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Returns an IP from a network mapped list of IPs
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
StorageMgmtNetName:
|
||||||
|
description: Name of the storage MGMT network
|
||||||
|
default: storage_mgmt
|
||||||
|
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
|
||||||
|
StorageMgmtNetCidr:
|
||||||
|
default: '172.16.3.0/24'
|
||||||
|
description: Cidr for the storage MGMT network.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
ip_address:
|
||||||
|
description: storage MGMT network IP
|
||||||
|
value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
|
||||||
|
ip_subnet:
|
||||||
|
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||||
|
description: IP/Subnet CIDR for the storage MGMT network IP
|
||||||
|
value:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
|
||||||
|
- '/'
|
||||||
|
- {get_param: [StorageMgmtNetCidr, -2]}
|
||||||
|
- {get_param: [StorageMgmtNetCidr, -1]}
|
|
@ -16,6 +16,12 @@ parameters:
|
||||||
description: IP address on the control plane
|
description: IP address on the control plane
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
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:
|
resources:
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Returns an IP from a network mapped list of IPs
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
TenantNetName:
|
||||||
|
description: Name of the tenant network
|
||||||
|
default: tenant
|
||||||
|
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
|
||||||
|
TenantNetCidr:
|
||||||
|
default: '172.16.0.0/24'
|
||||||
|
description: Cidr for the tenant network.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
ip_address:
|
||||||
|
description: tenant network IP
|
||||||
|
value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
|
||||||
|
ip_subnet:
|
||||||
|
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||||
|
description: IP/Subnet CIDR for the tenant network IP
|
||||||
|
value:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
|
||||||
|
- '/'
|
||||||
|
- {get_param: [TenantNetCidr, -2]}
|
||||||
|
- {get_param: [TenantNetCidr, -1]}
|
|
@ -5,6 +5,10 @@ description: >
|
||||||
The IP address will be chosen automatically if FixedIPs is empty.
|
The IP address will be chosen automatically if FixedIPs is empty.
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
|
ServiceName: # Here for compatibility with from_service.yaml
|
||||||
|
description: Name of the service to lookup
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
NetworkName:
|
NetworkName:
|
||||||
description: Name of the network where the VIP will be created
|
description: Name of the network where the VIP will be created
|
||||||
default: internal_api
|
default: internal_api
|
||||||
|
|
|
@ -67,6 +67,13 @@ resource_registry:
|
||||||
OS::TripleO::Network::Ports::NetIpSubnetMap: network/ports/net_ip_subnet_map.yaml
|
OS::TripleO::Network::Ports::NetIpSubnetMap: network/ports/net_ip_subnet_map.yaml
|
||||||
OS::TripleO::Network::Ports::NetIpListMap: network/ports/net_ip_list_map.yaml
|
OS::TripleO::Network::Ports::NetIpListMap: network/ports/net_ip_list_map.yaml
|
||||||
|
|
||||||
|
# Port assignments for the VIPs
|
||||||
|
OS::TripleO::Network::Ports::ExternalVipPort: network/ports/noop.yaml
|
||||||
|
OS::TripleO::Network::Ports::InternalApiVipPort: network/ports/noop.yaml
|
||||||
|
OS::TripleO::Network::Ports::StorageVipPort: network/ports/noop.yaml
|
||||||
|
OS::TripleO::Network::Ports::StorageMgmtVipPort: network/ports/noop.yaml
|
||||||
|
OS::TripleO::Network::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml
|
||||||
|
|
||||||
# Port assignments for the controller role
|
# Port assignments for the controller role
|
||||||
OS::TripleO::Controller::Ports::ExternalPort: network/ports/noop.yaml
|
OS::TripleO::Controller::Ports::ExternalPort: network/ports/noop.yaml
|
||||||
OS::TripleO::Controller::Ports::InternalApiPort: network/ports/noop.yaml
|
OS::TripleO::Controller::Ports::InternalApiPort: network/ports/noop.yaml
|
||||||
|
@ -93,9 +100,6 @@ resource_registry:
|
||||||
OS::TripleO::BlockStorage::Ports::StoragePort: network/ports/noop.yaml
|
OS::TripleO::BlockStorage::Ports::StoragePort: network/ports/noop.yaml
|
||||||
OS::TripleO::BlockStorage::Ports::StorageMgmtPort: network/ports/noop.yaml
|
OS::TripleO::BlockStorage::Ports::StorageMgmtPort: network/ports/noop.yaml
|
||||||
|
|
||||||
# Port assignments for service virtual IPs for the controller role
|
|
||||||
OS::TripleO::Controller::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml
|
|
||||||
|
|
||||||
# Service Endpoint Mappings
|
# Service Endpoint Mappings
|
||||||
OS::TripleO::Endpoint: network/endpoints/endpoint.yaml
|
OS::TripleO::Endpoint: network/endpoints/endpoint.yaml
|
||||||
OS::TripleO::EndpointMap: network/endpoints/endpoint_map.yaml
|
OS::TripleO::EndpointMap: network/endpoints/endpoint_map.yaml
|
||||||
|
|
|
@ -1173,17 +1173,18 @@ resources:
|
||||||
|
|
||||||
RedisVirtualIP:
|
RedisVirtualIP:
|
||||||
depends_on: Networks
|
depends_on: Networks
|
||||||
type: OS::TripleO::Controller::Ports::RedisVipPort
|
type: OS::TripleO::Network::Ports::RedisVipPort
|
||||||
properties:
|
properties:
|
||||||
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
||||||
ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
|
ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
|
||||||
PortName: redis_virtual_ip
|
PortName: redis_virtual_ip
|
||||||
NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
|
NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
|
||||||
|
ServiceName: redis
|
||||||
|
|
||||||
# The public VIP is on the External net, falls back to ctlplane
|
# The public VIP is on the External net, falls back to ctlplane
|
||||||
PublicVirtualIP:
|
PublicVirtualIP:
|
||||||
depends_on: Networks
|
depends_on: Networks
|
||||||
type: OS::TripleO::Controller::Ports::ExternalPort
|
type: OS::TripleO::Network::Ports::ExternalVipPort
|
||||||
properties:
|
properties:
|
||||||
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
||||||
ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
|
ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
|
||||||
|
@ -1192,21 +1193,21 @@ resources:
|
||||||
|
|
||||||
InternalApiVirtualIP:
|
InternalApiVirtualIP:
|
||||||
depends_on: Networks
|
depends_on: Networks
|
||||||
type: OS::TripleO::Controller::Ports::InternalApiPort
|
type: OS::TripleO::Network::Ports::InternalApiVipPort
|
||||||
properties:
|
properties:
|
||||||
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
||||||
PortName: internal_api_virtual_ip
|
PortName: internal_api_virtual_ip
|
||||||
|
|
||||||
StorageVirtualIP:
|
StorageVirtualIP:
|
||||||
depends_on: Networks
|
depends_on: Networks
|
||||||
type: OS::TripleO::Controller::Ports::StoragePort
|
type: OS::TripleO::Network::Ports::StorageVipPort
|
||||||
properties:
|
properties:
|
||||||
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
||||||
PortName: storage_virtual_ip
|
PortName: storage_virtual_ip
|
||||||
|
|
||||||
StorageMgmtVirtualIP:
|
StorageMgmtVirtualIP:
|
||||||
depends_on: Networks
|
depends_on: Networks
|
||||||
type: OS::TripleO::Controller::Ports::StorageMgmtPort
|
type: OS::TripleO::Network::Ports::StorageMgmtVipPort
|
||||||
properties:
|
properties:
|
||||||
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
||||||
PortName: storage_management_virtual_ip
|
PortName: storage_management_virtual_ip
|
||||||
|
|
|
@ -85,6 +85,15 @@ parameters:
|
||||||
description: |
|
description: |
|
||||||
Controller specific hiera configuration data to inject into the cluster.
|
Controller specific hiera configuration data to inject into the cluster.
|
||||||
type: json
|
type: json
|
||||||
|
ControllerIPs:
|
||||||
|
default: {}
|
||||||
|
description: >
|
||||||
|
A network mapped list of IPs to assign to Controllers in the following form:
|
||||||
|
{
|
||||||
|
"internal_api": ["a.b.c.d", "e.f.g.h"],
|
||||||
|
...
|
||||||
|
}
|
||||||
|
type: json
|
||||||
ControlVirtualInterface:
|
ControlVirtualInterface:
|
||||||
default: 'br-ex'
|
default: 'br-ex'
|
||||||
description: Interface where virtual ip will be assigned.
|
description: Interface where virtual ip will be assigned.
|
||||||
|
@ -660,26 +669,36 @@ resources:
|
||||||
ExternalPort:
|
ExternalPort:
|
||||||
type: OS::TripleO::Controller::Ports::ExternalPort
|
type: OS::TripleO::Controller::Ports::ExternalPort
|
||||||
properties:
|
properties:
|
||||||
|
IPPool: {get_param: ControllerIPs}
|
||||||
|
NodeIndex: {get_param: NodeIndex}
|
||||||
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
|
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
|
||||||
|
|
||||||
InternalApiPort:
|
InternalApiPort:
|
||||||
type: OS::TripleO::Controller::Ports::InternalApiPort
|
type: OS::TripleO::Controller::Ports::InternalApiPort
|
||||||
properties:
|
properties:
|
||||||
|
IPPool: {get_param: ControllerIPs}
|
||||||
|
NodeIndex: {get_param: NodeIndex}
|
||||||
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
|
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
|
||||||
|
|
||||||
StoragePort:
|
StoragePort:
|
||||||
type: OS::TripleO::Controller::Ports::StoragePort
|
type: OS::TripleO::Controller::Ports::StoragePort
|
||||||
properties:
|
properties:
|
||||||
|
IPPool: {get_param: ControllerIPs}
|
||||||
|
NodeIndex: {get_param: NodeIndex}
|
||||||
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
|
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
|
||||||
|
|
||||||
StorageMgmtPort:
|
StorageMgmtPort:
|
||||||
type: OS::TripleO::Controller::Ports::StorageMgmtPort
|
type: OS::TripleO::Controller::Ports::StorageMgmtPort
|
||||||
properties:
|
properties:
|
||||||
|
IPPool: {get_param: ControllerIPs}
|
||||||
|
NodeIndex: {get_param: NodeIndex}
|
||||||
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
|
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
|
||||||
|
|
||||||
TenantPort:
|
TenantPort:
|
||||||
type: OS::TripleO::Controller::Ports::TenantPort
|
type: OS::TripleO::Controller::Ports::TenantPort
|
||||||
properties:
|
properties:
|
||||||
|
IPPool: {get_param: ControllerIPs}
|
||||||
|
NodeIndex: {get_param: NodeIndex}
|
||||||
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
|
ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
|
||||||
|
|
||||||
NetIpMap:
|
NetIpMap:
|
||||||
|
|
Loading…
Reference in New Issue