From e148ac870b4058d70822ac3df4d1fe512cd44303 Mon Sep 17 00:00:00 2001 From: Dan Sneddon Date: Tue, 15 Aug 2017 11:39:53 -0700 Subject: [PATCH] Render IP map and host maps according to network_data.yaml 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 --- .../net-config-multinode-os-net-config.yaml | 4 +- ci/common/net-config-multinode.yaml | 4 +- net-config-bond.yaml | 4 +- net-config-bridge.yaml | 4 +- net-config-linux-bridge.yaml | 4 +- net-config-noop.yaml | 4 +- ...nfig-static-bridge-with-external-dhcp.yaml | 4 +- net-config-static-bridge.yaml | 4 +- net-config-static.yaml | 4 +- net-config-undercloud.yaml | 4 +- .../config/bond-with-vlans/ceph-storage.yaml | 4 +- .../bond-with-vlans/cinder-storage.yaml | 4 +- .../config/bond-with-vlans/compute-dpdk.yaml | 4 +- network/config/bond-with-vlans/compute.yaml | 4 +- .../controller-no-external.yaml | 4 +- .../config/bond-with-vlans/controller-v6.yaml | 4 +- .../config/bond-with-vlans/controller.yaml | 4 +- network/config/bond-with-vlans/networker.yaml | 4 +- .../config/bond-with-vlans/swift-storage.yaml | 4 +- .../contrail/contrail-nic-config-compute.yaml | 4 +- .../config/contrail/contrail-nic-config.yaml | 4 +- .../config/multiple-nics/ceph-storage.yaml | 4 +- .../config/multiple-nics/cinder-storage.yaml | 4 +- network/config/multiple-nics/compute-dvr.yaml | 4 +- network/config/multiple-nics/compute.yaml | 4 +- .../config/multiple-nics/controller-v6.yaml | 4 +- network/config/multiple-nics/controller.yaml | 4 +- network/config/multiple-nics/networker.yaml | 4 +- .../config/multiple-nics/swift-storage.yaml | 4 +- .../ceph-storage.yaml | 4 +- .../cinder-storage.yaml | 4 +- .../compute.yaml | 4 +- .../controller-v6.yaml | 4 +- .../controller.yaml | 4 +- .../networker.yaml | 4 +- .../swift-storage.yaml | 4 +- .../config/single-nic-vlans/ceph-storage.yaml | 4 +- .../single-nic-vlans/cinder-storage.yaml | 4 +- network/config/single-nic-vlans/compute.yaml | 4 +- .../controller-no-external.yaml | 4 +- .../single-nic-vlans/controller-v6.yaml | 4 +- .../config/single-nic-vlans/controller.yaml | 4 +- .../config/single-nic-vlans/networker.yaml | 4 +- .../single-nic-vlans/swift-storage.yaml | 4 +- ..._list_map.yaml => net_ip_list_map.j2.yaml} | 42 ++-- network/ports/net_ip_map.j2.yaml | 81 +++++++ network/ports/net_ip_map.yaml | 210 ------------------ 47 files changed, 183 insertions(+), 326 deletions(-) rename network/ports/{net_ip_list_map.yaml => net_ip_list_map.j2.yaml} (86%) create mode 100644 network/ports/net_ip_map.j2.yaml delete mode 100644 network/ports/net_ip_map.yaml diff --git a/ci/common/net-config-multinode-os-net-config.yaml b/ci/common/net-config-multinode-os-net-config.yaml index 6f4542bdc1..9d45a9ffca 100644 --- a/ci/common/net-config-multinode-os-net-config.yaml +++ b/ci/common/net-config-multinode-os-net-config.yaml @@ -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: '' diff --git a/ci/common/net-config-multinode.yaml b/ci/common/net-config-multinode.yaml index f7e250e22f..6beb62f0c2 100644 --- a/ci/common/net-config-multinode.yaml +++ b/ci/common/net-config-multinode.yaml @@ -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: '' diff --git a/net-config-bond.yaml b/net-config-bond.yaml index 95b474559b..8a97c854bc 100644 --- a/net-config-bond.yaml +++ b/net-config-bond.yaml @@ -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: '' diff --git a/net-config-bridge.yaml b/net-config-bridge.yaml index 29646ab5c1..0668245d8b 100644 --- a/net-config-bridge.yaml +++ b/net-config-bridge.yaml @@ -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: '' diff --git a/net-config-linux-bridge.yaml b/net-config-linux-bridge.yaml index 6c44e60e50..3964341ae6 100644 --- a/net-config-linux-bridge.yaml +++ b/net-config-linux-bridge.yaml @@ -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: '' diff --git a/net-config-noop.yaml b/net-config-noop.yaml index 57f1a19702..bdfda57795 100644 --- a/net-config-noop.yaml +++ b/net-config-noop.yaml @@ -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: '' diff --git a/net-config-static-bridge-with-external-dhcp.yaml b/net-config-static-bridge-with-external-dhcp.yaml index cbf282eab2..0e0d590045 100644 --- a/net-config-static-bridge-with-external-dhcp.yaml +++ b/net-config-static-bridge-with-external-dhcp.yaml @@ -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: '' diff --git a/net-config-static-bridge.yaml b/net-config-static-bridge.yaml index c778bd814a..e3e930d534 100644 --- a/net-config-static-bridge.yaml +++ b/net-config-static-bridge.yaml @@ -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: '' diff --git a/net-config-static.yaml b/net-config-static.yaml index e864be03a1..02e2fe6577 100644 --- a/net-config-static.yaml +++ b/net-config-static.yaml @@ -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: '' diff --git a/net-config-undercloud.yaml b/net-config-undercloud.yaml index 881fbfd7b5..df02833a00 100644 --- a/net-config-undercloud.yaml +++ b/net-config-undercloud.yaml @@ -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: '' diff --git a/network/config/bond-with-vlans/ceph-storage.yaml b/network/config/bond-with-vlans/ceph-storage.yaml index 9683456a35..bd15a1892f 100644 --- a/network/config/bond-with-vlans/ceph-storage.yaml +++ b/network/config/bond-with-vlans/ceph-storage.yaml @@ -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: '' diff --git a/network/config/bond-with-vlans/cinder-storage.yaml b/network/config/bond-with-vlans/cinder-storage.yaml index 3ad6d6533c..4ea3c470cd 100644 --- a/network/config/bond-with-vlans/cinder-storage.yaml +++ b/network/config/bond-with-vlans/cinder-storage.yaml @@ -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: '' diff --git a/network/config/bond-with-vlans/compute-dpdk.yaml b/network/config/bond-with-vlans/compute-dpdk.yaml index 095c4973ed..5def1ca9cf 100644 --- a/network/config/bond-with-vlans/compute-dpdk.yaml +++ b/network/config/bond-with-vlans/compute-dpdk.yaml @@ -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: '' diff --git a/network/config/bond-with-vlans/compute.yaml b/network/config/bond-with-vlans/compute.yaml index 882402af73..2acbc8777b 100644 --- a/network/config/bond-with-vlans/compute.yaml +++ b/network/config/bond-with-vlans/compute.yaml @@ -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: '' diff --git a/network/config/bond-with-vlans/controller-no-external.yaml b/network/config/bond-with-vlans/controller-no-external.yaml index 4901f94d97..5560351805 100644 --- a/network/config/bond-with-vlans/controller-no-external.yaml +++ b/network/config/bond-with-vlans/controller-no-external.yaml @@ -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: '' diff --git a/network/config/bond-with-vlans/controller-v6.yaml b/network/config/bond-with-vlans/controller-v6.yaml index 33c6fa6558..69ab7539aa 100644 --- a/network/config/bond-with-vlans/controller-v6.yaml +++ b/network/config/bond-with-vlans/controller-v6.yaml @@ -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: '' diff --git a/network/config/bond-with-vlans/controller.yaml b/network/config/bond-with-vlans/controller.yaml index 100821b707..70e41eb69c 100644 --- a/network/config/bond-with-vlans/controller.yaml +++ b/network/config/bond-with-vlans/controller.yaml @@ -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: '' diff --git a/network/config/bond-with-vlans/networker.yaml b/network/config/bond-with-vlans/networker.yaml index aa6e9da6c3..45994c72e8 100644 --- a/network/config/bond-with-vlans/networker.yaml +++ b/network/config/bond-with-vlans/networker.yaml @@ -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: '' diff --git a/network/config/bond-with-vlans/swift-storage.yaml b/network/config/bond-with-vlans/swift-storage.yaml index 0ede081f2d..c31bf22584 100644 --- a/network/config/bond-with-vlans/swift-storage.yaml +++ b/network/config/bond-with-vlans/swift-storage.yaml @@ -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: '' diff --git a/network/config/contrail/contrail-nic-config-compute.yaml b/network/config/contrail/contrail-nic-config-compute.yaml index a5f0ecabd9..5f9e919834 100644 --- a/network/config/contrail/contrail-nic-config-compute.yaml +++ b/network/config/contrail/contrail-nic-config-compute.yaml @@ -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: '' diff --git a/network/config/contrail/contrail-nic-config.yaml b/network/config/contrail/contrail-nic-config.yaml index 595f34d15a..fb78cacafb 100644 --- a/network/config/contrail/contrail-nic-config.yaml +++ b/network/config/contrail/contrail-nic-config.yaml @@ -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: '' diff --git a/network/config/multiple-nics/ceph-storage.yaml b/network/config/multiple-nics/ceph-storage.yaml index 3cc4361f51..8448f84f4b 100644 --- a/network/config/multiple-nics/ceph-storage.yaml +++ b/network/config/multiple-nics/ceph-storage.yaml @@ -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: '' diff --git a/network/config/multiple-nics/cinder-storage.yaml b/network/config/multiple-nics/cinder-storage.yaml index fa7d49e356..57882e22e0 100644 --- a/network/config/multiple-nics/cinder-storage.yaml +++ b/network/config/multiple-nics/cinder-storage.yaml @@ -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: '' diff --git a/network/config/multiple-nics/compute-dvr.yaml b/network/config/multiple-nics/compute-dvr.yaml index a79391255e..562a63d93e 100644 --- a/network/config/multiple-nics/compute-dvr.yaml +++ b/network/config/multiple-nics/compute-dvr.yaml @@ -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: '' diff --git a/network/config/multiple-nics/compute.yaml b/network/config/multiple-nics/compute.yaml index d1dc06a318..febfed0ce4 100644 --- a/network/config/multiple-nics/compute.yaml +++ b/network/config/multiple-nics/compute.yaml @@ -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: '' diff --git a/network/config/multiple-nics/controller-v6.yaml b/network/config/multiple-nics/controller-v6.yaml index 477eeaae7a..17544f2204 100644 --- a/network/config/multiple-nics/controller-v6.yaml +++ b/network/config/multiple-nics/controller-v6.yaml @@ -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: '' diff --git a/network/config/multiple-nics/controller.yaml b/network/config/multiple-nics/controller.yaml index 59f16b93b4..7d9dbe7aa6 100644 --- a/network/config/multiple-nics/controller.yaml +++ b/network/config/multiple-nics/controller.yaml @@ -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: '' diff --git a/network/config/multiple-nics/networker.yaml b/network/config/multiple-nics/networker.yaml index b251fb9cb9..abee66ca0e 100644 --- a/network/config/multiple-nics/networker.yaml +++ b/network/config/multiple-nics/networker.yaml @@ -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: '' diff --git a/network/config/multiple-nics/swift-storage.yaml b/network/config/multiple-nics/swift-storage.yaml index 180f553fa5..cf547918f2 100644 --- a/network/config/multiple-nics/swift-storage.yaml +++ b/network/config/multiple-nics/swift-storage.yaml @@ -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: '' diff --git a/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml b/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml index 6685f2bcce..b22f633a80 100644 --- a/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml +++ b/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml @@ -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: '' diff --git a/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml b/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml index ecc57ad5ac..1c5a8c9aef 100644 --- a/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml +++ b/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml @@ -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: '' diff --git a/network/config/single-nic-linux-bridge-vlans/compute.yaml b/network/config/single-nic-linux-bridge-vlans/compute.yaml index a637ef006d..f4fd5fba14 100644 --- a/network/config/single-nic-linux-bridge-vlans/compute.yaml +++ b/network/config/single-nic-linux-bridge-vlans/compute.yaml @@ -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: '' diff --git a/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml b/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml index d4058078f6..44fc961c61 100644 --- a/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml +++ b/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml @@ -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: '' diff --git a/network/config/single-nic-linux-bridge-vlans/controller.yaml b/network/config/single-nic-linux-bridge-vlans/controller.yaml index a52a8b84d6..0a54145a93 100644 --- a/network/config/single-nic-linux-bridge-vlans/controller.yaml +++ b/network/config/single-nic-linux-bridge-vlans/controller.yaml @@ -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: '' diff --git a/network/config/single-nic-linux-bridge-vlans/networker.yaml b/network/config/single-nic-linux-bridge-vlans/networker.yaml index b1733dece0..7dd48944cb 100644 --- a/network/config/single-nic-linux-bridge-vlans/networker.yaml +++ b/network/config/single-nic-linux-bridge-vlans/networker.yaml @@ -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: '' diff --git a/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml b/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml index ad154fadfe..2649391f6c 100644 --- a/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml +++ b/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml @@ -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: '' diff --git a/network/config/single-nic-vlans/ceph-storage.yaml b/network/config/single-nic-vlans/ceph-storage.yaml index 790e8a7d74..ebcc721cc7 100644 --- a/network/config/single-nic-vlans/ceph-storage.yaml +++ b/network/config/single-nic-vlans/ceph-storage.yaml @@ -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: '' diff --git a/network/config/single-nic-vlans/cinder-storage.yaml b/network/config/single-nic-vlans/cinder-storage.yaml index 6dee3bee8a..d2548e4e0b 100644 --- a/network/config/single-nic-vlans/cinder-storage.yaml +++ b/network/config/single-nic-vlans/cinder-storage.yaml @@ -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: '' diff --git a/network/config/single-nic-vlans/compute.yaml b/network/config/single-nic-vlans/compute.yaml index d2559d2c83..78814af190 100644 --- a/network/config/single-nic-vlans/compute.yaml +++ b/network/config/single-nic-vlans/compute.yaml @@ -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: '' diff --git a/network/config/single-nic-vlans/controller-no-external.yaml b/network/config/single-nic-vlans/controller-no-external.yaml index d26de321c6..1dc9a6f350 100644 --- a/network/config/single-nic-vlans/controller-no-external.yaml +++ b/network/config/single-nic-vlans/controller-no-external.yaml @@ -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: '' diff --git a/network/config/single-nic-vlans/controller-v6.yaml b/network/config/single-nic-vlans/controller-v6.yaml index 8f68760fb1..f1055ae381 100644 --- a/network/config/single-nic-vlans/controller-v6.yaml +++ b/network/config/single-nic-vlans/controller-v6.yaml @@ -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: '' diff --git a/network/config/single-nic-vlans/controller.yaml b/network/config/single-nic-vlans/controller.yaml index 8530118fae..171fcf5d9b 100644 --- a/network/config/single-nic-vlans/controller.yaml +++ b/network/config/single-nic-vlans/controller.yaml @@ -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: '' diff --git a/network/config/single-nic-vlans/networker.yaml b/network/config/single-nic-vlans/networker.yaml index 54a17e46cc..2502984a8c 100644 --- a/network/config/single-nic-vlans/networker.yaml +++ b/network/config/single-nic-vlans/networker.yaml @@ -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: '' diff --git a/network/config/single-nic-vlans/swift-storage.yaml b/network/config/single-nic-vlans/swift-storage.yaml index b4587e04a2..99ab66c166 100644 --- a/network/config/single-nic-vlans/swift-storage.yaml +++ b/network/config/single-nic-vlans/swift-storage.yaml @@ -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: '' diff --git a/network/ports/net_ip_list_map.yaml b/network/ports/net_ip_list_map.j2.yaml similarity index 86% rename from network/ports/net_ip_list_map.yaml rename to network/ports/net_ip_list_map.j2.yaml index 6d7b7c162f..e929ab2cef 100644 --- a/network/ports/net_ip_list_map.yaml +++ b/network/ports/net_ip_list_map.j2.yaml @@ -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 index 0000000000..f01d624af3 --- /dev/null +++ b/network/ports/net_ip_map.j2.yaml @@ -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 index 1b0e7589b3..0000000000 --- a/network/ports/net_ip_map.yaml +++ /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]}