|
- heat_template_version: rocky
-
- 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: # Here for compatibility with isolated networks
- description: Name of the network where the VIP will be created
- default: ctlplane
- type: string
- PortName:
- description: 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 ctlplane_vip.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:
- description: The name of the undercloud Neutron control plane
- default: ctlplane
- type: string
- ControlPlaneSubnet:
- description: The name of the undercloud Neutron control plane subnet
- default: ctlplane-subnet
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
-
- conditions:
- fixed_ip_not_set:
- equals:
- - yaql:
- expression: $.data.where($.get('ip_address'))
- data: {get_param: FixedIPs}
- - []
-
- resources:
- VipPort:
- type: OS::TripleO::Network::Ports::ControlPlaneVipPort
- properties:
- network: {get_param: ControlPlaneNetwork}
- name: {get_param: PortName}
- fixed_ips:
- if:
- - fixed_ip_not_set
- - [{subnet: {get_param: ControlPlaneSubnet}}]
- - get_param: FixedIPs
- replacement_policy: AUTO
-
- outputs:
- ip_address:
- description: Virtual IP network IP
- value: {get_attr: [VipPort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: Virtual IP network IP (for compatibility with vip_v6.yaml)
- value: {get_attr: [VipPort, fixed_ips, 0, ip_address]}
- ip_subnet:
- description: IP/Subnet CIDR for the ctlplane network.
- value:
- list_join:
- - ''
- - - {get_attr: [VipPort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [VipPort, subnets, 0, cidr]}, 1]}
- host_routes:
- description: Host routes of the ports subnet
- value:
- get_attr: [VipPort, subnets, 0, host_routes]
|