description: >
Creates a port for a VIP on the undercloud ctlplane network.
+ The IP address will be chosen automatically if FixedIPs is empty.
parameters:
+ ServiceName: # Here for compatibility with from_service.yaml
+ description: Name of the service to lookup
+ default: ''
+ type: string
NetworkName:
description: # Here for compatibility with isolated networks
default: ctlplane
description: Name of the port
default: ''
type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
+ ControlPlaneIP: # Here for compatibility with noop.yaml
description: IP address on the control plane
+ default: ''
type: string
ControlPlaneNetwork:
description: The name of the undercloud Neutron control plane
default: ctlplane
type: string
-
+ FixedIPs:
+ description: >
+ Control the IP allocation for the VIP port. E.g.
+ [{'ip_address':'1.2.3.4'}]
+ default: []
+ type: json
resources:
-
VipPort:
type: OS::Neutron::Port
properties:
network: {get_param: ControlPlaneNetwork}
name: {get_param: PortName}
+ fixed_ips: {get_param: FixedIPs}
replacement_policy: AUTO
outputs:
value: {get_attr: [VipPort, fixed_ips, 0, ip_address]}
ip_subnet:
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
- description: IP/Subnet CIDR for the internal API network IP
+ description: IP/Subnet CIDR for the ctlplane network.
value:
list_join:
- ''