Dump IPs configuration as hieradata
authorGiulio Fidente <gfidente@redhat.com>
Wed, 11 May 2016 13:32:45 +0000 (15:32 +0200)
committerGiulio Fidente <gfidente@redhat.com>
Wed, 18 May 2016 17:18:33 +0000 (19:18 +0200)
This might be useful if we switch to %{hiera()} calls to lookup
the bind address from within a service.

Also gets rid of NetIpSubnetMap and provides same output from
NetIpMap instead.

Change-Id: I328a417d1f1fff9c31e9ad7b2b5083ac19bc7329

network/ports/net_ip_map.yaml
network/ports/net_ip_subnet_map.yaml [deleted file]
overcloud-resource-registry-puppet.yaml
puppet/ceph-storage.yaml
puppet/cinder-storage.yaml
puppet/compute.yaml
puppet/controller.yaml
puppet/swift-storage.yaml

index 6bb4557..78c7c32 100644 (file)
@@ -4,9 +4,16 @@ parameters:
   ControlPlaneIp:
     default: ''
     type: string
+  ControlPlaneSubnetCidr: # Override this via parameter_defaults
+    default: '24'
+    description: The subnet CIDR of the control plane network.
+    type: string
   ExternalIp:
     default: ''
     type: string
+  ExternalIpSubnet:
+    default: ''
+    type: string
   ExternalIpUri:
     default: ''
     type: string
@@ -14,6 +21,9 @@ parameters:
   InternalApiIp:
     default: ''
     type: string
+  InternalApiIpSubnet:
+    default: ''
+    type: string
   InternalApiIpUri:
     default: ''
     type: string
@@ -21,6 +31,9 @@ parameters:
   StorageIp:
     default: ''
     type: string
+  StorageIpSubnet:
+    default: ''
+    type: string
   StorageIpUri:
     default: ''
     type: string
@@ -28,6 +41,9 @@ parameters:
   StorageMgmtIp:
     default: ''
     type: string
+  StorageMgmtIpSubnet:
+    default: ''
+    type: string
   StorageMgmtIpUri:
     default: ''
     type: string
@@ -35,6 +51,9 @@ parameters:
   TenantIp:
     default: ''
     type: string
+  TenantIpSubnet:
+    default: ''
+    type: string
   TenantIpUri:
     default: ''
     type: string
@@ -42,6 +61,9 @@ parameters:
   ManagementIp:
     default: ''
     type: string
+  ManagementIpSubnet:
+    default: ''
+    type: string
   ManagementIpUri:
     default: ''
     type: string
@@ -60,9 +82,26 @@ outputs:
       storage_mgmt: {get_param: StorageMgmtIp}
       tenant: {get_param: TenantIp}
       management: {get_param: ManagementIp}
+  net_ip_subnet_map:
+    description: >
+      A Hash containing a mapping of network names to assigned IPs/CIDR
+      for a specific machine.
+    value:
+      ctlplane:
+        list_join:
+          - ''
+          - - {get_param: ControlPlaneIp}
+            - '/'
+            - {get_param: ControlPlaneSubnetCidr}
+      external: {get_param: ExternalIpSubnet}
+      internal_api: {get_param: InternalApiIpSubnet}
+      storage: {get_param: StorageIpSubnet}
+      storage_mgmt: {get_param: StorageMgmtIpSubnet}
+      tenant: {get_param: TenantIpSubnet}
+      management: {get_param: ManagementIpSubnet}
   net_ip_uri_map:
     description: >
-      A Hash containing a mapping of netowrk names to assigned IPs for a
+      A Hash containing a mapping of network names to assigned IPs for a
       specific machine with brackets around IPv6 addresses for use in URLs.
     value:
       ctlplane: {get_param: ControlPlaneIp}
