Pass default_floating_pool into nova::api class
[apex-tripleo-heat-templates.git] / overcloud-without-mergepy.yaml
index 260952b..e7c4dfc 100644 (file)
@@ -1301,42 +1301,62 @@ resources:
       config: {get_resource: AllNodesValidationConfig}
       servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
 
+  # Optional ExtraConfig for all nodes - all roles are passed in here, but
+  # the nested template may configure each role differently (or not at all)
+  AllNodesExtraConfig:
+    type: OS::TripleO::AllNodesExtraConfig
+    properties:
+      controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
+      compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
+      blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
+      objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
+      cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
+
   # Nested stack deployment runs after all other controller deployments
   ControllerNodesPostDeployment:
     type: OS::TripleO::ControllerPostDeployment
     depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
     properties:
       servers: {get_attr: [Controller, attributes, nova_server_resource]}
-      NodeConfigIdentifiers: {get_attr: [Controller, attributes, config_identifier]}
+      NodeConfigIdentifiers:
+        allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
+        controller_config: {get_attr: [Controller, attributes, config_identifier]}
 
   ComputeNodesPostDeployment:
     type: OS::TripleO::ComputePostDeployment
     depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
     properties:
       servers: {get_attr: [Compute, attributes, nova_server_resource]}
-      NodeConfigIdentifiers: {get_attr: [Compute, attributes, config_identifier]}
+      NodeConfigIdentifiers:
+        allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
+        compute_config: {get_attr: [Compute, attributes, config_identifier]}
 
   ObjectStorageNodesPostDeployment:
     type: OS::TripleO::ObjectStoragePostDeployment
     depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
     properties:
       servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
-      NodeConfigIdentifiers: {get_attr: [ObjectStorage, attributes, config_identifier]}
-
+      NodeConfigIdentifiers:
+        allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
+        objectstorage_config: {get_attr: [ObjectStorage, attributes, config_identifier]}
 
   BlockStorageNodesPostDeployment:
     type: OS::TripleO::BlockStoragePostDeployment
     depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
     properties:
       servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
-      NodeConfigIdentifiers: {get_attr: [BlockStorage, attributes, config_identifier]}
+      NodeConfigIdentifiers:
+        allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
+        blockstorage_config: {get_attr: [BlockStorage, attributes, config_identifier]}
 
   CephStorageNodesPostDeployment:
     type: OS::TripleO::CephStoragePostDeployment
     depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
     properties:
       servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
-      NodeConfigIdentifiers: {get_attr: [CephStorage, attributes, config_identifier]}
+      NodeConfigIdentifiers:
+        allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
+        cephstorage_config: {get_attr: [CephStorage, attributes, config_identifier]}
 
 outputs:
   KeystoneURL: