Render IP map and host maps according to network_data.yaml
authorDan Sneddon <dsneddon@redhat.com>
Tue, 15 Aug 2017 18:39:53 +0000 (11:39 -0700)
committerSteven Hardy <shardy@redhat.com>
Wed, 16 Aug 2017 12:30:54 +0000 (13:30 +0100)
This change renders the network IP maps and hostname maps for
all networks defined in network_data.yaml. This should make it
possible to create custom networks that will be rendered for
all applicable roles.

Note that at this time all networks will be rendered whether
they are enabled or not. All networks will be present in all
roles, but ports will be associated with noop.yaml in roles
that do not use the network. This is in accordance with
previous behavior, although we may wish to change this in
the future to limit the size of the role definitions and
reduce the number of placeholder resources in deployments
with many networks.

Note that this patch is a replacement for original patch
https://review.openstack.org/#/c/486280, which I was having
trouble rebasing to current.

Change-Id: I445b008fc1240af57c2b76a5dbb6c751a05b7a2a
Depends-on: I662e8d0b3737c7807d18c8917bfce1e25baa3d8a
Partially-implements: blueprint composable-networks

47 files changed:
ci/common/net-config-multinode-os-net-config.yaml
ci/common/net-config-multinode.yaml
net-config-bond.yaml
net-config-bridge.yaml
net-config-linux-bridge.yaml
net-config-noop.yaml
net-config-static-bridge-with-external-dhcp.yaml
net-config-static-bridge.yaml
net-config-static.yaml
net-config-undercloud.yaml
network/config/bond-with-vlans/ceph-storage.yaml
network/config/bond-with-vlans/cinder-storage.yaml
network/config/bond-with-vlans/compute-dpdk.yaml
network/config/bond-with-vlans/compute.yaml
network/config/bond-with-vlans/controller-no-external.yaml
network/config/bond-with-vlans/controller-v6.yaml
network/config/bond-with-vlans/controller.yaml
network/config/bond-with-vlans/networker.yaml
network/config/bond-with-vlans/swift-storage.yaml
network/config/contrail/contrail-nic-config-compute.yaml
network/config/contrail/contrail-nic-config.yaml
network/config/multiple-nics/ceph-storage.yaml
network/config/multiple-nics/cinder-storage.yaml
network/config/multiple-nics/compute-dvr.yaml
network/config/multiple-nics/compute.yaml
network/config/multiple-nics/controller-v6.yaml
network/config/multiple-nics/controller.yaml
network/config/multiple-nics/networker.yaml
network/config/multiple-nics/swift-storage.yaml
network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml
network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml
network/config/single-nic-linux-bridge-vlans/compute.yaml
network/config/single-nic-linux-bridge-vlans/controller-v6.yaml
network/config/single-nic-linux-bridge-vlans/controller.yaml
network/config/single-nic-linux-bridge-vlans/networker.yaml
network/config/single-nic-linux-bridge-vlans/swift-storage.yaml
network/config/single-nic-vlans/ceph-storage.yaml
network/config/single-nic-vlans/cinder-storage.yaml
network/config/single-nic-vlans/compute.yaml
network/config/single-nic-vlans/controller-no-external.yaml
network/config/single-nic-vlans/controller-v6.yaml
network/config/single-nic-vlans/controller.yaml
network/config/single-nic-vlans/networker.yaml
network/config/single-nic-vlans/swift-storage.yaml
network/ports/net_ip_list_map.j2.yaml [moved from network/ports/net_ip_list_map.yaml with 86% similarity]
network/ports/net_ip_map.j2.yaml [new file with mode: 0644]
network/ports/net_ip_map.yaml [deleted file]

index 6f4542b..9d45a9f 100644 (file)
@@ -15,7 +15,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -23,7 +23,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index f7e250e..6beb62f 100644 (file)
@@ -15,7 +15,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -23,7 +23,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 95b4745..8a97c85 100644 (file)
@@ -22,7 +22,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -30,7 +30,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 29646ab..0668245 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 6c44e60..3964341 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 57f1a19..bdfda57 100644 (file)
@@ -15,7 +15,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -23,7 +23,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index cbf282e..0e0d590 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index c778bd8..e3e930d 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index e864be0..02e2fe6 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 881fbfd..df02833 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 9683456..bd15a18 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 3ad6d65..4ea3c47 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 095c497..5def1ca 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 882402a..2acbc87 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 4901f94..5560351 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 33c6fa6..69ab753 100644 (file)
@@ -14,7 +14,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -22,7 +22,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 100821b..70e41eb 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index aa6e9da..45994c7 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 0ede081..c31bf22 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index a5f0eca..5f9e919 100644 (file)
@@ -16,7 +16,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   InternalApiDefaultRoute: # Not used by default in this template
     default: '10.0.0.1'