diff --git a/network/ports/net_ip_subnet_map.yaml b/network/ports/net_ip_subnet_map.yaml
deleted file mode 100644 (file)
index 2f933ea..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-heat_template_version: 2015-04-30
-
-parameters:
-  ControlPlaneIp:
-    default: ''
-    type: string
-  ExternalIpSubnet:
-    default: ''
-    type: string
-  InternalApiIpSubnet:
-    default: ''
-    type: string
-  StorageIpSubnet:
-    default: ''
-    type: string
-  StorageMgmtIpSubnet:
-    default: ''
-    type: string
-  TenantIpSubnet:
-    default: ''
-    type: string
-  ManagementIpSubnet:
-    default: ''
-    type: string
-  ControlPlaneSubnetCidr: # Override this via parameter_defaults
-    default: '24'
-    description: The subnet CIDR of the control plane network.
-    type: string
-
-outputs:
-  net_ip_subnet_map:
-    description: >
-      A Hash containing a mapping of network names to assigned
-      IP/subnet mappings.
-    value:
-      ctlplane:
-        list_join:
-          - ''
-          - - {get_param: ControlPlaneIp}
-            - '/'
-            - {get_param: ControlPlaneSubnetCidr}
-      external: {get_param: ExternalIpSubnet}
-      internal_api: {get_param: InternalApiIpSubnet}
-      storage: {get_param: StorageIpSubnet}
-      storage_mgmt: {get_param: StorageMgmtIpSubnet}
-      tenant: {get_param: TenantIpSubnet}
-      management: {get_param: ManagementIpSubnet}
index 433cc72..cee70a6 100644 (file)
@@ -65,7 +65,6 @@ resource_registry:
 
   OS::TripleO::Network::Ports::NetVipMap: network/ports/net_ip_map.yaml
   OS::TripleO::Network::Ports::NetIpMap: network/ports/net_ip_map.yaml
-  OS::TripleO::Network::Ports::NetIpSubnetMap: network/ports/net_ip_subnet_map.yaml
   OS::TripleO::Network::Ports::NetIpListMap: network/ports/net_ip_list_map.yaml
 
   # Port assignments for the VIPs
index f0eb71e..d2b90c5 100644 (file)
@@ -195,28 +195,23 @@ resources:
     properties:
       ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
       ExternalIp: {get_attr: [ExternalPort, ip_address]}
+      ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
       ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
       InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
+      InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
       InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
       StorageIp: {get_attr: [StoragePort, ip_address]}
+      StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
       StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
       StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
+      StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
       StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
       TenantIp: {get_attr: [TenantPort, ip_address]}
+      TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
       TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
       ManagementIp: {get_attr: [ManagementPort, ip_address]}
-      ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
-
-  NetIpSubnetMap:
-    type: OS::TripleO::Network::Ports::NetIpSubnetMap
-    properties:
-      ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
-      ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
-      InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
-      StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
-      StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
-      TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
       ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
+      ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
 
   NetworkDeployment:
     type: OS::TripleO::SoftwareDeployment
@@ -238,8 +233,8 @@ resources:
         timezone: {get_param: TimeZone}
         enable_package_install: {get_param: EnablePackageInstall}
         enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
-        ceph_cluster_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
-        ceph_public_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
+        ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
+        ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
 
   CephStorageConfig:
     type: OS::Heat::StructuredConfig
@@ -256,10 +251,16 @@ resources:
             - ceph
             - '"%{::osfamily}"'
             - common
+            - network
           merge_behavior: deeper
           datafiles:
             common:
               raw_data: {get_file: hieradata/common.yaml}
+            network:
+              mapped_data:
+                net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
+                net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
+                net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
             ceph_extraconfig:
               mapped_data: {get_param: CephStorageExtraConfig}
             extraconfig:
index c1a04e2..1391487 100644 (file)
@@ -246,16 +246,22 @@ resources:
     properties:
       ControlPlaneIp: {get_attr: [BlockStorage, networks, ctlplane, 0]}
       ExternalIp: {get_attr: [ExternalPort, ip_address]}
+      ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
       ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
       InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
+      InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
       InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
       StorageIp: {get_attr: [StoragePort, ip_address]}
+      StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
       StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
       StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
+      StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
       StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
       TenantIp: {get_attr: [TenantPort, ip_address]}
+      TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
       TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
       ManagementIp: {get_attr: [ManagementPort, ip_address]}
+      ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
       ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
 
   NetworkDeployment:
@@ -316,10 +322,16 @@ resources:
             - all_nodes # provided by allNodesConfig
             - '"%{::osfamily}"'
             - common
+            - network
           merge_behavior: deeper
           datafiles:
             common:
               raw_data: {get_file: hieradata/common.yaml}
+            network:
+              mapped_data:
+                net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
+                net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
+                net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
             volume_extraconfig:
               mapped_data: {get_param: BlockStorageExtraConfig}
             extraconfig:
