aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2017-08-18 16:48:05 +0100
committerSteven Hardy <shardy@redhat.com>2017-08-21 19:42:45 +0100
commit700b82bf20a8c1400f708dad549234b7f380c95c (patch)
treee713f58077bc57837f5282f58088165361f616be
parentc87a0d0083f52ed54164809dfbf0d4dfa77c15d2 (diff)
Render port templates via j2
Remove these from the j2 excludes and instead render all the networks to avoid duplication. Change-Id: Id8e14e06ffe959c50456b4c88fef306046a8b478 Partially-Implements: blueprint composable-networks
-rw-r--r--j2_excludes.yaml24
-rw-r--r--network/ports/external.yaml61
-rw-r--r--network/ports/external_from_pool.yaml46
-rw-r--r--network/ports/external_from_pool_v6.yaml52
-rw-r--r--network/ports/internal_api.yaml57
-rw-r--r--network/ports/internal_api_from_pool.yaml46
-rw-r--r--network/ports/internal_api_from_pool_v6.yaml52
-rw-r--r--network/ports/internal_api_v6.yaml61
-rw-r--r--network/ports/management.yaml49
-rw-r--r--network/ports/management_from_pool.yaml46
-rw-r--r--network/ports/management_from_pool_v6.yaml52
-rw-r--r--network/ports/management_v6.yaml54
-rw-r--r--network/ports/port.j2 (renamed from network/ports/external_v6.yaml)34
-rw-r--r--network/ports/port.network.j2.yaml73
-rw-r--r--network/ports/port_from_pool.j265
-rw-r--r--network/ports/port_from_pool.network.j2.yaml66
-rw-r--r--network/ports/port_from_pool_v6.network.j2.yaml2
-rw-r--r--network/ports/port_v6.network.j2.yaml2
-rw-r--r--network/ports/storage.yaml56
-rw-r--r--network/ports/storage_from_pool.yaml46
-rw-r--r--network/ports/storage_from_pool_v6.yaml52
-rw-r--r--network/ports/storage_mgmt.yaml57
-rw-r--r--network/ports/storage_mgmt_from_pool.yaml46
-rw-r--r--network/ports/storage_mgmt_from_pool_v6.yaml52
-rw-r--r--network/ports/storage_mgmt_v6.yaml61
-rw-r--r--network/ports/storage_v6.yaml61
-rw-r--r--network/ports/tenant.yaml56
-rw-r--r--network/ports/tenant_from_pool.yaml46
-rw-r--r--network/ports/tenant_from_pool_v6.yaml51
-rw-r--r--network/ports/tenant_v6.yaml61
30 files changed, 91 insertions, 1396 deletions
diff --git a/j2_excludes.yaml b/j2_excludes.yaml
index 5bdb0af9..74fb3bb1 100644
--- a/j2_excludes.yaml
+++ b/j2_excludes.yaml
@@ -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
index 72922093..00000000
--- a/network/ports/external.yaml
+++ /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
index a14aa90b..00000000
--- a/network/ports/external_from_pool.yaml
+++ /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
index 2aa51267..00000000
--- a/network/ports/external_from_pool_v6.yaml
+++ /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
index 94006437..00000000
--- a/network/ports/internal_api.yaml
+++ /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
index 6eeca142..00000000
--- a/network/ports/internal_api_from_pool.yaml
+++ /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
index 589d72a8..00000000
--- a/network/ports/internal_api_from_pool_v6.yaml
+++ /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
index 36a3ad07..00000000
--- a/network/ports/internal_api_v6.yaml
+++ /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
index 417d0612..00000000
--- a/network/ports/management.yaml
+++ /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
index 4815d163..00000000
--- a/network/ports/management_from_pool.yaml
+++ /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
index 2a7d3b1d..00000000
--- a/network/ports/management_from_pool_v6.yaml
+++ /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
index 9de06d9c..00000000
--- a/network/ports/management_v6.yaml
+++ /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]}
diff --git a/network/ports/external_v6.yaml b/network/ports/port.j2
index 5a1b5ae3..2088d840 100644
--- a/network/ports/external_v6.yaml
+++ b/network/ports/port.j2
@@ -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]}
+
diff --git a/network/ports/port.network.j2.yaml b/network/ports/port.network.j2.yaml
index ded3e798..d0bd45ab 100644
--- a/network/ports/port.network.j2.yaml
+++ b/network/ports/port.network.j2.yaml
@@ -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
index 00000000..14b93692
--- /dev/null
+++ b/network/ports/port_from_pool.j2
@@ -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]}
+
diff --git a/network/ports/port_from_pool.network.j2.yaml b/network/ports/port_from_pool.network.j2.yaml
index 9c08ec76..ff863583 100644
--- a/network/ports/port_from_pool.network.j2.yaml
+++ b/network/ports/port_from_pool.network.j2.yaml
@@ -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
index 00000000..689e1ad0
--- /dev/null
+++ b/network/ports/port_from_pool_v6.network.j2.yaml
@@ -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
index 00000000..59709bde
--- /dev/null
+++ b/network/ports/port_v6.network.j2.yaml
@@ -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
index 13e51ccf..00000000
--- a/network/ports/storage.yaml
+++ /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
index 11aa20c7..00000000
--- a/network/ports/storage_from_pool.yaml
+++ /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
index 2d2c3055..00000000
--- a/network/ports/storage_from_pool_v6.yaml
+++ /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
index 0940b849..00000000
--- a/network/ports/storage_mgmt.yaml
+++ /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
index 7efbc5ee..00000000
--- a/network/ports/storage_mgmt_from_pool.yaml
+++ /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
index 07998aba..00000000
--- a/network/ports/storage_mgmt_from_pool_v6.yaml
+++ /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
index 399590c1..00000000
--- a/network/ports/storage_mgmt_v6.yaml
+++ /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
index c7d47c54..00000000
--- a/network/ports/storage_v6.yaml
+++ /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
index 6c5eee38..00000000
--- a/network/ports/tenant.yaml
+++ /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
index 94c419df..00000000
--- a/network/ports/tenant_from_pool.yaml
+++ /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
index cc2b619a..00000000
--- a/network/ports/tenant_from_pool_v6.yaml
+++ /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
index 47d52d8a..00000000
--- a/network/ports/tenant_v6.yaml
+++ /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]}