Merge "Fix typos"
[apex-tripleo-heat-templates.git] / network / ports / external.yaml
index b5c1e5c..c4f815f 100644 (file)
@@ -1,7 +1,8 @@
-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:
@@ -12,9 +13,26 @@ parameters:
     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: # 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:
 
@@ -23,19 +41,21 @@ resources:
     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]}