summaryrefslogtreecommitdiffstats
path: root/network/ports
diff options
context:
space:
mode:
Diffstat (limited to 'network/ports')
-rw-r--r--network/ports/ctlplane_vip.yaml12
-rw-r--r--network/ports/external.yaml14
-rw-r--r--network/ports/net_ip_list_map.yaml4
-rw-r--r--network/ports/net_ip_map.yaml4
-rw-r--r--network/ports/net_ip_subnet_map.yaml43
-rw-r--r--network/ports/noop.yaml4
-rw-r--r--network/ports/vip.yaml15
7 files changed, 90 insertions, 6 deletions
diff --git a/network/ports/ctlplane_vip.yaml b/network/ports/ctlplane_vip.yaml
index d5001e43..0d2945bc 100644
--- a/network/ports/ctlplane_vip.yaml
+++ b/network/ports/ctlplane_vip.yaml
@@ -2,6 +2,7 @@ heat_template_version: 2015-04-30
description: >
Creates a port for a VIP on the undercloud ctlplane network.
+ The IP address will be chosen automatically if FixedIPs is empty.
parameters:
NetworkName:
@@ -19,15 +20,20 @@ parameters:
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
resources:
-
VipPort:
type: OS::Neutron::Port
properties:
network: {get_param: ControlPlaneNetwork}
name: {get_param: PortName}
+ fixed_ips: {get_param: FixedIPs}
replacement_policy: AUTO
outputs:
@@ -36,7 +42,7 @@ outputs:
value: {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 internal API network IP
+ description: IP/Subnet CIDR for the ctlplane network.
value:
list_join:
- ''
diff --git a/network/ports/external.yaml b/network/ports/external.yaml
index b5c1e5c9..63e3eeb3 100644
--- a/network/ports/external.yaml
+++ b/network/ports/external.yaml
@@ -1,7 +1,8 @@
heat_template_version: 2015-04-30
description: >
- Creates a port on the external network.
+ Creates a port on the external network. The IP address will be chosen
+ automatically if FixedIPs is empty.
parameters:
ExternalNetName:
@@ -15,6 +16,16 @@ parameters:
ControlPlaneIP: # Here for compatability with noop.yaml
description: IP address on the control plane
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
resources:
@@ -23,6 +34,7 @@ resources:
properties:
network: {get_param: ExternalNetName}
name: {get_param: PortName}
+ fixed_ips: {get_param: FixedIPs}
replacement_policy: AUTO
outputs:
diff --git a/network/ports/net_ip_list_map.yaml b/network/ports/net_ip_list_map.yaml
index 54614ead..257d3f9b 100644
--- a/network/ports/net_ip_list_map.yaml
+++ b/network/ports/net_ip_list_map.yaml
@@ -1,6 +1,9 @@
heat_template_version: 2015-04-30
parameters:
+ ControlPlaneIpList:
+ default: []
+ type: comma_delimited_list
ExternalIpList:
default: []
type: comma_delimited_list
@@ -23,6 +26,7 @@ outputs:
A Hash containing a mapping of network names to assigned lists
of IP addresses.
value:
+ ctlplane: {get_param: ControlPlaneIpList}
external: {get_param: ExternalIpList}
internal_api: {get_param: InternalApiIpList}
storage: {get_param: StorageIpList}
diff --git a/network/ports/net_ip_map.yaml b/network/ports/net_ip_map.yaml
index edc4060f..7aaed160 100644
--- a/network/ports/net_ip_map.yaml
+++ b/network/ports/net_ip_map.yaml
@@ -1,6 +1,9 @@
heat_template_version: 2015-04-30
parameters:
+ ControlPlaneIp:
+ default: ''
+ type: string
ExternalIp:
default: ''
type: string
@@ -23,6 +26,7 @@ outputs:
A Hash containing a mapping of network names to assigned IPs
for a specific machine.
value:
+ ctlplane: {get_param: ControlPlaneIp}
external: {get_param: ExternalIp}
internal_api: {get_param: InternalApiIp}
storage: {get_param: StorageIp}
diff --git a/network/ports/net_ip_subnet_map.yaml b/network/ports/net_ip_subnet_map.yaml
new file mode 100644
index 00000000..cf59adb3
--- /dev/null
+++ b/network/ports/net_ip_subnet_map.yaml
@@ -0,0 +1,43 @@
+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
+ 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}
diff --git a/network/ports/noop.yaml b/network/ports/noop.yaml
index 9e1a1276..31ee6f3c 100644
--- a/network/ports/noop.yaml
+++ b/network/ports/noop.yaml
@@ -19,6 +19,10 @@ parameters:
description: # Here for compatability with vip.yaml
default: ''
type: string
+ FixedIPs:
+ description: # Here for compatibility with vip.yaml
+ default: []
+ type: json
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
diff --git a/network/ports/vip.yaml b/network/ports/vip.yaml
index b957e132..299579dc 100644
--- a/network/ports/vip.yaml
+++ b/network/ports/vip.yaml
@@ -2,6 +2,7 @@ heat_template_version: 2015-04-30
description: >
Creates a port for a VIP on the isolated network NetworkName.
+ The IP address will be chosen automatically if FixedIPs is empty.
parameters:
NetworkName:
@@ -15,14 +16,24 @@ parameters:
ControlPlaneIP: # Here for compatability with noop.yaml
description: IP address on the control plane
type: string
+ ControlPlaneNetwork:
+ 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
resources:
-
VipPort:
type: OS::Neutron::Port
properties:
network: {get_param: NetworkName}
name: {get_param: PortName}
+ fixed_ips: {get_param: FixedIPs}
replacement_policy: AUTO
outputs:
@@ -31,7 +42,7 @@ outputs:
value: {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 internal API network IP
+ description: IP/Subnet CIDR for the network associated with this IP
value:
list_join:
- ''