aboutsummaryrefslogtreecommitdiffstats
path: root/network
diff options
context:
space:
mode:
Diffstat (limited to 'network')
-rw-r--r--network/config/bond-with-vlans/controller-no-external.yaml31
-rw-r--r--network/endpoints/endpoint_data.yaml22
-rw-r--r--network/endpoints/endpoint_map.yaml166
-rw-r--r--network/management.yaml2
-rw-r--r--network/ports/external_from_pool_v6.yaml6
-rw-r--r--network/ports/external_v6.yaml6
-rw-r--r--network/ports/internal_api_from_pool_v6.yaml6
-rw-r--r--network/ports/internal_api_v6.yaml6
-rw-r--r--network/ports/storage_from_pool_v6.yaml6
-rw-r--r--network/ports/storage_mgmt_from_pool_v6.yaml6
-rw-r--r--network/ports/storage_mgmt_v6.yaml6
-rw-r--r--network/ports/storage_v6.yaml6
-rw-r--r--network/ports/tenant_from_pool_v6.yaml6
-rw-r--r--network/ports/tenant_v6.yaml6
-rw-r--r--network/ports/vip_v6.yaml6
15 files changed, 103 insertions, 184 deletions
diff --git a/network/config/bond-with-vlans/controller-no-external.yaml b/network/config/bond-with-vlans/controller-no-external.yaml
index 375d40be..d9532439 100644
--- a/network/config/bond-with-vlans/controller-no-external.yaml
+++ b/network/config/bond-with-vlans/controller-no-external.yaml
@@ -5,6 +5,10 @@ description: >
with VLANs attached for the controller role.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@@ -62,6 +66,18 @@ parameters:
default: '10.0.0.1'
description: default route for the external network
type: string
+ ControlPlaneSubnetCidr: # Override this via parameter_defaults
+ default: '24'
+ description: The subnet CIDR of the control plane network.
+ type: string
+ DnsServers: # Override this via parameter_defaults
+ default: []
+ description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
+ type: comma_delimited_list
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
+
resources:
OsNetConfigImpl:
@@ -72,6 +88,21 @@ resources:
os_net_config:
network_config:
-
+ type: interface
+ name: nic1
+ use_dhcp: false
+ addresses:
+ -
+ ip_netmask:
+ list_join:
+ - '/'
+ - - {get_param: ControlPlaneIp}
+ - {get_param: ControlPlaneSubnetCidr}
+ routes:
+ -
+ ip_netmask: 169.254.169.254/32
+ next_hop: {get_param: EC2MetadataIp}
+ -
type: ovs_bridge
name: {get_input: bridge_name}
use_dhcp: true
diff --git a/network/endpoints/endpoint_data.yaml b/network/endpoints/endpoint_data.yaml
index b934ab99..4dbe424c 100644
--- a/network/endpoints/endpoint_data.yaml
+++ b/network/endpoints/endpoint_data.yaml
@@ -55,6 +55,11 @@ Glance:
vip_param: GlanceApi
port: 9292
+GlanceRegistry:
+ Internal:
+ vip_param: GlanceRegistry
+ port: 9191
+
Mysql:
'':
vip_param: Mysql
@@ -129,21 +134,6 @@ Nova:
'': /v2.1/%(tenant_id)s
port: 8774
-NovaEC2:
- Internal:
- vip_param: NovaApi
- uri_suffixes:
- '': /services/Cloud
- Public:
- vip_param: Public
- uri_suffixes:
- '': /services/Cloud
- Admin:
- vip_param: NovaApi
- uri_suffixes:
- '': /services/Admin
- port: 8773
-
NovaVNCProxy:
Internal:
vip_param: NovaApi
@@ -177,7 +167,7 @@ Sahara:
uri_suffixes:
'': /v1.1/%(tenant_id)s
Public:
- vip_param: SaharaApi
+ vip_param: Public
uri_suffixes:
'': /v1.1/%(tenant_id)s
Admin:
diff --git a/network/endpoints/endpoint_map.yaml b/network/endpoints/endpoint_map.yaml
index a7f0aff6..d1c8fbe2 100644
--- a/network/endpoints/endpoint_map.yaml
+++ b/network/endpoints/endpoint_map.yaml
@@ -12,6 +12,7 @@ parameters:
CeilometerApiVirtualIP: {type: string, default: ''}
CinderApiVirtualIP: {type: string, default: ''}
GlanceApiVirtualIP: {type: string, default: ''}
+ GlanceRegistryVirtualIP: {type: string, default: ''}
GnocchiApiVirtualIP: {type: string, default: ''}
HeatApiVirtualIP: {type: string, default: ''}
KeystoneAdminApiVirtualIP: {type: string, default: ''}
@@ -37,6 +38,7 @@ parameters:
GlanceAdmin: {protocol: http, port: '9292', host: IP_ADDRESS}
GlanceInternal: {protocol: http, port: '9292', host: IP_ADDRESS}
GlancePublic: {protocol: http, port: '9292', host: IP_ADDRESS}
+ GlanceRegistryInternal: {protocol: http, port: '9191', host: IP_ADDRESS}
GnocchiAdmin: {protocol: http, port: '8041', host: IP_ADDRESS}
GnocchiInternal: {protocol: http, port: '8041', host: IP_ADDRESS}
GnocchiPublic: {protocol: http, port: '8041', host: IP_ADDRESS}
@@ -53,9 +55,6 @@ parameters:
NovaAdmin: {protocol: http, port: '8774', host: IP_ADDRESS}
NovaInternal: {protocol: http, port: '8774', host: IP_ADDRESS}
NovaPublic: {protocol: http, port: '8774', host: IP_ADDRESS}
- NovaEC2Admin: {protocol: http, port: '8773', host: IP_ADDRESS}
- NovaEC2Internal: {protocol: http, port: '8773', host: IP_ADDRESS}
- NovaEC2Public: {protocol: http, port: '8773', host: IP_ADDRESS}
NovaVNCProxyAdmin: {protocol: http, port: '6080', host: IP_ADDRESS}
NovaVNCProxyInternal: {protocol: http, port: '6080', host: IP_ADDRESS}
NovaVNCProxyPublic: {protocol: http, port: '6080', host: IP_ADDRESS}
@@ -648,6 +647,44 @@ outputs:
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, GlancePublic, port]
+ GlanceRegistryInternal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, GlanceRegistryInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+ port:
+ get_param: [EndpointMap, GlanceRegistryInternal, port]
+ protocol:
+ get_param: [EndpointMap, GlanceRegistryInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, GlanceRegistryInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, GlanceRegistryInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, GlanceRegistryInternal, port]
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, GlanceRegistryInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, GlanceRegistryInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, GlanceRegistryInternal, port]
GnocchiAdmin:
host:
str_replace:
@@ -1422,123 +1459,6 @@ outputs:
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, NovaPublic, port]
- NovaEC2Admin:
- host:
- str_replace:
- template:
- get_param: [EndpointMap, NovaEC2Admin, host]
- params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
- port:
- get_param: [EndpointMap, NovaEC2Admin, port]
- protocol:
- get_param: [EndpointMap, NovaEC2Admin, protocol]
- uri:
- list_join:
- - ''
- - - get_param: [EndpointMap, NovaEC2Admin, protocol]
- - ://
- - str_replace:
- template:
- get_param: [EndpointMap, NovaEC2Admin, host]
- params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
- - ':'
- - get_param: [EndpointMap, NovaEC2Admin, port]
- - /services/Admin
- uri_no_suffix:
- list_join:
- - ''
- - - get_param: [EndpointMap, NovaEC2Admin, protocol]
- - ://
- - str_replace:
- template:
- get_param: [EndpointMap, NovaEC2Admin, host]
- params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
- - ':'
- - get_param: [EndpointMap, NovaEC2Admin, port]
- NovaEC2Internal:
- host:
- str_replace:
- template:
- get_param: [EndpointMap, NovaEC2Internal, host]
- params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
- port:
- get_param: [EndpointMap, NovaEC2Internal, port]
- protocol:
- get_param: [EndpointMap, NovaEC2Internal, protocol]
- uri:
- list_join:
- - ''
- - - get_param: [EndpointMap, NovaEC2Internal, protocol]
- - ://
- - str_replace:
- template:
- get_param: [EndpointMap, NovaEC2Internal, host]
- params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
- - ':'
- - get_param: [EndpointMap, NovaEC2Internal, port]
- - /services/Cloud
- uri_no_suffix:
- list_join:
- - ''
- - - get_param: [EndpointMap, NovaEC2Internal, protocol]
- - ://
- - str_replace:
- template:
- get_param: [EndpointMap, NovaEC2Internal, host]
- params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
- - ':'
- - get_param: [EndpointMap, NovaEC2Internal, port]
- NovaEC2Public:
- host:
- str_replace:
- template:
- get_param: [EndpointMap, NovaEC2Public, host]
- params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
- port:
- get_param: [EndpointMap, NovaEC2Public, port]
- protocol:
- get_param: [EndpointMap, NovaEC2Public, protocol]
- uri:
- list_join:
- - ''
- - - get_param: [EndpointMap, NovaEC2Public, protocol]
- - ://
- - str_replace:
- template:
- get_param: [EndpointMap, NovaEC2Public, host]
- params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
- - ':'
- - get_param: [EndpointMap, NovaEC2Public, port]
- - /services/Cloud
- uri_no_suffix:
- list_join:
- - ''
- - - get_param: [EndpointMap, NovaEC2Public, protocol]
- - ://
- - str_replace:
- template:
- get_param: [EndpointMap, NovaEC2Public, host]
- params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
- - ':'
- - get_param: [EndpointMap, NovaEC2Public, port]
NovaVNCProxyAdmin:
host:
str_replace:
@@ -1738,7 +1658,7 @@ outputs:
get_param: [EndpointMap, SaharaPublic, host]
params:
CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
port:
get_param: [EndpointMap, SaharaPublic, port]
protocol:
@@ -1753,7 +1673,7 @@ outputs:
get_param: [EndpointMap, SaharaPublic, host]
params:
CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, SaharaPublic, port]
- /v1.1/%(tenant_id)s
@@ -1767,7 +1687,7 @@ outputs:
get_param: [EndpointMap, SaharaPublic, host]
params:
CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, SaharaPublic, port]
SwiftAdmin:
diff --git a/network/management.yaml b/network/management.yaml
index 1800b57a..6878bac4 100644
--- a/network/management.yaml
+++ b/network/management.yaml
@@ -13,7 +13,7 @@ parameters:
ManagementNetValueSpecs:
default: {'provider:physical_network': 'management', 'provider:network_type': 'flat'}
description: Value specs for the management network.
- type: string
+ type: json
ManagementNetAdminStateUp:
default: false
description: The admin state of the network.
diff --git a/network/ports/external_from_pool_v6.yaml b/network/ports/external_from_pool_v6.yaml
index bf0c036d..baa544e7 100644
--- a/network/ports/external_from_pool_v6.yaml
+++ b/network/ports/external_from_pool_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Returns an IP from a network mapped list of IPs. This version is for IPv6
@@ -43,12 +43,10 @@ outputs:
- {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the external network IP
value:
list_join:
- ''
- - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- '/'
- - {get_param: [ExternalNetCidr, -2]}
- - {get_param: [ExternalNetCidr, -1]}
+ - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/external_v6.yaml b/network/ports/external_v6.yaml
index 522caaa0..bfe2686f 100644
--- a/network/ports/external_v6.yaml
+++ b/network/ports/external_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Creates a port on the external network. The IP address will be chosen
@@ -57,12 +57,10 @@ outputs:
- {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the external network IP
value:
list_join:
- ''
- - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
- '/'
- - {get_attr: [ExternalPort, subnets, 0, cidr, -2]}
- - {get_attr: [ExternalPort, subnets, 0, cidr, -1]}
+ - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/internal_api_from_pool_v6.yaml b/network/ports/internal_api_from_pool_v6.yaml
index 34c17ab2..8d0a91b6 100644
--- a/network/ports/internal_api_from_pool_v6.yaml
+++ b/network/ports/internal_api_from_pool_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Returns an IP from a network mapped list of IPs. This version is for IPv6
@@ -43,12 +43,10 @@ outputs:
- {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the internal API network IP
value:
list_join:
- ''
- - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
- '/'
- - {get_param: [InternalApiNetCidr, -2]}
- - {get_param: [InternalApiNetCidr, -1]}
+ - {str_split: ['/', {get_attr: [InternalApiPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/internal_api_v6.yaml b/network/ports/internal_api_v6.yaml
index 279e6bd0..14738b33 100644
--- a/network/ports/internal_api_v6.yaml
+++ b/network/ports/internal_api_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Creates a port on the internal_api network.
@@ -52,12 +52,10 @@ outputs:
- {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the internal API network IP
value:
list_join:
- ''
- - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
- '/'
- - {get_attr: [InternalApiPort, subnets, 0, cidr, -2]}
- - {get_attr: [InternalApiPort, subnets, 0, cidr, -1]}
+ - {str_split: ['/', {get_attr: [InternalApiPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/storage_from_pool_v6.yaml b/network/ports/storage_from_pool_v6.yaml
index 966d96ae..328f8385 100644
--- a/network/ports/storage_from_pool_v6.yaml
+++ b/network/ports/storage_from_pool_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Returns an IP from a network mapped list of IPs. This version is for IPv6
@@ -43,12 +43,10 @@ outputs:
- {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the storage network IP
value:
list_join:
- ''
- - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
- '/'
- - {get_param: [StorageNetCidr, -2]}
- - {get_param: [StorageNetCidr, -1]}
+ - {str_split: ['/', {get_attr: [StoragePort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/storage_mgmt_from_pool_v6.yaml b/network/ports/storage_mgmt_from_pool_v6.yaml
index 890da75c..50470c92 100644
--- a/network/ports/storage_mgmt_from_pool_v6.yaml
+++ b/network/ports/storage_mgmt_from_pool_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Returns an IP from a network mapped list of IPs This version is for IPv6
@@ -43,12 +43,10 @@ outputs:
- {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the storage MGMT network IP
value:
list_join:
- ''
- - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
- '/'
- - {get_param: [StorageMgmtNetCidr, -2]}
- - {get_param: [StorageMgmtNetCidr, -1]}
+ - {str_split: ['/', {get_attr: [StorageMgmtPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/storage_mgmt_v6.yaml b/network/ports/storage_mgmt_v6.yaml
index 61956be2..9db66964 100644
--- a/network/ports/storage_mgmt_v6.yaml
+++ b/network/ports/storage_mgmt_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Creates a port on the storage_mgmt API network.
@@ -52,12 +52,10 @@ outputs:
- {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the storage_mgmt network IP
value:
list_join:
- ''
- - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
- '/'
- - {get_attr: [StorageMgmtPort, subnets, 0, cidr, -2]}
- - {get_attr: [StorageMgmtPort, subnets, 0, cidr, -1]}
+ - {str_split: ['/', {get_attr: [StorageMgmtPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/storage_v6.yaml b/network/ports/storage_v6.yaml
index 13b62276..adf3595a 100644
--- a/network/ports/storage_v6.yaml
+++ b/network/ports/storage_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Creates a port on the storage network.
@@ -52,12 +52,10 @@ outputs:
- {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the storage network IP
value:
list_join:
- ''
- - {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
- '/'
- - {get_attr: [StoragePort, subnets, 0, cidr, -2]}
- - {get_attr: [StoragePort, subnets, 0, cidr, -1]}
+ - {str_split: ['/', {get_attr: [StoragePort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/tenant_from_pool_v6.yaml b/network/ports/tenant_from_pool_v6.yaml
index b2bcd426..bbe6f736 100644
--- a/network/ports/tenant_from_pool_v6.yaml
+++ b/network/ports/tenant_from_pool_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Returns an IP from a network mapped list of IPs
@@ -42,12 +42,10 @@ outputs:
- {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the tenant network IP
value:
list_join:
- ''
- - {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
- '/'
- - {get_param: [TenantNetCidr, -2]}
- - {get_param: [TenantNetCidr, -1]}
+ - {str_split: ['/', {get_attr: [TenantPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/tenant_v6.yaml b/network/ports/tenant_v6.yaml
index 6ca37549..21ba1efa 100644
--- a/network/ports/tenant_v6.yaml
+++ b/network/ports/tenant_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Creates a port on the tenant network.
@@ -52,12 +52,10 @@ outputs:
- {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the tenant network IP
value:
list_join:
- ''
- - {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
- '/'
- - {get_attr: [TenantPort, subnets, 0, cidr, -2]}
- - {get_attr: [TenantPort, subnets, 0, cidr, -1]}
+ - {str_split: ['/', {get_attr: [TenantPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/vip_v6.yaml b/network/ports/vip_v6.yaml
index de927094..498e5d69 100644
--- a/network/ports/vip_v6.yaml
+++ b/network/ports/vip_v6.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2015-10-15
description: >
Creates a port for a VIP on the isolated network NetworkName.
@@ -54,12 +54,10 @@ outputs:
- {get_attr: [VipPort, fixed_ips, 0, ip_address]}
- ']'
ip_subnet:
- # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
description: IP/Subnet CIDR for the network associated with this IP
value:
list_join:
- ''
- - {get_attr: [VipPort, fixed_ips, 0, ip_address]}
- '/'
- - {get_attr: [VipPort, subnets, 0, cidr, -2]}
- - {get_attr: [VipPort, subnets, 0, cidr, -1]}
+ - {str_split: ['/', {get_attr: [VipPort, subnets, 0, cidr]}, 1]}