Render port templates via j2
authorSteven Hardy <shardy@redhat.com>
Fri, 18 Aug 2017 15:48:05 +0000 (16:48 +0100)
committerSteven Hardy <shardy@redhat.com>
Mon, 21 Aug 2017 18:42:45 +0000 (19:42 +0100)
Remove these from the j2 excludes and instead render all the networks
to avoid duplication.

Change-Id: Id8e14e06ffe959c50456b4c88fef306046a8b478
Partially-Implements: blueprint composable-networks

30 files changed:
j2_excludes.yaml
network/ports/external.yaml [deleted file]
network/ports/external_from_pool.yaml [deleted file]
network/ports/external_from_pool_v6.yaml [deleted file]
network/ports/internal_api.yaml [deleted file]
network/ports/internal_api_from_pool.yaml [deleted file]
network/ports/internal_api_from_pool_v6.yaml [deleted file]
network/ports/internal_api_v6.yaml [deleted file]
network/ports/management.yaml [deleted file]
network/ports/management_from_pool.yaml [deleted file]
network/ports/management_from_pool_v6.yaml [deleted file]
network/ports/management_v6.yaml [deleted file]
network/ports/port.j2 [moved from network/ports/external_v6.yaml with 50% similarity]
network/ports/port.network.j2.yaml
network/ports/port_from_pool.j2 [new file with mode: 0644]
network/ports/port_from_pool.network.j2.yaml
network/ports/port_from_pool_v6.network.j2.yaml [new file with mode: 0644]
network/ports/port_v6.network.j2.yaml [new file with mode: 0644]
network/ports/storage.yaml [deleted file]
network/ports/storage_from_pool.yaml [deleted file]
network/ports/storage_from_pool_v6.yaml [deleted file]
network/ports/storage_mgmt.yaml [deleted file]
network/ports/storage_mgmt_from_pool.yaml [deleted file]
network/ports/storage_mgmt_from_pool_v6.yaml [deleted file]
network/ports/storage_mgmt_v6.yaml [deleted file]
network/ports/storage_v6.yaml [deleted file]
network/ports/tenant.yaml [deleted file]
network/ports/tenant_from_pool.yaml [deleted file]
network/ports/tenant_from_pool_v6.yaml [deleted file]
network/ports/tenant_v6.yaml [deleted file]

index 5bdb0af..74fb3bb 100644 (file)
@@ -11,27 +11,3 @@ name:
   - network/storage_mgmt_v6.yaml
   - network/tenant_v6.yaml
   - network/management_v6.yaml