index 4c18067..e56deef 100644 (file)
@@ -430,16 +430,22 @@ resources:
     properties:
       ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
       ExternalIp: {get_attr: [ExternalPort, ip_address]}
+      ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
       ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
       InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
+      InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
       InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
       StorageIp: {get_attr: [StoragePort, ip_address]}
+      StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
       StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
       StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
+      StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
       StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
       TenantIp: {get_attr: [TenantPort, ip_address]}
+      TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
       TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
       ManagementIp: {get_attr: [ManagementPort, ip_address]}
+      ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
       ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
 
   NetworkConfig:
@@ -481,6 +487,7 @@ resources:
             - all_nodes # provided by allNodesConfig
             - '"%{::osfamily}"'
             - common
+            - network
             - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
             - cisco_n1kv_data  # Optionally provided by ComputeExtraConfigPre
             - nova_nuage_data  # Optionally provided by ComputeExtraConfigPre
@@ -494,6 +501,11 @@ resources:
               mapped_data: {get_param: ExtraConfig}
             common:
               raw_data: {get_file: hieradata/common.yaml}
+            network:
+              mapped_data:
+                net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
+                net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
+                net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
             ceph:
               raw_data: {get_file: hieradata/ceph.yaml}
             compute:
index 9f183b9..aecddee 100644 (file)
@@ -780,28 +780,23 @@ resources:
     properties:
       ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
       ExternalIp: {get_attr: [ExternalPort, ip_address]}
+      ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
       ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
       InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
+      InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
       InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
       StorageIp: {get_attr: [StoragePort, ip_address]}
+      StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
       StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
       StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
+      StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
       StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
       TenantIp: {get_attr: [TenantPort, ip_address]}
+      TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
       TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
       ManagementIp: {get_attr: [ManagementPort, ip_address]}
-      ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
-
-  NetIpSubnetMap:
-    type: OS::TripleO::Network::Ports::NetIpSubnetMap
-    properties:
-      ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
-      ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
-      InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
-      StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
-      StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
-      TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
       ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
+      ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
 
   NetworkConfig:
     type: OS::TripleO::Controller::Net::SoftwareConfig
@@ -1171,7 +1166,7 @@ resources:
           str_replace:
             template: "['SUBNET']"
             params:
-              SUBNET: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
+              SUBNET: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
         rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
         redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
         redis_password: {get_param: RedisPassword}
@@ -1180,8 +1175,8 @@ resources:
         memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
         mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
         mysql_virtual_ip: {get_param: MysqlVirtualIP}
-        ceph_cluster_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
-        ceph_public_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
+        ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
+        ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
         ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
 
   # Map heat metadata into hiera datafiles
@@ -1208,6 +1203,7 @@ resources:
             - vip_data # provided by vip-config
             - '"%{::osfamily}"'
             - common
+            - network
             - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
             - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
             - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
@@ -1231,6 +1227,11 @@ resources:
               mapped_data: {get_param: ExtraConfig}
             common:
               raw_data: {get_file: hieradata/common.yaml}
+            network:
+              mapped_data:
+                net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
+                net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
+                net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
             ceph:
               raw_data: {get_file: hieradata/ceph.yaml}
               mapped_data:
index 296428d..3f6f473 100644 (file)
@@ -220,16 +220,22 @@ resources:
     properties:
       ControlPlaneIp: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
       ExternalIp: {get_attr: [ExternalPort, ip_address]}
+      ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
       ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
       InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
+      InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
       InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
       StorageIp: {get_attr: [StoragePort, ip_address]}
+      StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
       StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
       StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
+      StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
       StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
       TenantIp: {get_attr: [TenantPort, ip_address]}
+      TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
       TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
       ManagementIp: {get_attr: [ManagementPort, ip_address]}
+      ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
       ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
 
   NetworkDeployment:
@@ -256,10 +262,16 @@ resources:
             - all_nodes # provided by allNodesConfig
             - '"%{::osfamily}"'
             - common
+            - network
           merge_behavior: deeper
           datafiles:
             common:
               raw_data: {get_file: hieradata/common.yaml}
+            network:
+              mapped_data:
+                net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
+                net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
+                net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
             object_extraconfig:
               mapped_data: {get_param: ObjectStorageExtraConfig}
             extraconfig: