Remove default_floating_pool in compute.yaml
[apex-tripleo-heat-templates.git] / puppet / cinder-storage-puppet.yaml
index a368ffd..f597512 100644 (file)
@@ -31,40 +31,13 @@ parameters:
   ExtraConfig:
     default: {}
     description: |
-      Additional configuration to inject into the cluster. The JSON should have
-      the following structure:
-        {"FILEKEY":
-          {"config":
-            [{"section": "SECTIONNAME",
-              "values":
-                [{"option": "OPTIONNAME",
-                  "value": "VALUENAME"
-                 }
-                ]
-             }
-            ]
-          }
-        }
-      For instance:
-        {"nova":
-          {"config":
-            [{"section": "default",
-              "values":
-                [{"option": "force_config_drive",
-                  "value": "always"
-                 }
-                ]
-             },
-             {"section": "cells",
-              "values":
-                [{"option": "driver",
-                  "value": "nova.cells.rpc_driver.CellsRPCDriver"
-                 }
-                ]
-             }
-            ]
-          }
-        }
+      Additional hiera configuration to inject into the cluster. Note
+      that BlockStorageExtraConfig takes precedence over ExtraConfig.
+    type: json
+  BlockStorageExtraConfig:
+    default: {}
+    description: |
+      Role specific additional hiera configuration to inject into the cluster.
     type: json
   Flavor:
     description: Flavor for block storage nodes to request when deploying.
@@ -147,9 +120,26 @@ resources:
       networks:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
-      user_data: {get_resource: NodeUserData}
+      user_data: {get_resource: UserData}
       name: {get_param: Hostname}
 
+  # Combine the NodeAdminUserData and NodeUserData mime archives
+  UserData:
+    type: OS::Heat::MultipartMime
+    properties:
+      parts:
+      - config: {get_resource: NodeAdminUserData}
+        type: multipart
+      - config: {get_resource: NodeUserData}
+        type: multipart
+
+  # Creates the "heat-admin" user if configured via the environment
+  # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+  NodeAdminUserData:
+    type: OS::TripleO::NodeAdminUserData
+
+  # For optional operator additional userdata
+  # Should return a OS::Heat::MultipartMime reference via OS::stack_id
   NodeUserData:
     type: OS::TripleO::NodeUserData
 
@@ -171,6 +161,7 @@ resources:
   NetworkConfig:
     type: OS::TripleO::BlockStorage::Net::SoftwareConfig
     properties:
+      ControlPlaneIp: {get_attr: [BlockStorage, networks, ctlplane, 0]}
       InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
       StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
       StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
@@ -178,6 +169,7 @@ resources:
   NetIpMap:
     type: OS::TripleO::Network::Ports::NetIpMap
     properties:
+      ControlPlaneIp: {get_attr: [BlockStorage, networks, ctlplane, 0]}
       InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
       StorageIp: {get_attr: [StoragePort, ip_address]}
       StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
@@ -235,6 +227,8 @@ resources:
         hiera:
           hierarchy:
             - heat_config_%{::deploy_config_name}
+            - volume_extraconfig
+            - extraconfig
             - volume
             - all_nodes # provided by allNodesConfig
             - '"%{::osfamily}"'
@@ -242,6 +236,10 @@ resources:
           datafiles:
             common:
               raw_data: {get_file: hieradata/common.yaml}
+            volume_extraconfig:
+              mapped_data: {get_param: BlockStorageExtraConfig}
+            extraconfig:
+              mapped_data: {get_param: ExtraConfig}
             volume:
               raw_data: {get_file: hieradata/volume.yaml}
               mapped_data:
@@ -258,7 +256,7 @@ resources:
                 cinder_iscsi_ip_address: {get_input: cinder_iscsi_ip_address}
                 cinder::glance::glance_api_servers: {get_input: glance_api_servers}
                 ntp::servers: {get_input: ntp_servers}
-                enable_package_install: {get_input: enable_package_install}
+                tripleo::packages::enable_install: {get_input: enable_package_install}
                 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
                 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
 
@@ -280,7 +278,7 @@ outputs:
       str_replace:
         template: "IP HOST.localdomain HOST"
         params:
-          IP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
+          IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, BlockStorageHostnameResolveNetwork]}]}
           HOST: {get_attr: [BlockStorage, name]}
   nova_server_resource:
     description: Heat resource handle for the block storage server
@@ -295,3 +293,6 @@ outputs:
   storage_mgmt_ip_address:
     description: IP address of the server in the storage_mgmt network
     value: {get_attr: [StorageMgmtPort, ip_address]}
+  config_identifier:
+    description: identifier which changes if the node configuration may need re-applying
+    value: {get_attr: [BlockStorageDeployment, deploy_stdout]}