-  - network/ports/internal_api.yaml
-  - network/ports/external.yaml
-  - network/ports/storage.yaml
-  - network/ports/storage_mgmt.yaml
-  - network/ports/tenant.yaml
-  - network/ports/management.yaml
-  - network/ports/internal_api_v6.yaml
-  - network/ports/external_v6.yaml
-  - network/ports/storage_v6.yaml
-  - network/ports/storage_mgmt_v6.yaml
-  - network/ports/tenant_v6.yaml
-  - network/ports/management_v6.yaml
-  - network/ports/internal_api_from_pool.yaml
-  - network/ports/external_from_pool.yaml
-  - network/ports/storage_from_pool.yaml
-  - network/ports/storage_mgmt_from_pool.yaml
-  - network/ports/tenant_from_pool.yaml
-  - network/ports/management_from_pool.yaml
-  - network/ports/internal_api_from_pool_v6.yaml
-  - network/ports/external_from_pool_v6.yaml
-  - network/ports/storage_from_pool_v6.yaml
-  - network/ports/storage_mgmt_from_pool_v6.yaml
-  - network/ports/tenant_from_pool_v6.yaml
-  - network/ports/management_from_pool_v6.yaml
diff --git a/network/ports/external.yaml b/network/ports/external.yaml
deleted file mode 100644 (file)
index 7292209..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the external network. The IP address will be chosen
-  automatically if FixedIPs is empty.
-
-parameters:
-  ExternalNetName:
-    description: The name of the external network.
-    default: external
-    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
-  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:
-
-  ExternalPort:
-    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:
-    description: IP/Subnet CIDR for the external network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/external_from_pool.yaml b/network/ports/external_from_pool.yaml
deleted file mode 100644 (file)
index a14aa90..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs
-
-parameters:
-  ExternalNetName:
-    description: The name of the external network.
-    default: external
-    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
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  ExternalNetCidr:
-    default: '10.0.0.0/24'
-    description: Cidr for the external network.
-    type: string
-
-outputs:
-  ip_address:
-    description: external network IP
-    value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: external network IP (for compatibility with IPv6)
-    value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the external network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: ExternalNetCidr}, 1]}
diff --git a/network/ports/external_from_pool_v6.yaml b/network/ports/external_from_pool_v6.yaml
deleted file mode 100644 (file)
index 2aa5126..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs. This version is for IPv6
-  addresses. The ip_address_uri output will have brackets for use in URLs.
-
-parameters:
-  ExternalNetName:
-    description: The name of the external network.
-    default: external
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    type: string
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  ExternalNetCidr:
-    default: '2001:db8:fd00:1000::/64'
-    description: Cidr for the external network.
-    type: string
-
-outputs:
-  ip_address:
-    description: external network IP
-    value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: external network IP (for compatibility with IPv6)
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the external network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: ExternalNetCidr}, 1]}
diff --git a/network/ports/internal_api.yaml b/network/ports/internal_api.yaml
deleted file mode 100644 (file)
index 9400643..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the internal_api network.
-
-parameters:
-  InternalApiNetName:
-    description: The name of the internal_api network.
-    default: internal_api
-    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
-  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:
-
-  InternalApiPort:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: InternalApiNetName}
-      name: {get_param: PortName}
-      fixed_ips: {get_param: FixedIPs}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: internal API network IP
-    value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-    description: |
-        internal API network IP (for compatibility with internal_api_v6.yaml)
-    value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the internal API network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [InternalApiPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/internal_api_from_pool.yaml b/network/ports/internal_api_from_pool.yaml
deleted file mode 100644 (file)
index 6eeca14..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs
-
-parameters:
-  InternalApiNetName:
-    description: The name of the internal_api network.
-    default: internal_api
-    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
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  InternalApiNetCidr:
-    default: '172.16.2.0/24'
-    description: Cidr for the internal_api network.
-    type: string
-
-outputs:
-  ip_address:
-    description: internal API network IP
-    value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: internal API network IP (for compatibility with internal_api_v6.yaml)
-    value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the internal API network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: InternalApiNetCidr}, 1]}
diff --git a/network/ports/internal_api_from_pool_v6.yaml b/network/ports/internal_api_from_pool_v6.yaml
deleted file mode 100644 (file)
index 589d72a..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs. This version is for IPv6
-  addresses. The ip_address_uri output will have brackets for use in URLs.
-
-parameters:
-  InternalApiNetName:
-    description: The name of the internal_api network.
-    default: internal_api
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    type: string
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  InternalApiNetCidr:
-    default: 'fd00:fd00:fd00:2000::/64'
-    description: Cidr for the internal_api network.
-    type: string
-
-outputs:
-  ip_address:
-    description: internal API network IP
-    value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: internal API network IP (for compatibility with internal_api_v6.yaml)
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the internal API network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: InternalApiNetCidr}, 1]}
diff --git a/network/ports/internal_api_v6.yaml b/network/ports/internal_api_v6.yaml
deleted file mode 100644 (file)
index 36a3ad0..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the internal_api network.
-
-parameters:
-  InternalApiNetName:
-    description: The name of the internal_api network.
-    default: internal_api
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    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:
-
-  InternalApiPort:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: InternalApiNetName}
-      name: {get_param: PortName}
-      fixed_ips: {get_param: FixedIPs}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: internal API network IP
-    value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-    description: internal api network IP with brackets suitable for a URL
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the internal API network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [InternalApiPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/management.yaml b/network/ports/management.yaml
deleted file mode 100644 (file)
index 417d061..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the management network. The IP address will be chosen
-  automatically if FixedIPs is empty.
-
-parameters:
-  ManagementNetName:
-    description: The name of the management network.
-    default: management
-    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
-    type: string
-  IPPool: # Here for compatibility with from_pool.yaml
-    default: {}
-    type: json
-  NodeIndex: # Here for compatibility with from_pool.yaml
-    default: 0
-    type: number
-
-resources:
-
-  ManagementPort:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: ManagementNetName}
-      name: {get_param: PortName}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: management network IP
-    value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-    description: management network IP (for compatibility with management_v6.yaml)
-    value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the management network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [ManagementPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/management_from_pool.yaml b/network/ports/management_from_pool.yaml
deleted file mode 100644 (file)
index 4815d16..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs
-
-parameters:
-  ManagementNetName:
-    description: The name of the management network.
-    default: management
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    type: string
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  ManagementNetCidr:
-    default: '172.16.4.0/24'
-    description: Cidr for the management network.
-    type: string
-
-outputs:
-  ip_address:
-    description: management network IP
-    value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: management network IP (for compatibility with management_v6.yaml)
-    value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the management network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: ManagementNetCidr}, 1]}
diff --git a/network/ports/management_from_pool_v6.yaml b/network/ports/management_from_pool_v6.yaml
deleted file mode 100644 (file)
index 2a7d3b1..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs. This version is for IPv6
-  addresses. The ip_address_uri output will have brackets for use in URLs.
-
-parameters:
-  ManagementNetName:
-    description: The name of the management network.
-    default: management
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    type: string
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  ManagementNetCidr:
-    default: 'fd00:fd00:fd00:6000::/64'
-    description: Cidr for the management network.
-    type: string
-
-outputs:
-  ip_address:
-    description: management network IP
-    value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: management network IP (for compatibility with management_v6.yaml)
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the management network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: ManagementNetCidr}, 1]}
diff --git a/network/ports/management_v6.yaml b/network/ports/management_v6.yaml
deleted file mode 100644 (file)
index 9de06d9..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the management network. The IP address will be chosen
-  automatically if FixedIPs is empty.
-
-parameters:
-  ManagementNetName:
-    description: The name of the management network.
-    default: management
-    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
-    type: string
-  IPPool: # Here for compatibility with from_pool.yaml
-    default: {}
-    type: json
-  NodeIndex: # Here for compatibility with from_pool.yaml
-    default: 0
-    type: number
-
-resources:
-
-  ManagementPort:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: ManagementNetName}
-      name: {get_param: PortName}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: management network IP
-    value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-    description: management network IP with brackets suitable for a URL
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the management network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [ManagementPort, subnets, 0, cidr]}, 1]}
similarity index 50%
rename from network/ports/external_v6.yaml
rename to network/ports/port.j2
index 5a1b5ae..2088d84 100644 (file)
@@ -1,19 +1,19 @@
 heat_template_version: pike
 
 description: >
