X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=network%2Fports%2Fexternal.yaml;h=c4f815fbddf843dbbbe0a13068528e98964cdbfa;hb=765aef08425578a15b5949bdc2866c7d7358a87d;hp=db86b329ed8030ff7952c42e1474c0a885818e48;hpb=ebb48a23fb23c6c7ad3701f52b62e6dd8af3b230;p=apex-tripleo-heat-templates.git diff --git a/network/ports/external.yaml b/network/ports/external.yaml index db86b329..c4f815fb 100644 --- a/network/ports/external.yaml +++ b/network/ports/external.yaml @@ -1,16 +1,38 @@ -heat_template_version: 2015-04-30 +heat_template_version: 2015-10-15 description: > - Creates a port on the external network. + Creates a port on the external network. The IP address will be chosen + automatically if FixedIPs is empty. parameters: ExternalNetName: description: Name of the external neutron network default: external type: string - ControlPlaneIP: # Here for compatability with noop.yaml + 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 + ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml + 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 + IPPool: # Here for compatibility with from_pool.yaml + default: {} + type: json + NodeIndex: # Here for compatibility with from_pool.yaml + default: 0 + type: number resources: @@ -18,19 +40,22 @@ resources: type: OS::Neutron::Port properties: network: {get_param: ExternalNetName} + name: {get_param: PortName} + fixed_ips: {get_param: FixedIPs} replacement_policy: AUTO outputs: ip_address: description: external network IP value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]} + ip_address_uri: + description: external network IP (for compatibility with external_v6.yaml) + value: {get_attr: [ExternalPort, 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 external network IP value: list_join: - '' - - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]} - '/' - - {get_attr: [ExternalPort, subnets, 0, cidr, -2]} - - {get_attr: [ExternalPort, subnets, 0, cidr, -1]} + - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]}