Render IP map and host maps according to network_data.yaml

This change renders the network IP maps and hostname maps for
all networks defined in network_data.yaml. This should make it
possible to create custom networks that will be rendered for
all applicable roles.

Note that at this time all networks will be rendered whether
they are enabled or not. All networks will be present in all
roles, but ports will be associated with noop.yaml in roles
that do not use the network. This is in accordance with
previous behavior, although we may wish to change this in
the future to limit the size of the role definitions and
reduce the number of placeholder resources in deployments
with many networks.

Note that this patch is a replacement for original patch
https://review.openstack.org/#/c/486280, which I was having
trouble rebasing to current.

Change-Id: I445b008fc1240af57c2b76a5dbb6c751a05b7a2a
Depends-on: I662e8d0b3737c7807d18c8917bfce1e25baa3d8a
Partially-implements: blueprint composable-networks
This commit is contained in:
Dan Sneddon 2017-08-15 11:39:53 -07:00 committed by Steven Hardy
parent b32d1c145b
commit e148ac870b
47 changed files with 183 additions and 326 deletions

View File

@ -15,7 +15,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -23,7 +23,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -15,7 +15,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -23,7 +23,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -22,7 +22,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -30,7 +30,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -15,7 +15,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -23,7 +23,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -14,7 +14,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -22,7 +22,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -16,7 +16,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
InternalApiDefaultRoute: # Not used by default in this template
default: '10.0.0.1'
@ -28,7 +28,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -16,7 +16,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
InternalApiDefaultRoute: # Not used by default in this template
default: '10.0.0.1'
@ -28,7 +28,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -13,7 +13,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -21,7 +21,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -13,7 +13,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -21,7 +21,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -13,7 +13,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -21,7 +21,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -13,7 +13,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -21,7 +21,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''

View File

@ -4,24 +4,11 @@ parameters:
ControlPlaneIpList:
default: []
type: comma_delimited_list
ExternalIpList:
default: []
type: comma_delimited_list
InternalApiIpList:
default: []
type: comma_delimited_list
StorageIpList:
default: []
type: comma_delimited_list
StorageMgmtIpList:
default: []
type: comma_delimited_list
TenantIpList:
default: []
type: comma_delimited_list
ManagementIpList:
{%- for network in networks %}
{{network.name}}IpList:
default: []
type: comma_delimited_list
{%- endfor %}
EnabledServices:
default: []
type: comma_delimited_list
@ -58,7 +45,12 @@ parameters:
TenantNetName:
default: tenant
description: The name of the tenant network.
{%- for network in networks %}
{{network.name}}NetName:
default: {{network.name_lower}}
description: The name of the {{network.name_lower}} network.
type: string
{%- endfor %}
resources:
@ -91,19 +83,13 @@ resources:
value:
map_replace:
- ctlplane: {get_param: ControlPlaneIpList}
external: {get_param: ExternalIpList}
internal_api: {get_param: InternalApiIpList}
storage: {get_param: StorageIpList}
storage_mgmt: {get_param: StorageMgmtIpList}
tenant: {get_param: TenantIpList}
management: {get_param: ManagementIpList}
{%- for network in networks %}
{{network.name_lower}}: {get_param: {{network.name}}IpList}
{%- endfor %}
- keys:
external: {get_param: ExternalNetName}
internal_api: {get_param: InternalApiNetName}
storage: {get_param: StorageNetName}
storage_mgmt: {get_param: StorageMgmtNetName}
tenant: {get_param: TenantNetName}
management: {get_param: ManagementNetName}
{%- for network in networks %}
{{network.name_lower}}: {get_param: {{network.name}}NetName}
{%- endfor %}
outputs:
net_ip_map:

View File

@ -0,0 +1,81 @@
heat_template_version: pike
parameters:
ControlPlaneIp:
default: ''
type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
type: string
{%- for network in networks %}
{{network.name}}Ip:
default: ''
type: string
{{network.name}}IpSubnet:
description: 'IP address/subnet on the {{network.name_lower}} network'
default: ''
type: string
{{network.name}}IpUri:
default: ''
type: string
description: IP address with brackets in case of IPv6
{%- endfor %}
{%- for network in networks %}
{{network.name}}NetName:
default: {{network.name_lower}}
description: The name of the {{network.name_lower}} network.
type: string
{%- endfor %}
resources:
NetIpMapValue:
type: OS::Heat::Value
properties:
type: json
value:
map_replace:
- ctlplane: {get_param: ControlPlaneIp}
{%- for network in networks %}
{{network.name_lower}}: {get_param: {{network.name}}Ip}
{%- endfor %}
ctlplane_subnet:
list_join:
- ''
- - {get_param: ControlPlaneIp}
- '/'
- {get_param: ControlPlaneSubnetCidr}
{%- for network in networks %}
{{network.name_lower}}_subnet: {get_param: {{network.name}}IpSubnet}
{%- endfor %}
ctlplane_uri: {get_param: ControlPlaneIp}
{%- for network in networks %}
{{network.name_lower}}_uri: {get_param: {{network.name}}IpUri}
{%- endfor %}
- keys:
{%- for network in networks %}
{{network.name_lower}}: {get_param: {{network.name}}NetName}
{%- endfor %}
{%- for network in networks %}
{{network.name_lower}}_subnet:
str_replace:
template: NAME_subnet
params:
NAME: {get_param: {{network.name}}NetName}
{%- endfor %}
{%- for network in networks %}
{{network.name_lower}}_uri:
str_replace:
template: NAME_uri
params:
NAME: {get_param: {{network.name}}NetName}
{%- endfor %}
outputs:
net_ip_map:
description: >
A Hash containing a mapping of network names to assigned IPs
for a specific machine.
value: {get_attr: [NetIpMapValue, value]}

