Merge "Align node_ips hiera keys with the service name."
[apex-tripleo-heat-templates.git] / puppet / compute-post.yaml
index 3861e50..c1b3777 100644 (file)
@@ -10,37 +10,81 @@ parameters:
     type: boolean
   servers:
     type: json
-  NodeConfigIdentifiers:
-     type: json
+  RoleData:
+    type: json
+    default: {}
+  DeployIdentifier:
+     type: string
      description: Value which changes if the node configuration may need to be re-applied
 
-
 resources:
 
+  ComputeArtifactsConfig:
+    type: deploy-artifacts.yaml
+
+  ComputeArtifactsDeploy:
+    type: OS::Heat::StructuredDeployments
+    properties:
+      servers:  {get_param: servers}
+      config: {get_resource: ComputeArtifactsConfig}
+      input_values:
+        update_identifier: {get_param: DeployIdentifier}
+
   ComputePuppetConfig:
     type: OS::Heat::SoftwareConfig
     properties:
       group: puppet
       options:
         enable_debug: {get_param: ConfigDebug}
+        enable_hiera: True
+        enable_facter: False
+      inputs:
+      - name: step
       outputs:
       - name: result
       config:
-        get_file: manifests/overcloud_compute.pp
+        list_join:
+        - ''
+        - - get_file: manifests/overcloud_compute.pp
+          - {get_param: [RoleData, step_config]}
+
+  ComputeServicesBaseDeployment_Step2:
+    type: OS::Heat::StructuredDeployments
+    depends_on: [ComputeArtifactsDeploy]
+    properties:
+      name: ComputeServicesBaseDeployment_Step2
+      servers:  {get_param: servers}
+      config: {get_resource: ComputePuppetConfig}
+      input_values:
+        step: 2
+        update_identifier: {get_param: DeployIdentifier}
+
+  ComputeOvercloudServicesDeployment_Step3:
+    type: OS::Heat::StructuredDeployments
+    depends_on: ComputeServicesBaseDeployment_Step2
+    properties:
+      name: ComputeOvercloudServicesDeployment_Step3
+      servers:  {get_param: servers}
+      config: {get_resource: ComputePuppetConfig}
+      input_values:
+        step: 3
+        update_identifier: {get_param: DeployIdentifier}
 
-  ComputePuppetDeployment:
+  ComputeOvercloudServicesDeployment_Step4:
     type: OS::Heat::StructuredDeployments
+    depends_on: ComputeOvercloudServicesDeployment_Step3
     properties:
-      name: ComputePuppetDeployment
+      name: ComputeOvercloudServicesDeployment_Step4
       servers:  {get_param: servers}
       config: {get_resource: ComputePuppetConfig}
       input_values:
-        update_identifier: {get_param: NodeConfigIdentifiers}
+        step: 4
+        update_identifier: {get_param: DeployIdentifier}
 
   # Note, this should come last, so use depends_on to ensure
   # this is created after any other resources.
   ExtraConfig:
-    depends_on: ComputePuppetDeployment
+    depends_on: ComputeOvercloudServicesDeployment_Step4
     type: OS::TripleO::NodeExtraConfigPost
     properties:
         servers: {get_param: servers}