@@ -28,7 +28,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 595f34d..fb78cac 100644 (file)
@@ -16,7 +16,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   InternalApiDefaultRoute: # Not used by default in this template
     default: '10.0.0.1'
@@ -28,7 +28,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 3cc4361..8448f84 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index fa7d49e..57882e2 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index a793912..562a63d 100644 (file)
@@ -13,7 +13,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -21,7 +21,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index d1dc06a..febfed0 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 477eeaa..17544f2 100644 (file)
@@ -13,7 +13,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -21,7 +21,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 59f16b9..7d9dbe7 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index b251fb9..abee66c 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 180f553..cf54791 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 6685f2b..b22f633 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index ecc57ad..1c5a8c9 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index a637ef0..f4fd5fb 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index d405807..44fc961 100644 (file)
@@ -13,7 +13,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -21,7 +21,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index a52a8b8..0a54145 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index b1733de..7dd4894 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index ad154fa..2649391 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 790e8a7..ebcc721 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 6dee3be..d2548e4 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index d2559d2..78814af 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index d26de32..1dc9a6f 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 8f68760..f1055ae 100644 (file)
@@ -13,7 +13,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -21,7 +21,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 8530118..171fcf5 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index 54a17e4..2502984 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
index b4587e0..99ab66c 100644 (file)
@@ -12,7 +12,7 @@ parameters:
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -20,7 +20,7 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    description: IP address/subnet on the storage_mgmt network
     type: string
   TenantIpSubnet:
     default: ''
similarity index 86%
rename from network/ports/net_ip_list_map.yaml
rename to network/ports/net_ip_list_map.j2.yaml
index 6d7b7c1..e929ab2 100644 (file)
@@ -4,24 +4,11 @@ parameters:
   ControlPlaneIpList:
     default: []
     type: comma_delimited_list
-  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
-  ManagementIpList:
+{%- for network in networks %}
+  {{network.name}}IpList:
     default: []
     type: comma_delimited_list
+{%- endfor %}
   EnabledServices:
     default: []
     type: comma_delimited_list
@@ -58,7 +45,12 @@ parameters:
   TenantNetName:
     default: tenant
     description: The name of the tenant network.
+{%- for network in networks %}
+  {{network.name}}NetName:
+    default: {{network.name_lower}}
+    description: The name of the {{network.name_lower}} network.
     type: string
+{%- endfor %}
 
 
 resources:
@@ -91,19 +83,13 @@ resources:
       value:
         map_replace:
           - ctlplane: {get_param: ControlPlaneIpList}
-            external: {get_param: ExternalIpList}
-            internal_api: {get_param: InternalApiIpList}
-            storage: {get_param: StorageIpList}
-            storage_mgmt: {get_param: StorageMgmtIpList}
-            tenant: {get_param: TenantIpList}
-            management: {get_param: ManagementIpList}
+{%- for network in networks %}
+            {{network.name_lower}}: {get_param: {{network.name}}IpList}
+{%- endfor %}
           - keys:
-              external: {get_param: ExternalNetName}
-              internal_api: {get_param: InternalApiNetName}
-              storage: {get_param: StorageNetName}
-              storage_mgmt: {get_param: StorageMgmtNetName}
-              tenant: {get_param: TenantNetName}
-              management: {get_param: ManagementNetName}
+{%- for network in networks %}
+              {{network.name_lower}}: {get_param: {{network.name}}NetName}
+{%- endfor %}
 
 outputs:
   net_ip_map:
