Add deployed_port template

Add a new deployed_port template which will replace
the current neutron port templates when ports are
managed outside of the heat stack.

Partial-Implements: blueprint network-data-v2-ports
Change-Id: Ia71b74e80122e6a12d4f88a90ede02d39763914e
This commit is contained in:
Harald Jensås 2020-11-26 23:21:10 +01:00
parent bf17c1d97f
commit fc61731b8c
2 changed files with 75 additions and 0 deletions

View File

@ -0,0 +1,74 @@
heat_template_version: rocky
description: >
Deployed port on the {{network.name}} network.
parameters:
StackName: # Here for compatibility
description: Name of the overcloud heat stack
default: overcloud
type: string
PortName:
description: Name of the port
default: ''
type: string
DnsName: # Here for compatibility
description: DNS name of the port
default: ''
type: string
ControlPlaneIP: # Here for compatibility with noop.yaml
description: IP address on the control plane
default: ''
type: string
ControlPlaneSubnetCidr: # Here for compatibility with noop.yaml
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
type: string
ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml
description: The name of the undercloud Neutron control plane
default: ctlplane
type: string
ControlPlaneSubnet: # Here for compatibility with ctlplane_vip.yaml
description: The name of the undercloud Neutron control plane subnet
default: ctlplane-subnet
type: string
FixedIPs: # Here for compatibility
description: >
Control the IP allocation for the VIP port. E.g.
[{'ip_address':'1.2.3.4'}]
default: []
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
NodePortMap:
description: >
A map of deployed port data
default: {}
type: json
resources:
{{network.name}}DeployedPort:
type: OS::Heat::Value
properties:
value:
ip_address: {get_param: [NodePortMap, {get_param: DnsName}, {{network.name_lower}}, ip_address]}
ip_address_uri: {get_param: [NodePortMap, {get_param: DnsName}, {{network.name_lower}}, ip_address_uri]}
ip_subnet: {get_param: [NodePortMap, {get_param: DnsName}, {{network.name_lower}}, ip_subnet]}
outputs:
ip_address:
description: {{network.name}} network IP
value: {get_attr: [{{network.name}}DeployedPort, value, ip_address]}
ip_address_uri:
description: {{network.name}} network IP (with brackets for IPv6 URLs)
value: {get_attr: [{{network.name}}DeployedPort, value, ip_address_uri]}
ip_subnet:
description: IP/Subnet CIDR for the {{network.name}} network IP
value: {get_attr: [{{network.name}}DeployedPort, value, ip_subnet]}

View File

@ -0,0 +1 @@
{% include 'deployed_port.j2' %}