View File

@ -1,210 +0,0 @@
heat_template_version: pike
parameters:
ControlPlaneIp:
default: ''
type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
type: string
ExternalIp:
default: ''
type: string
ExternalIpSubnet:
default: ''
type: string
description: IP address/subnet on the external network
ExternalIpUri:
default: ''
type: string
description: IP address with brackets in case of IPv6
InternalApiIp:
default: ''
type: string
InternalApiIpSubnet:
default: ''
type: string
description: IP address/subnet on the internal API network
InternalApiIpUri:
default: ''
type: string
description: IP address with brackets in case of IPv6
StorageIp:
default: ''
type: string
StorageIpSubnet:
default: ''
type: string
description: IP address/subnet on the storage network
StorageIpUri:
default: ''
type: string
description: IP address with brackets in case of IPv6
StorageMgmtIp:
default: ''
type: string
StorageMgmtIpSubnet:
default: ''
type: string
description: IP address/subnet on the storage mgmt network
StorageMgmtIpUri:
default: ''
type: string
description: IP address with brackets in case of IPv6
TenantIp:
default: ''
type: string
TenantIpSubnet:
default: ''
type: string
description: IP address/subnet on the tenant network
TenantIpUri:
default: ''
type: string
description: IP address with brackets in case of IPv6
ManagementIp:
default: ''
type: string
ManagementIpSubnet:
default: ''
type: string
description: IP address/subnet on the management network
ManagementIpUri:
default: ''
type: string
description: IP address with brackets in case of IPv6
InternalApiNetName:
default: internal_api
description: The name of the internal_api network.
type: string
ExternalNetName:
default: external
description: The name of the external network.
type: string
ManagementNetName:
default: management
description: The name of the management network.
type: string
StorageNetName:
default: storage
description: The name of the storage network.
type: string
StorageMgmtNetName:
default: storage_mgmt
description: The name of the storage_mgmt network.
type: string
TenantNetName:
default: tenant
description: The name of the tenant network.
type: string
resources:
NetIpMapValue:
type: OS::Heat::Value
properties:
type: json
value:
map_replace:
- ctlplane: {get_param: ControlPlaneIp}
external: {get_param: ExternalIp}
internal_api: {get_param: InternalApiIp}
storage: {get_param: StorageIp}
storage_mgmt: {get_param: StorageMgmtIp}
tenant: {get_param: TenantIp}
management: {get_param: ManagementIp}
ctlplane_subnet:
list_join:
- ''
- - {get_param: ControlPlaneIp}
- '/'
- {get_param: ControlPlaneSubnetCidr}
external_subnet: {get_param: ExternalIpSubnet}
internal_api_subnet: {get_param: InternalApiIpSubnet}
storage_subnet: {get_param: StorageIpSubnet}
storage_mgmt_subnet: {get_param: StorageMgmtIpSubnet}
tenant_subnet: {get_param: TenantIpSubnet}
management_subnet: {get_param: ManagementIpSubnet}
ctlplane_uri: {get_param: ControlPlaneIp}
external_uri: {get_param: ExternalIpUri}
internal_api_uri: {get_param: InternalApiIpUri}
storage_uri: {get_param: StorageIpUri}
storage_mgmt_uri: {get_param: StorageMgmtIpUri}
tenant_uri: {get_param: TenantIpUri}
management_uri: {get_param: ManagementIpUri}
- keys:
external: {get_param: ExternalNetName}
internal_api: {get_param: InternalApiNetName}
storage: {get_param: StorageNetName}
storage_mgmt: {get_param: StorageMgmtNetName}
tenant: {get_param: TenantNetName}
management: {get_param: ManagementNetName}
external_subnet:
str_replace:
template: NAME_subnet
params:
NAME: {get_param: ExternalNetName}
internal_api_subnet:
str_replace:
template: NAME_subnet
params:
NAME: {get_param: InternalApiNetName}
storage_subnet:
str_replace:
template: NAME_subnet
params:
NAME: {get_param: StorageNetName}
storage_mgmt_subnet:
str_replace:
template: NAME_subnet
params:
NAME: {get_param: StorageMgmtNetName}
tenant_subnet:
str_replace:
template: NAME_subnet
params:
NAME: {get_param: TenantNetName}
management_subnet:
str_replace:
template: NAME_subnet
params:
NAME: {get_param: ManagementNetName}
external_uri:
str_replace:
template: NAME_uri
params:
NAME: {get_param: ExternalNetName}
internal_api_uri:
str_replace:
template: NAME_uri
params:
NAME: {get_param: InternalApiNetName}
storage_uri:
str_replace:
template: NAME_uri
params:
NAME: {get_param: StorageNetName}
storage_mgmt_uri:
str_replace:
template: NAME_uri
params:
NAME: {get_param: StorageMgmtNetName}
tenant_uri:
str_replace:
template: NAME_uri
params:
NAME: {get_param: TenantNetName}
management_uri:
str_replace:
template: NAME_uri
params:
NAME: {get_param: ManagementNetName}
outputs:
net_ip_map:
description: >
A Hash containing a mapping of network names to assigned IPs
for a specific machine.
value: {get_attr: [NetIpMapValue, value]}