diff --git a/network/ports/net_ip_map.j2.yaml b/network/ports/net_ip_map.j2.yaml
new file mode 100644 (file)
index 0000000..f01d624
--- /dev/null
@@ -0,0 +1,81 @@
+heat_template_version: pike
+
+parameters:
+  ControlPlaneIp:
+    default: ''
+    type: string
+  ControlPlaneSubnetCidr: # Override this via parameter_defaults
+    default: '24'
+    description: The subnet CIDR of the control plane network.
+    type: string
+{%- for network in networks %}
+  {{network.name}}Ip:
+    default: ''
+    type: string
+  {{network.name}}IpSubnet:
+    description: 'IP address/subnet on the {{network.name_lower}} network'
+    default: ''
+    type: string
+  {{network.name}}IpUri:
+    default: ''
+    type: string
+    description: IP address with brackets in case of IPv6
+{%- endfor %}
+
+{%- for network in networks %}
+  {{network.name}}NetName:
+    default: {{network.name_lower}}
+    description: The name of the {{network.name_lower}} network.
+    type: string
+{%- endfor %}
+
+resources:
+
+  NetIpMapValue:
+    type: OS::Heat::Value
+    properties:
+      type: json
+      value:
+        map_replace:
+          - ctlplane: {get_param: ControlPlaneIp}
+{%- for network in networks %}
+            {{network.name_lower}}: {get_param: {{network.name}}Ip}
+{%- endfor %}
+            ctlplane_subnet:
+              list_join:
+                - ''
+                - - {get_param: ControlPlaneIp}
+                  - '/'
+                  - {get_param: ControlPlaneSubnetCidr}
+{%- for network in networks %}
+            {{network.name_lower}}_subnet: {get_param: {{network.name}}IpSubnet}
+{%- endfor %}
+            ctlplane_uri: {get_param: ControlPlaneIp}
+{%- for network in networks %}
+            {{network.name_lower}}_uri: {get_param: {{network.name}}IpUri}
+{%- endfor %}
+          - keys:
+{%- for network in networks %}
+              {{network.name_lower}}: {get_param: {{network.name}}NetName}
+{%- endfor %}
+{%- for network in networks %}
+              {{network.name_lower}}_subnet:
+                str_replace:
+                  template: NAME_subnet
+                  params:
+                    NAME: {get_param: {{network.name}}NetName}
+{%- endfor %}
+{%- for network in networks %}
+              {{network.name_lower}}_uri:
+                str_replace:
+                  template: NAME_uri
+                  params:
+                    NAME: {get_param: {{network.name}}NetName}
+{%- endfor %}
+
+outputs:
+  net_ip_map:
+    description: >
+      A Hash containing a mapping of network names to assigned IPs
+      for a specific machine.
+    value: {get_attr: [NetIpMapValue, value]}
diff --git a/network/ports/net_ip_map.yaml b/network/ports/net_ip_map.yaml
deleted file mode 100644 (file)
index 1b0e758..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-heat_template_version: pike
-
-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
-    description: IP address/subnet on the external network
-  ExternalIpUri:
-    default: ''
-    type: string
-    description: IP address with brackets in case of IPv6
-  InternalApiIp:
-    default: ''
-    type: string
-  InternalApiIpSubnet:
-    default: ''
-    type: string
-    description: IP address/subnet on the internal API network
-  InternalApiIpUri:
-    default: ''
-    type: string
-    description: IP address with brackets in case of IPv6
-  StorageIp:
-    default: ''
-    type: string
-  StorageIpSubnet:
-    default: ''
-    type: string
-    description: IP address/subnet on the storage network
-  StorageIpUri:
-    default: ''
-    type: string
-    description: IP address with brackets in case of IPv6
-  StorageMgmtIp:
-    default: ''
-    type: string
-  StorageMgmtIpSubnet:
-    default: ''
-    type: string
-    description: IP address/subnet on the storage mgmt network
-  StorageMgmtIpUri:
-    default: ''
-    type: string
-    description: IP address with brackets in case of IPv6
-  TenantIp:
-    default: ''
-    type: string
-  TenantIpSubnet:
-    default: ''
-    type: string
-    description: IP address/subnet on the tenant network
-  TenantIpUri:
-    default: ''
-    type: string
-    description: IP address with brackets in case of IPv6
-  ManagementIp:
-    default: ''
-    type: string
-  ManagementIpSubnet:
-    default: ''
-    type: string
-    description: IP address/subnet on the management network
-  ManagementIpUri:
-    default: ''
-    type: string
-    description: IP address with brackets in case of IPv6
-
-  InternalApiNetName:
-    default: internal_api
-    description: The name of the internal_api network.
-    type: string
-  ExternalNetName:
-    default: external
-    description: The name of the external network.
-    type: string
-  ManagementNetName:
-    default: management
-    description: The name of the management network.
-    type: string
-  StorageNetName:
-    default: storage
-    description: The name of the storage network.
-    type: string
-  StorageMgmtNetName:
-    default: storage_mgmt
-    description: The name of the storage_mgmt network.
-    type: string
-  TenantNetName:
-    default: tenant
-    description: The name of the tenant network.
-    type: string
-
-resources:
-
-  NetIpMapValue:
-    type: OS::Heat::Value
-    properties:
-      type: json
-      value:
-        map_replace:
-          - ctlplane: {get_param: ControlPlaneIp}
-            external: {get_param: ExternalIp}
-            internal_api: {get_param: InternalApiIp}
-            storage: {get_param: StorageIp}
-            storage_mgmt: {get_param: StorageMgmtIp}
-            tenant: {get_param: TenantIp}
-            management: {get_param: ManagementIp}
-            ctlplane_subnet:
-              list_join:
-                - ''
-                - - {get_param: ControlPlaneIp}
-                  - '/'
-                  - {get_param: ControlPlaneSubnetCidr}
-            external_subnet: {get_param: ExternalIpSubnet}
-            internal_api_subnet: {get_param: InternalApiIpSubnet}
-            storage_subnet: {get_param: StorageIpSubnet}
-            storage_mgmt_subnet: {get_param: StorageMgmtIpSubnet}
-            tenant_subnet: {get_param: TenantIpSubnet}
-            management_subnet: {get_param: ManagementIpSubnet}
-            ctlplane_uri: {get_param: ControlPlaneIp}
-            external_uri: {get_param: ExternalIpUri}
-            internal_api_uri: {get_param: InternalApiIpUri}
-            storage_uri: {get_param: StorageIpUri}
-            storage_mgmt_uri: {get_param: StorageMgmtIpUri}
-            tenant_uri: {get_param: TenantIpUri}
-            management_uri: {get_param: ManagementIpUri}
-          - keys:
-              external: {get_param: ExternalNetName}
-              internal_api: {get_param: InternalApiNetName}
-              storage: {get_param: StorageNetName}
-              storage_mgmt: {get_param: StorageMgmtNetName}
-              tenant: {get_param: TenantNetName}
-              management: {get_param: ManagementNetName}
-              external_subnet:
-                str_replace:
-                  template: NAME_subnet
-                  params:
-                    NAME: {get_param: ExternalNetName}
-              internal_api_subnet:
-                str_replace:
-                  template: NAME_subnet
-                  params:
-                    NAME: {get_param: InternalApiNetName}
-              storage_subnet:
-                str_replace:
-                  template: NAME_subnet
-                  params:
-                    NAME: {get_param: StorageNetName}
-              storage_mgmt_subnet:
-                str_replace:
-                  template: NAME_subnet
-                  params:
-                    NAME: {get_param: StorageMgmtNetName}
-              tenant_subnet:
-                str_replace:
-                  template: NAME_subnet
-                  params:
-                    NAME: {get_param: TenantNetName}
-              management_subnet:
-                str_replace:
-                  template: NAME_subnet
-                  params:
-                    NAME: {get_param: ManagementNetName}
-              external_uri:
-                str_replace:
-                  template: NAME_uri
-                  params:
-                    NAME: {get_param: ExternalNetName}
-              internal_api_uri:
-                str_replace:
-                  template: NAME_uri
-                  params:
-                    NAME: {get_param: InternalApiNetName}
-              storage_uri:
-                str_replace:
-                  template: NAME_uri
-                  params:
-                    NAME: {get_param: StorageNetName}
-              storage_mgmt_uri:
-                str_replace:
-                  template: NAME_uri
-                  params:
-                    NAME: {get_param: StorageMgmtNetName}
-              tenant_uri:
-                str_replace:
-                  template: NAME_uri
-                  params:
-                    NAME: {get_param: TenantNetName}
-              management_uri:
-                str_replace:
-                  template: NAME_uri
-                  params:
-                    NAME: {get_param: ManagementNetName}
-
-outputs:
-  net_ip_map:
-    description: >
-      A Hash containing a mapping of network names to assigned IPs
-      for a specific machine.
-    value: {get_attr: [NetIpMapValue, value]}