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.yaml39
-rw-r--r--network/endpoints/endpoint_map.yaml221
-rw-r--r--network/management.yaml2
-rw-r--r--network/noop.yaml3
-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
16 files changed, 262 insertions, 100 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 edcfaca1..f88a68f4 100644
--- a/network/endpoints/endpoint_data.yaml
+++ b/network/endpoints/endpoint_data.yaml
@@ -19,6 +19,15 @@ Ceilometer:
vip_param: CeilometerApi
port: 8777
+Gnocchi:
+ Internal:
+ vip_param: GnocchiApi
+ Public:
+ vip_param: Public
+ Admin:
+ vip_param: GnocchiApi
+ port: 8041
+
Cinder:
Internal:
vip_param: CinderApi
@@ -46,6 +55,11 @@ Glance:
vip_param: GlanceApi
port: 9292
+GlanceRegistry:
+ Internal:
+ vip_param: GlanceRegistry
+ port: 9191
+
Mysql:
'':
vip_param: Mysql
@@ -72,40 +86,27 @@ Horizon:
'': /dashboard
port: 80
+# TODO(ayoung): V3 is a temporary fix. Endpoints should be versionless.
+# Required for https://bugs.launchpad.net/puppet-nova/+bug/1542486
Keystone:
Internal:
vip_param: KeystonePublicApi
uri_suffixes:
'': /v2.0
EC2: /v2.0/ec2tokens
+ V3: /v3
names:
EC2: KeystoneEC2
Public:
vip_param: Public
uri_suffixes:
'': /v2.0
+ V3: /v3
Admin:
vip_param: KeystoneAdminApi
uri_suffixes:
'': /v2.0
- port: 35357
- port: 5000
-
-# TODO(ayoung): V3 is a temporary fix. Endpoints should be versionless.
-# Required for https://bugs.launchpad.net/puppet-nova/+bug/1542486
-KeystoneV3:
- Internal:
- vip_param: KeystonePublicApi
- uri_suffixes:
- '': /v3
- Public:
- vip_param: Public
- uri_suffixes:
- '': /v3
- Admin:
- vip_param: KeystoneAdminApi
- uri_suffixes:
- '': /v3
+ V3: /v3
port: 35357
port: 5000
@@ -181,7 +182,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 07266f98..1bd35a7c 100644
--- a/network/endpoints/endpoint_map.yaml
+++ b/network/endpoints/endpoint_map.yaml
@@ -12,6 +12,8 @@ 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: ''}
KeystonePublicApiVirtualIP: {type: string, default: ''}
@@ -36,6 +38,10 @@ 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}
HeatAdmin: {protocol: http, port: '8004', host: IP_ADDRESS}
HeatInternal: {protocol: http, port: '8004', host: IP_ADDRESS}
HeatPublic: {protocol: http, port: '8004', host: IP_ADDRESS}
@@ -43,9 +49,6 @@ parameters:
KeystoneAdmin: {protocol: http, port: '35357', host: IP_ADDRESS}
KeystoneInternal: {protocol: http, port: '5000', host: IP_ADDRESS}
KeystonePublic: {protocol: http, port: '5000', host: IP_ADDRESS}
- KeystoneV3Admin: {protocol: http, port: '35357', host: IP_ADDRESS}
- KeystoneV3Internal: {protocol: http, port: '5000', host: IP_ADDRESS}
- KeystoneV3Public: {protocol: http, port: '5000', host: IP_ADDRESS}
NeutronAdmin: {protocol: http, port: '9696', host: IP_ADDRESS}
NeutronInternal: {protocol: http, port: '9696', host: IP_ADDRESS}
NeutronPublic: {protocol: http, port: '9696', host: IP_ADDRESS}
@@ -647,6 +650,158 @@ 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:
+ template:
+ get_param: [EndpointMap, GnocchiAdmin, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ port:
+ get_param: [EndpointMap, GnocchiAdmin, port]
+ protocol:
+ get_param: [EndpointMap, GnocchiAdmin, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, GnocchiAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, GnocchiAdmin, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, GnocchiAdmin, port]
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, GnocchiAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, GnocchiAdmin, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, GnocchiAdmin, port]
+ GnocchiInternal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, GnocchiInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ port:
+ get_param: [EndpointMap, GnocchiInternal, port]
+ protocol:
+ get_param: [EndpointMap, GnocchiInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, GnocchiInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, GnocchiInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, GnocchiInternal, port]
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, GnocchiInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, GnocchiInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, GnocchiInternal, port]
+ GnocchiPublic:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, GnocchiPublic, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
+ port:
+ get_param: [EndpointMap, GnocchiPublic, port]
+ protocol:
+ get_param: [EndpointMap, GnocchiPublic, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, GnocchiPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, GnocchiPublic, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, GnocchiPublic, port]
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, GnocchiPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, GnocchiPublic, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, GnocchiPublic, port]
HeatAdmin:
host:
str_replace:
@@ -963,119 +1118,119 @@ outputs:
host:
str_replace:
template:
- get_param: [EndpointMap, KeystoneV3Admin, host]
+ get_param: [EndpointMap, KeystoneAdmin, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
port:
- get_param: [EndpointMap, KeystoneV3Admin, port]
+ get_param: [EndpointMap, KeystoneAdmin, port]
protocol:
- get_param: [EndpointMap, KeystoneV3Admin, protocol]
+ get_param: [EndpointMap, KeystoneAdmin, protocol]
uri:
list_join:
- ''
- - - get_param: [EndpointMap, KeystoneV3Admin, protocol]
+ - - get_param: [EndpointMap, KeystoneAdmin, protocol]
- ://
- str_replace:
template:
- get_param: [EndpointMap, KeystoneV3Admin, host]
+ get_param: [EndpointMap, KeystoneAdmin, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
- ':'
- - get_param: [EndpointMap, KeystoneV3Admin, port]
+ - get_param: [EndpointMap, KeystoneAdmin, port]
- /v3
uri_no_suffix:
list_join:
- ''
- - - get_param: [EndpointMap, KeystoneV3Admin, protocol]
+ - - get_param: [EndpointMap, KeystoneAdmin, protocol]
- ://
- str_replace:
template:
- get_param: [EndpointMap, KeystoneV3Admin, host]
+ get_param: [EndpointMap, KeystoneAdmin, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
- ':'
- - get_param: [EndpointMap, KeystoneV3Admin, port]
+ - get_param: [EndpointMap, KeystoneAdmin, port]
KeystoneV3Internal:
host:
str_replace:
template:
- get_param: [EndpointMap, KeystoneV3Internal, host]
+ get_param: [EndpointMap, KeystoneInternal, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
port:
- get_param: [EndpointMap, KeystoneV3Internal, port]
+ get_param: [EndpointMap, KeystoneInternal, port]
protocol:
- get_param: [EndpointMap, KeystoneV3Internal, protocol]
+ get_param: [EndpointMap, KeystoneInternal, protocol]
uri:
list_join:
- ''
- - - get_param: [EndpointMap, KeystoneV3Internal, protocol]
+ - - get_param: [EndpointMap, KeystoneInternal, protocol]
- ://
- str_replace:
template:
- get_param: [EndpointMap, KeystoneV3Internal, host]
+ get_param: [EndpointMap, KeystoneInternal, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
- ':'
- - get_param: [EndpointMap, KeystoneV3Internal, port]
+ - get_param: [EndpointMap, KeystoneInternal, port]
- /v3
uri_no_suffix:
list_join:
- ''
- - - get_param: [EndpointMap, KeystoneV3Internal, protocol]
+ - - get_param: [EndpointMap, KeystoneInternal, protocol]
- ://
- str_replace:
template:
- get_param: [EndpointMap, KeystoneV3Internal, host]
+ get_param: [EndpointMap, KeystoneInternal, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
- ':'
- - get_param: [EndpointMap, KeystoneV3Internal, port]
+ - get_param: [EndpointMap, KeystoneInternal, port]
KeystoneV3Public:
host:
str_replace:
template:
- get_param: [EndpointMap, KeystoneV3Public, host]
+ get_param: [EndpointMap, KeystonePublic, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: PublicVirtualIP}
port:
- get_param: [EndpointMap, KeystoneV3Public, port]
+ get_param: [EndpointMap, KeystonePublic, port]
protocol:
- get_param: [EndpointMap, KeystoneV3Public, protocol]
+ get_param: [EndpointMap, KeystonePublic, protocol]
uri:
list_join:
- ''
- - - get_param: [EndpointMap, KeystoneV3Public, protocol]
+ - - get_param: [EndpointMap, KeystonePublic, protocol]
- ://
- str_replace:
template:
- get_param: [EndpointMap, KeystoneV3Public, host]
+ get_param: [EndpointMap, KeystonePublic, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- - get_param: [EndpointMap, KeystoneV3Public, port]
+ - get_param: [EndpointMap, KeystonePublic, port]
- /v3
uri_no_suffix:
list_join:
- ''
- - - get_param: [EndpointMap, KeystoneV3Public, protocol]
+ - - get_param: [EndpointMap, KeystonePublic, protocol]
- ://
- str_replace:
template:
- get_param: [EndpointMap, KeystoneV3Public, host]
+ get_param: [EndpointMap, KeystonePublic, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- - get_param: [EndpointMap, KeystoneV3Public, port]
+ - get_param: [EndpointMap, KeystonePublic, port]
NeutronAdmin:
host:
str_replace:
@@ -1623,7 +1778,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:
@@ -1638,7 +1793,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
@@ -1652,7 +1807,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/noop.yaml b/network/noop.yaml
deleted file mode 100644
index 0963d2ce..00000000
--- a/network/noop.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: A stack which creates no network(s).
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]}