-  Creates a port on the external network. The IP address will be chosen
+  Creates a port on the {{network.name}} network. The IP address will be chosen
   automatically if FixedIPs is empty.
 
 parameters:
-  ExternalNetName:
-    description: The name of the external network.
-    default: external
+  {{network.name}}NetName:
+    description: The name of the {{network.name_lower}} network.
+    default: {{network.name_lower|default(network.name|lower)}}
     type: string
   PortName:
     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
@@ -36,31 +36,37 @@ parameters:
 
 resources:
 
-  ExternalPort:
+  {{network.name}}Port:
     type: OS::Neutron::Port
     properties:
-      network: {get_param: ExternalNetName}
+      network: {get_param: {{network.name}}NetName}
       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]}
+    description: {{network.name}} network IP
+    value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
   ip_address_uri:
-    description: external network IP with brackets suitable for a URL
+{%- if network.ipv6  or ipv6_override|default(false) %}
+    description: {{network.name}} network IP (with brackets for IPv6 URLs)
     value:
           list_join:
           - ''
           - - '['
-            - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
+            - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
             - ']'
+{%- else %}
+    description: {{network.name}} network IP (for compatibility with IPv6 URLs)
+    value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
+{%-  endif %}
   ip_subnet:
-    description: IP/Subnet CIDR for the external network IP
+    description: IP/Subnet CIDR for the {{network.name}} network IP
     value:
           list_join:
             - ''
-            - - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
+            - - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
               - '/'
