You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tripleo-heat-templates/network/ports/net_ip_map.j2.yaml

82 lines
2.3 KiB

heat_template_version: queens
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]}