aboutsummaryrefslogtreecommitdiffstats
path: root/network/ports
diff options
context:
space:
mode:
Diffstat (limited to 'network/ports')
-rw-r--r--network/ports/ctlplane_vip.yaml46
-rw-r--r--network/ports/external.yaml5
-rw-r--r--network/ports/internal_api.yaml5
-rw-r--r--network/ports/net_ip_list_map.yaml30
-rw-r--r--network/ports/net_ip_map.yaml2
-rw-r--r--network/ports/noop.yaml12
-rw-r--r--network/ports/storage.yaml5
-rw-r--r--network/ports/storage_mgmt.yaml5
-rw-r--r--network/ports/tenant.yaml5
-rw-r--r--network/ports/vip.yaml41
10 files changed, 155 insertions, 1 deletions
diff --git a/network/ports/ctlplane_vip.yaml b/network/ports/ctlplane_vip.yaml
new file mode 100644
index 00000000..d5001e43
--- /dev/null
+++ b/network/ports/ctlplane_vip.yaml
@@ -0,0 +1,46 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Creates a port for a VIP on the undercloud ctlplane network.
+
+parameters:
+ NetworkName:
+ description: # Here for compatibility with isolated networks
+ default: ctlplane
+ 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
+ type: string
+ ControlPlaneNetwork:
+ description: The name of the undercloud Neutron control plane
+ default: ctlplane
+ type: string
+
+
+resources:
+
+ VipPort:
+ type: OS::Neutron::Port
+ properties:
+ network: {get_param: ControlPlaneNetwork}
+ name: {get_param: PortName}
+ replacement_policy: AUTO
+
+outputs:
+ ip_address:
+ description: Virtual IP network IP
+ 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
+ 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]}
diff --git a/network/ports/external.yaml b/network/ports/external.yaml
index db86b329..b5c1e5c9 100644
--- a/network/ports/external.yaml
+++ b/network/ports/external.yaml
@@ -8,6 +8,10 @@ parameters:
description: Name of the external neutron 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
type: string
@@ -18,6 +22,7 @@ resources:
type: OS::Neutron::Port
properties:
network: {get_param: ExternalNetName}
+ name: {get_param: PortName}
replacement_policy: AUTO
outputs:
diff --git a/network/ports/internal_api.yaml b/network/ports/internal_api.yaml
index 59c0e0ad..da1b1856 100644
--- a/network/ports/internal_api.yaml
+++ b/network/ports/internal_api.yaml
@@ -8,6 +8,10 @@ parameters:
description: Name of the internal API neutron 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
type: string
@@ -18,6 +22,7 @@ resources:
type: OS::Neutron::Port
properties:
network: {get_param: InternalApiNetName}
+ name: {get_param: PortName}
replacement_policy: AUTO
outputs:
diff --git a/network/ports/net_ip_list_map.yaml b/network/ports/net_ip_list_map.yaml
new file mode 100644
index 00000000..54614ead
--- /dev/null
+++ b/network/ports/net_ip_list_map.yaml
@@ -0,0 +1,30 @@
+heat_template_version: 2015-04-30
+
+parameters:
+ ExternalIpList:
+ default: []
+ type: comma_delimited_list
+ InternalApiIpList:
+ default: []
+ type: comma_delimited_list
+ StorageIpList:
+ default: []
+ type: comma_delimited_list
+ StorageMgmtIpList:
+ default: []
+ type: comma_delimited_list
+ TenantIpList:
+ default: []
+ type: comma_delimited_list
+
+outputs:
+ net_ip_map:
+ description: >
+ A Hash containing a mapping of network names to assigned lists
+ of IP addresses.
+ value:
+ external: {get_param: ExternalIpList}
+ internal_api: {get_param: InternalApiIpList}
+ storage: {get_param: StorageIpList}
+ storage_mgmt: {get_param: StorageMgmtIpList}
+ tenant: {get_param: TenantIpList}
diff --git a/network/ports/net_ip_map.yaml b/network/ports/net_ip_map.yaml
index b7138b25..edc4060f 100644
--- a/network/ports/net_ip_map.yaml
+++ b/network/ports/net_ip_map.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2014-10-16
+heat_template_version: 2015-04-30
parameters:
ExternalIp:
diff --git a/network/ports/noop.yaml b/network/ports/noop.yaml
index 6bbf23c9..9e1a1276 100644
--- a/network/ports/noop.yaml
+++ b/network/ports/noop.yaml
@@ -7,6 +7,18 @@ parameters:
ControlPlaneIP:
description: IP address on the control plane
type: string
+ ControlPlaneNetwork:
+ description: Name of the control plane network
+ default: ctlplane
+ type: string
+ PortName:
+ description: Name of the port
+ default: ''
+ type: string
+ NetworkName:
+ description: # Here for compatability with vip.yaml
+ default: ''
+ type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
diff --git a/network/ports/storage.yaml b/network/ports/storage.yaml
index 27f60a0d..ecb20b8f 100644
--- a/network/ports/storage.yaml
+++ b/network/ports/storage.yaml
@@ -8,6 +8,10 @@ parameters:
description: Name of the storage neutron 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
type: string
@@ -18,6 +22,7 @@ resources:
type: OS::Neutron::Port
properties:
network: {get_param: StorageNetName}
+ name: {get_param: PortName}
replacement_policy: AUTO
outputs:
diff --git a/network/ports/storage_mgmt.yaml b/network/ports/storage_mgmt.yaml
index 03cc224e..2ab39f21 100644
--- a/network/ports/storage_mgmt.yaml
+++ b/network/ports/storage_mgmt.yaml
@@ -8,6 +8,10 @@ parameters:
description: Name of the storage_mgmt API neutron 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
type: string
@@ -18,6 +22,7 @@ resources:
type: OS::Neutron::Port
properties:
network: {get_param: StorageMgmtNetName}
+ name: {get_param: PortName}
replacement_policy: AUTO
outputs:
diff --git a/network/ports/tenant.yaml b/network/ports/tenant.yaml
index 1957c41b..aae12d46 100644
--- a/network/ports/tenant.yaml
+++ b/network/ports/tenant.yaml
@@ -8,6 +8,10 @@ parameters:
description: Name of the tenant neutron 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
type: string
@@ -18,6 +22,7 @@ resources:
type: OS::Neutron::Port
properties:
network: {get_param: TenantNetName}
+ name: {get_param: PortName}
replacement_policy: AUTO
outputs:
diff --git a/network/ports/vip.yaml b/network/ports/vip.yaml
new file mode 100644
index 00000000..b957e132
--- /dev/null
+++ b/network/ports/vip.yaml
@@ -0,0 +1,41 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Creates a port for a VIP on the isolated network NetworkName.
+
+parameters:
+ NetworkName:
+ description: Name of the network where the VIP will be created
+ 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
+ type: string
+
+resources:
+
+ VipPort:
+ type: OS::Neutron::Port
+ properties:
+ network: {get_param: NetworkName}
+ name: {get_param: PortName}
+ replacement_policy: AUTO
+
+outputs:
+ ip_address:
+ description: Virtual IP network IP
+ 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
+ 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]}