-              - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]}
+              - {str_split: ['/', {get_attr: [{{network.name}}Port, subnets, 0, cidr]}, 1]}
+
index ded3e79..d0bd45a 100644 (file)
@@ -1,72 +1 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the {{network.name}} network. The IP address will be chosen
-  automatically if FixedIPs is empty.
-
-parameters:
-  {{network.name}}NetName:
-    description: Name of the {{network.name_lower}} neutron network
-    default: {{network.name_lower|default(network.name|lower)}}
-    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
-  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:
-
-  {{network.name}}Port:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: {{network.name}}NetName}
-      name: {get_param: PortName}
-      fixed_ips: {get_param: FixedIPs}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: {{network.name}} network IP
-    value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-{%- if network.ipv6  %}
-    description: {{network.name}} network IP (with brackets for IPv6 URLs)
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
-            - ']'
-{%- else %}
-    description: {{network.name}} network IP (for compatibility with IPv6 URLs)
-    value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
-{%-  endif %}
-  ip_subnet:
-    description: IP/Subnet CIDR for the {{network.name}} network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [{{network.name}}Port, subnets, 0, cidr]}, 1]}
-
+{% include 'port.j2' %}
diff --git a/network/ports/port_from_pool.j2 b/network/ports/port_from_pool.j2
new file mode 100644 (file)
index 0000000..14b9369
--- /dev/null
@@ -0,0 +1,65 @@
+heat_template_version: pike
+
+description: >
+  Creates a port on the {{network.name}} network, using a map of IPs per role.
+  Each role has a map of IPs in <Role>IPs parameters, with a list of IPs by
+  network (lower_name or lower case). For example:
+  ControllerIPs:
+    external:
+    - 1.2.3.4 # First controller
+    - 1.2.3.5 # Second controller
+
+parameters:
+  {{network.name}}NetName:
+    description: The name of the {{network.name_lower}} network.
+    default: {{network.name_lower}}
+    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
+  ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml
+    description: The name of the undercloud Neutron control plane
+    default: ctlplane
+    type: string
+  IPPool: # Set in <Role>IPs map, see environments/ips-from-pool-all.yaml
+    default: {}
+    type: json
+  NodeIndex: # First node in the role will get first IP, and so on...
+    default: 0
+    type: number
+  {{network.name}}NetCidr:
+    default: {{network.ip_subnet}}
+    description: Cidr for the {{network.name_lower}} network.
+    type: string
+
+outputs:
+  ip_address:
+    description: {{network.name}} network IP
+    value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
+  ip_address_uri:
+{%- if network.ipv6 or ipv6_override|default(false) %}
+    description: {{network.name}} network IP (with brackets for IPv6 URLs)
+    value:
+          list_join:
+          - ''
+          - - '['
+            - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
+            - ']'
+{%- else %}
+    description: {{network.name}} network IP (for compatibility with {{network.name_lower}}_v6.yaml)
+    value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
+{%- endif %}
+  ip_subnet:
+    description: IP/Subnet CIDR for the {{network.name}} network IP
+    value:
+      list_join:
+      - ''
+      - - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
+        - '/'
+        - {str_split: ['/', {get_param: {{network.name}}NetCidr}, 1]}
+
index 9c08ec7..ff86358 100644 (file)
@@ -1,65 +1 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the {{network.name}} network, using a map of IPs per role.
-  Each role has a map of IPs in <Role>IPs parameters, with a list of IPs by
-  network (lower_name or lower case). For example:
-  ControllerIPs:
-    external:
-    - 1.2.3.4 # First controller
-    - 1.2.3.5 # Second controller
-
-parameters:
-  {{network.name}}NetName:
-    description: Name of the {{network.name}} neutron network
-    default: {{network.name_lower}}
-    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
-  ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml
-    description: The name of the undercloud Neutron control plane
-    default: ctlplane
-    type: string
-  IPPool: # Set in <Role>IPs map, see environments/ips-from-pool-all.yaml
-    default: {}
-    type: json
-  NodeIndex: # First node in the role will get first IP, and so on...
-    default: 0
-    type: number
-  {{network.name}}NetCidr:
-    default: {{network.ip_subnet}}
-    description: Cidr for the {{network.name_lower}} network.
-    type: string
-
-outputs:
-  ip_address:
-    description: {{network.name}} network IP
-    value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-{%- if network.ipv6 %}
-    description: {{network.name}} network IP (with brackets for IPv6 URLs)
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
-            - ']'
-{%- else %}
-    description: {{network.name}} network IP (for compatibility with {{network.name_lower}}_v6.yaml)
-    value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
-{%- endif %}
-  ip_subnet:
-    description: IP/Subnet CIDR for the {{network.name}} network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: {{network.name}}NetCidr}, 1]}
-
+{% include 'port_from_pool.j2' %}
diff --git a/network/ports/port_from_pool_v6.network.j2.yaml b/network/ports/port_from_pool_v6.network.j2.yaml
new file mode 100644 (file)
index 0000000..689e1ad
--- /dev/null
@@ -0,0 +1,2 @@
+{% set ipv6_override = true -%}
+{% include 'port_from_pool.j2' %}
diff --git a/network/ports/port_v6.network.j2.yaml b/network/ports/port_v6.network.j2.yaml
new file mode 100644 (file)
index 0000000..59709bd
--- /dev/null
@@ -0,0 +1,2 @@
+{% set ipv6_override = true -%}
+{% include 'port.j2' %}
diff --git a/network/ports/storage.yaml b/network/ports/storage.yaml
deleted file mode 100644 (file)
index 13e51cc..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the storage network.
-
-parameters:
-  StorageNetName:
-    description: The name of the storage network.
-    default: storage
-    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
-  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:
-
-  StoragePort:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: StorageNetName}
-      name: {get_param: PortName}
-      fixed_ips: {get_param: FixedIPs}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: storage network IP
-    value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-    description: storage network IP (for compatibility with storage_v6.yaml)
-    value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the storage network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [StoragePort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/storage_from_pool.yaml b/network/ports/storage_from_pool.yaml
deleted file mode 100644 (file)
index 11aa20c..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs
-
-parameters:
-  StorageNetName:
-    description: The name of the storage network.
-    default: storage
-    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
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  StorageNetCidr:
-    default: '172.16.1.0/24'
-    description: Cidr for the storage network.
-    type: string
-
-outputs:
-  ip_address:
-    description: storage network IP
-    value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: storage network IP (for compatibility with storage_v6.yaml)
-    value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the storage network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: StorageNetCidr}, 1]}
diff --git a/network/ports/storage_from_pool_v6.yaml b/network/ports/storage_from_pool_v6.yaml
deleted file mode 100644 (file)
index 2d2c305..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs. This version is for IPv6
-  addresses. The ip_address_uri output will have brackets for use in URLs.
-
-parameters:
-  StorageNetName:
-    description: The name of the storage network.
-    default: storage
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    type: string
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  StorageNetCidr:
-    default: 'fd00:fd00:fd00:3000::/64'
-    description: Cidr for the storage network.
-    type: string
-
-outputs:
-  ip_address:
-    description: storage network IP
-    value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: storage network IP (for compatibility with storage_v6.yaml)
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the storage network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: StorageNetCidr}, 1]}
diff --git a/network/ports/storage_mgmt.yaml b/network/ports/storage_mgmt.yaml
deleted file mode 100644 (file)
index 0940b84..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the storage_mgmt API network.
-
-parameters:
-  StorageMgmtNetName:
-    description: The name of the storage_mgmt network.
-    default: storage_mgmt
-    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
-  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:
-
-  StorageMgmtPort:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: StorageMgmtNetName}
-      name: {get_param: PortName}
-      fixed_ips: {get_param: FixedIPs}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: storage_mgmt network IP
-    value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-    description: |
-        storage_mgmt network IP (for compatibility with storage_mgmt_v6.yaml)
-    value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the storage_mgmt network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [StorageMgmtPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/storage_mgmt_from_pool.yaml b/network/ports/storage_mgmt_from_pool.yaml
deleted file mode 100644 (file)
index 7efbc5e..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs
-
-parameters:
-  StorageMgmtNetName:
-    description: The name of the storage_mgmt network.
-    default: storage_mgmt
-    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
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  StorageMgmtNetCidr:
-    default: '172.16.3.0/24'
-    description: Cidr for the storage_mgmt network.
-    type: string
-
-outputs:
-  ip_address:
-    description: storage MGMT network IP
-    value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: storage MGMT network IP (for compatibility with storage_mgmt_v6.yaml)
-    value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the storage MGMT network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: StorageMgmtNetCidr}, 1]}
diff --git a/network/ports/storage_mgmt_from_pool_v6.yaml b/network/ports/storage_mgmt_from_pool_v6.yaml
deleted file mode 100644 (file)
index 07998ab..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs This version is for IPv6
-  addresses. The ip_address_uri output will have brackets for use in URLs.
-
-parameters:
-  StorageMgmtNetName:
-    description: The name of the storage_mgmt network.
-    default: storage_mgmt
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    type: string
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  StorageMgmtNetCidr:
-    default: 'fd00:fd00:fd00:4000::/64'
-    description: Cidr for the storage_mgmt network.
-    type: string
-
-outputs:
-  ip_address:
-    description: storage MGMT network IP
-    value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: storage MGMT network IP (for compatibility with storage_mgmt_v6.yaml)
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the storage MGMT network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: StorageMgmtNetCidr}, 1]}
diff --git a/network/ports/storage_mgmt_v6.yaml b/network/ports/storage_mgmt_v6.yaml
deleted file mode 100644 (file)
index 399590c..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the storage_mgmt API network.
-
-parameters:
-  StorageMgmtNetName:
-    description: The name of the storage_mgmt network.
-    default: storage_mgmt
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    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:
-
-  StorageMgmtPort:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: StorageMgmtNetName}
-      name: {get_param: PortName}
-      fixed_ips: {get_param: FixedIPs}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: storage_mgmt network IP
-    value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-    description: storage_mgmt network IP with brackets suitable for a URI
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the storage_mgmt network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [StorageMgmtPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/storage_v6.yaml b/network/ports/storage_v6.yaml
deleted file mode 100644 (file)
index c7d47c5..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the storage network.
-
-parameters:
-  StorageNetName:
-    description: The name of the storage network.
-    default: storage
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    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:
-
-  StoragePort:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: StorageNetName}
-      name: {get_param: PortName}
-      fixed_ips: {get_param: FixedIPs}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: storage network IP
-    value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-    description: storage network IP with brackets suitable for a URL
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the storage network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [StoragePort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/tenant.yaml b/network/ports/tenant.yaml
deleted file mode 100644 (file)
index 6c5eee3..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the tenant network.
-
-parameters:
-  TenantNetName:
-    description: The name of the tenant network.
-    default: tenant
-    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
-  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:
-
-  TenantPort:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: TenantNetName}
-      name: {get_param: PortName}
-      fixed_ips: {get_param: FixedIPs}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: tenant network IP
-    value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-    description: tenant network IP (for compatibility with tenant_v6.yaml)
-    value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the tenant network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [TenantPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/tenant_from_pool.yaml b/network/ports/tenant_from_pool.yaml
deleted file mode 100644 (file)
index 94c419d..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs
-
-parameters:
-  TenantNetName:
-    description: The name of the tenant network.
-    default: tenant
-    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
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  TenantNetCidr:
-    default: '172.16.0.0/24'
-    description: Cidr for the tenant network.
-    type: string
-
-outputs:
-  ip_address:
-    description: tenant network IP
-    value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: tenant network IP (for compatibility with tenant_v6.yaml)
-    value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
-  ip_subnet:
-    description: IP/Subnet CIDR for the tenant network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: TenantNetCidr}, 1]}
diff --git a/network/ports/tenant_from_pool_v6.yaml b/network/ports/tenant_from_pool_v6.yaml
deleted file mode 100644 (file)
index cc2b619..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Returns an IP from a network mapped list of IPs
-
-parameters:
-  TenantNetName:
-    description: The name of the tenant network.
-    default: tenant
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    type: string
-  IPPool:
-    default: {}
-    description: A network mapped list of IPs
-    type: json
-  NodeIndex:
-    default: 0
-    description: Index of the IP to get from Pool
-    type: number
-  TenantNetCidr:
-    default: 'fd00:fd00:fd00:5000::/64'
-    description: Cidr for the tenant network.
-    type: string
-
-outputs:
-  ip_address:
-    description: tenant network IP
-    value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
-  ip_address_uri:
-    description: tenant network IP (for compatibility with tenant_v6.yaml)
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the tenant network IP
-    value:
-      list_join:
-      - ''
-      - - {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
-        - '/'
-        - {str_split: ['/', {get_param: TenantNetCidr}, 1]}
diff --git a/network/ports/tenant_v6.yaml b/network/ports/tenant_v6.yaml
deleted file mode 100644 (file)
index 47d52d8..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-heat_template_version: pike
-
-description: >
-  Creates a port on the tenant network.
-
-parameters:
-  TenantNetName:
-    description: The name of the tenant network.
-    default: tenant
-    type: string
-  PortName:
-    description: Name of the port
-    default: ''
-    type: string
-  ControlPlaneIP: # Here for compatability with noop.yaml
-    description: IP address on the control plane
-    default: ''
-    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:
-
-  TenantPort:
-    type: OS::Neutron::Port
-    properties:
-      network: {get_param: TenantNetName}
-      name: {get_param: PortName}
-      fixed_ips: {get_param: FixedIPs}
-      replacement_policy: AUTO
-
-outputs:
-  ip_address:
-    description: tenant network IP
-    value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
-  ip_address_uri:
-    description: tenant network IP with brackets suitable for a URL
-    value:
-          list_join:
-          - ''
-          - - '['
-            - {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
-            - ']'
-  ip_subnet:
-    description: IP/Subnet CIDR for the tenant network IP
-    value:
-          list_join:
-            - ''
-            - - {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
-              - '/'
-              - {str_split: ['/', {get_attr: [TenantPort, subnets, 0, cidr]}, 1]}