aboutsummaryrefslogtreecommitdiffstats
path: root/network
diff options
context:
space:
mode:
Diffstat (limited to 'network')
-rw-r--r--network/endpoints/endpoint_data.yaml55
-rw-r--r--network/endpoints/endpoint_map.yaml441
-rw-r--r--network/management_v6.yaml69
-rw-r--r--network/networks.yaml3
-rw-r--r--network/ports/management_from_pool.yaml2
-rw-r--r--network/ports/management_from_pool_v6.yaml52
-rw-r--r--network/ports/net_ip_map.yaml41
-rw-r--r--network/ports/net_ip_subnet_map.yaml47
8 files changed, 525 insertions, 185 deletions
diff --git a/network/endpoints/endpoint_data.yaml b/network/endpoints/endpoint_data.yaml
index 21e604ae..5afcf5de 100644
--- a/network/endpoints/endpoint_data.yaml
+++ b/network/endpoints/endpoint_data.yaml
@@ -61,8 +61,16 @@ GlanceRegistry:
port: 9191
Mysql:
- '':
+ Internal:
vip_param: Mysql
+ protocol: mysql+pymysql
+ port: 3306
+
+MysqlNoBrackets:
+ Internal:
+ vip_param: MysqlNoBrackets
+ protocol: mysql+pymysql
+ port: 3306
Heat:
Internal:
@@ -79,6 +87,21 @@ Heat:
'': /v1/%(tenant_id)s
port: 8004
+HeatCfn:
+ Internal:
+ vip_param: HeatApi
+ uri_suffixes:
+ '': /v1
+ Public:
+ vip_param: Public
+ uri_suffixes:
+ '': /v1
+ Admin:
+ vip_param: HeatApi
+ uri_suffixes:
+ '': /v1
+ port: 8000
+
Horizon:
Public:
vip_param: Public
@@ -134,21 +157,6 @@ Nova:
'': /v2.1
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
@@ -190,3 +198,18 @@ Sahara:
uri_suffixes:
'': /v1.1/%(tenant_id)s
port: 8386
+
+Ironic:
+ Internal:
+ vip_param: IronicApi
+ uri_suffixes:
+ '': /v1
+ Public:
+ vip_param: Public
+ uri_suffixes:
+ '': /v1
+ Admin:
+ vip_param: IronicApi
+ uri_suffixes:
+ '': /v1
+ port: 6385
diff --git a/network/endpoints/endpoint_map.yaml b/network/endpoints/endpoint_map.yaml
index 7d084947..e1b8984f 100644
--- a/network/endpoints/endpoint_map.yaml
+++ b/network/endpoints/endpoint_map.yaml
@@ -15,8 +15,10 @@ parameters:
GlanceRegistryVirtualIP: {type: string, default: ''}
GnocchiApiVirtualIP: {type: string, default: ''}
HeatApiVirtualIP: {type: string, default: ''}
+ IronicApiVirtualIP: {type: string, default: ''}
KeystoneAdminApiVirtualIP: {type: string, default: ''}
KeystonePublicApiVirtualIP: {type: string, default: ''}
+ MysqlNoBracketsVirtualIP: {type: string, default: ''}
MysqlVirtualIP: {type: string, default: ''}
NeutronApiVirtualIP: {type: string, default: ''}
NovaApiVirtualIP: {type: string, default: ''}
@@ -45,19 +47,25 @@ parameters:
HeatAdmin: {protocol: http, port: '8004', host: IP_ADDRESS}
HeatInternal: {protocol: http, port: '8004', host: IP_ADDRESS}
HeatPublic: {protocol: http, port: '8004', host: IP_ADDRESS}
+ HeatCfnAdmin: {protocol: http, port: '8000', host: IP_ADDRESS}
+ HeatCfnInternal: {protocol: http, port: '8000', host: IP_ADDRESS}
+ HeatCfnPublic: {protocol: http, port: '8000', host: IP_ADDRESS}
HorizonPublic: {protocol: http, port: '80', host: IP_ADDRESS}
+ IronicAdmin: {protocol: http, port: '6385', host: IP_ADDRESS}
+ IronicInternal: {protocol: http, port: '6385', host: IP_ADDRESS}
+ IronicPublic: {protocol: http, port: '6385', host: IP_ADDRESS}
KeystoneAdmin: {protocol: http, port: '35357', host: IP_ADDRESS}
KeystoneInternal: {protocol: http, port: '5000', host: IP_ADDRESS}
KeystonePublic: {protocol: http, port: '5000', host: IP_ADDRESS}
+ MysqlInternal: {protocol: mysql+pymysql, port: '3306', host: IP_ADDRESS}
+ MysqlNoBracketsInternal: {protocol: mysql+pymysql, port: '3306',
+ 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}
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}
@@ -919,6 +927,123 @@ outputs:
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, HeatPublic, port]
+ HeatCfnAdmin:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, HeatCfnAdmin, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ port:
+ get_param: [EndpointMap, HeatCfnAdmin, port]
+ protocol:
+ get_param: [EndpointMap, HeatCfnAdmin, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, HeatCfnAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, HeatCfnAdmin, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, HeatCfnAdmin, port]
+ - /v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, HeatCfnAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, HeatCfnAdmin, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, HeatCfnAdmin, port]
+ HeatCfnInternal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, HeatCfnInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ port:
+ get_param: [EndpointMap, HeatCfnInternal, port]
+ protocol:
+ get_param: [EndpointMap, HeatCfnInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, HeatCfnInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, HeatCfnInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, HeatCfnInternal, port]
+ - /v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, HeatCfnInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, HeatCfnInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, HeatCfnInternal, port]
+ HeatCfnPublic:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, HeatCfnPublic, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
+ port:
+ get_param: [EndpointMap, HeatCfnPublic, port]
+ protocol:
+ get_param: [EndpointMap, HeatCfnPublic, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, HeatCfnPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, HeatCfnPublic, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, HeatCfnPublic, port]
+ - /v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, HeatCfnPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, HeatCfnPublic, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, HeatCfnPublic, port]
HorizonPublic:
host:
str_replace:
@@ -958,6 +1083,123 @@ outputs:
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, HorizonPublic, port]
+ IronicAdmin:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, IronicAdmin, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: IronicApiVirtualIP}
+ port:
+ get_param: [EndpointMap, IronicAdmin, port]
+ protocol:
+ get_param: [EndpointMap, IronicAdmin, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicAdmin, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: IronicApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, IronicAdmin, port]
+ - /v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicAdmin, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: IronicApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, IronicAdmin, port]
+ IronicInternal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, IronicInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: IronicApiVirtualIP}
+ port:
+ get_param: [EndpointMap, IronicInternal, port]
+ protocol:
+ get_param: [EndpointMap, IronicInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: IronicApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, IronicInternal, port]
+ - /v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: IronicApiVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, IronicInternal, port]
+ IronicPublic:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, IronicPublic, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
+ port:
+ get_param: [EndpointMap, IronicPublic, port]
+ protocol:
+ get_param: [EndpointMap, IronicPublic, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicPublic, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, IronicPublic, port]
+ - /v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicPublic, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: PublicVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, IronicPublic, port]
KeystoneAdmin:
host:
str_replace:
@@ -1231,6 +1473,82 @@ outputs:
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, KeystonePublic, port]
+ MysqlInternal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, MysqlInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: MysqlVirtualIP}
+ port:
+ get_param: [EndpointMap, MysqlInternal, port]
+ protocol:
+ get_param: [EndpointMap, MysqlInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, MysqlInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, MysqlInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: MysqlVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, MysqlInternal, port]
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, MysqlInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, MysqlInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: MysqlVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, MysqlInternal, port]
+ MysqlNoBracketsInternal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, MysqlNoBracketsInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: MysqlNoBracketsVirtualIP}
+ port:
+ get_param: [EndpointMap, MysqlNoBracketsInternal, port]
+ protocol:
+ get_param: [EndpointMap, MysqlNoBracketsInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, MysqlNoBracketsInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, MysqlNoBracketsInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: MysqlNoBracketsVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, MysqlNoBracketsInternal, port]
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, MysqlNoBracketsInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, MysqlNoBracketsInternal, host]
+ params:
+ CLOUDNAME: {get_param: CloudName}
+ IP_ADDRESS: {get_param: MysqlNoBracketsVirtualIP}
+ - ':'
+ - get_param: [EndpointMap, MysqlNoBracketsInternal, port]
NeutronAdmin:
host:
str_replace:
@@ -1462,123 +1780,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:
diff --git a/network/management_v6.yaml b/network/management_v6.yaml
new file mode 100644
index 00000000..a5e70667
--- /dev/null
+++ b/network/management_v6.yaml
@@ -0,0 +1,69 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Management network. System administration, SSH, DNS, NTP, etc. This network
+ would usually be the default gateway for the non-controller nodes.
+
+parameters:
+ # the defaults here work for static IP assignment (IPAM) only
+ ManagementNetCidr:
+ default: 'fd00:fd00:fd00:6000::/64'
+ description: Cidr for the management network.
+ type: string
+ ManagementNetValueSpecs:
+ default: {'provider:physical_network': 'management', 'provider:network_type': 'flat'}
+ description: Value specs for the management network.
+ type: json
+ ManagementNetAdminStateUp:
+ default: false
+ description: This admin state of of the network.
+ type: boolean
+ ManagementNetShared:
+ default: false
+ description: Whether this network is shared across all tenants.
+ type: boolean
+ ManagementNetName:
+ default: management
+ description: The name of the management network.
+ type: string
+ ManagementSubnetName:
+ default: management_subnet
+ description: The name of the management subnet in Neutron.
+ type: string
+ ManagementAllocationPools:
+ default: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}]
+ description: Ip allocation pool range for the management network.
+ type: json
+ IPv6AddressMode:
+ default: dhcpv6-stateful
+ description: Neutron subnet IPv6 address mode
+ type: string
+ IPv6RAMode:
+ default: dhcpv6-stateful
+ description: Neutron subnet IPv6 router advertisement mode
+ type: string
+
+resources:
+ ManagementNetwork:
+ type: OS::Neutron::Net
+ properties:
+ admin_state_up: {get_param: ManagementNetAdminStateUp}
+ name: {get_param: ManagementNetName}
+ shared: {get_param: ManagementNetShared}
+ value_specs: {get_param: ManagementNetValueSpecs}
+
+ ManagementSubnet:
+ type: OS::Neutron::Subnet
+ properties:
+ ip_version: 6
+ ipv6_address_mode: {get_param: IPv6AddressMode}
+ ipv6_ra_mode: {get_param: IPv6RAMode}
+ cidr: {get_param: ManagementNetCidr}
+ name: {get_param: ManagementSubnetName}
+ network: {get_resource: ManagementNetwork}
+ allocation_pools: {get_param: ManagementAllocationPools}
+
+outputs:
+ OS::stack_id:
+ description: Neutron management network
+ value: {get_resource: ManagementNetwork}
diff --git a/network/networks.yaml b/network/networks.yaml
index ab50ae11..d3ae482b 100644
--- a/network/networks.yaml
+++ b/network/networks.yaml
@@ -21,3 +21,6 @@ resources:
ManagementNetwork:
type: OS::TripleO::Network::Management
+
+ NetworkExtraConfig:
+ type: OS::TripleO::Network::ExtraConfig
diff --git a/network/ports/management_from_pool.yaml b/network/ports/management_from_pool.yaml
index fc87e39a..451677b2 100644
--- a/network/ports/management_from_pool.yaml
+++ b/network/ports/management_from_pool.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
diff --git a/network/ports/management_from_pool_v6.yaml b/network/ports/management_from_pool_v6.yaml
new file mode 100644
index 00000000..d9ac6046
--- /dev/null
+++ b/network/ports/management_from_pool_v6.yaml
@@ -0,0 +1,52 @@
+heat_template_version: 2015-10-15
+
+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: 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_attr: [ManagementPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/net_ip_map.yaml b/network/ports/net_ip_map.yaml
index 6bb4557b..78c7c32c 100644
--- a/network/ports/net_ip_map.yaml
+++ b/network/ports/net_ip_map.yaml
@@ -4,9 +4,16 @@ parameters:
ControlPlaneIp:
default: ''
type: string
+ ControlPlaneSubnetCidr: # Override this via parameter_defaults
+ default: '24'
+ description: The subnet CIDR of the control plane network.
+ type: string
ExternalIp:
default: ''
type: string
+ ExternalIpSubnet:
+ default: ''
+ type: string
ExternalIpUri:
default: ''
type: string
@@ -14,6 +21,9 @@ parameters:
InternalApiIp:
default: ''
type: string
+ InternalApiIpSubnet:
+ default: ''
+ type: string
InternalApiIpUri:
default: ''
type: string
@@ -21,6 +31,9 @@ parameters:
StorageIp:
default: ''
type: string
+ StorageIpSubnet:
+ default: ''
+ type: string
StorageIpUri:
default: ''
type: string
@@ -28,6 +41,9 @@ parameters:
StorageMgmtIp:
default: ''
type: string
+ StorageMgmtIpSubnet:
+ default: ''
+ type: string
StorageMgmtIpUri:
default: ''
type: string
@@ -35,6 +51,9 @@ parameters:
TenantIp:
default: ''
type: string
+ TenantIpSubnet:
+ default: ''
+ type: string
TenantIpUri:
default: ''
type: string
@@ -42,6 +61,9 @@ parameters:
ManagementIp:
default: ''
type: string
+ ManagementIpSubnet:
+ default: ''
+ type: string
ManagementIpUri:
default: ''
type: string
@@ -60,9 +82,26 @@ outputs:
storage_mgmt: {get_param: StorageMgmtIp}
tenant: {get_param: TenantIp}
management: {get_param: ManagementIp}
+ net_ip_subnet_map:
+ description: >
+ A Hash containing a mapping of network names to assigned IPs/CIDR
+ for a specific machine.
+ value:
+ ctlplane:
+ list_join:
+ - ''
+ - - {get_param: ControlPlaneIp}
+ - '/'
+ - {get_param: ControlPlaneSubnetCidr}
+ external: {get_param: ExternalIpSubnet}
+ internal_api: {get_param: InternalApiIpSubnet}
+ storage: {get_param: StorageIpSubnet}
+ storage_mgmt: {get_param: StorageMgmtIpSubnet}
+ tenant: {get_param: TenantIpSubnet}
+ management: {get_param: ManagementIpSubnet}
net_ip_uri_map:
description: >
- A Hash containing a mapping of netowrk names to assigned IPs for a
+ A Hash containing a mapping of network names to assigned IPs for a
specific machine with brackets around IPv6 addresses for use in URLs.
value:
ctlplane: {get_param: ControlPlaneIp}
diff --git a/network/ports/net_ip_subnet_map.yaml b/network/ports/net_ip_subnet_map.yaml
deleted file mode 100644
index 2f933eaa..00000000
--- a/network/ports/net_ip_subnet_map.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-heat_template_version: 2015-04-30
-
-parameters:
- ControlPlaneIp:
- default: ''
- type: string
- ExternalIpSubnet:
- default: ''
- type: string
- InternalApiIpSubnet:
- default: ''
- type: string
- StorageIpSubnet:
- default: ''
- type: string
- StorageMgmtIpSubnet:
- default: ''
- type: string
- TenantIpSubnet:
- default: ''
- type: string
- ManagementIpSubnet:
- default: ''
- type: string
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
-
-outputs:
- net_ip_subnet_map:
- description: >
- A Hash containing a mapping of network names to assigned
- IP/subnet mappings.
- value:
- ctlplane:
- list_join:
- - ''
- - - {get_param: ControlPlaneIp}
- - '/'
- - {get_param: ControlPlaneSubnetCidr}
- external: {get_param: ExternalIpSubnet}
- internal_api: {get_param: InternalApiIpSubnet}
- storage: {get_param: StorageIpSubnet}
- storage_mgmt: {get_param: StorageMgmtIpSubnet}
- tenant: {get_param: TenantIpSubnet}
- management: {get_param: ManagementIpSubnet}