Merge "Composable Neutron Plumgrid plugin"
[apex-tripleo-heat-templates.git] / puppet / controller-post.yaml
index ed8129e..36f9b4f 100644 (file)
@@ -13,10 +13,22 @@ parameters:
   NodeConfigIdentifiers:
      type: json
      description: Value which changes if the node configuration may need to be re-applied
-
+  StepConfig:
+     type: string
+     description: Config manifests that will be used to step through the deployment.
+     default: ''
 
 resources:
 
+  ControllerArtifactsConfig:
+    type: deploy-artifacts.yaml
+
+  ControllerArtifactsDeploy:
+    type: OS::Heat::StructuredDeployments
+    properties:
+      servers:  {get_param: servers}
+      config: {get_resource: ControllerArtifactsConfig}
+
   ControllerPrePuppet:
     type: OS::TripleO::Tasks::ControllerPrePuppet
     properties:
@@ -26,6 +38,8 @@ resources:
 
   ControllerPuppetConfig:
     type: OS::TripleO::ControllerConfig
+    properties:
+      StepConfig: {get_param: StepConfig}
 
   # Step through a series of Puppet runs using the same manifest.
   # NOTE: To enable stepping through the deployments via heat hooks,
@@ -33,73 +47,53 @@ resources:
   # e.g all Deployment resources should have a *Deployment_StepN suffix
   ControllerLoadBalancerDeployment_Step1:
     type: OS::Heat::StructuredDeployments
-    depends_on: ControllerPrePuppet
+    depends_on: [ControllerPrePuppet, ControllerArtifactsDeploy]
     properties:
+      name: ControllerLoadBalancerDeployment_Step1
       servers:  {get_param: servers}
       config: {get_resource: ControllerPuppetConfig}
       input_values:
         step: 1
         update_identifier: {get_param: NodeConfigIdentifiers}
-      actions: ['CREATE'] # no need for two passes on an UPDATE
 
   ControllerServicesBaseDeployment_Step2:
     type: OS::Heat::StructuredDeployments
     depends_on: ControllerLoadBalancerDeployment_Step1
     properties:
+      name: ControllerServicesBaseDeployment_Step2
       servers:  {get_param: servers}
       config: {get_resource: ControllerPuppetConfig}
       input_values:
         step: 2
         update_identifier: {get_param: NodeConfigIdentifiers}
-      actions: ['CREATE'] # no need for two passes on an UPDATE
-
-  ControllerRingbuilderPuppetConfig:
-    type: OS::Heat::SoftwareConfig
-    properties:
-      group: puppet
-      options:
-        enable_debug: {get_param: ConfigDebug}
-        enable_hiera: True
-        enable_facter: False
-      inputs:
-      outputs:
-      - name: result
-      config:
-        get_file: manifests/ringbuilder.pp
 
-  ControllerRingbuilderDeployment_Step3:
+  ControllerOvercloudServicesDeployment_Step3:
     type: OS::Heat::StructuredDeployments
     depends_on: ControllerServicesBaseDeployment_Step2
     properties:
-      servers:  {get_param: servers}
-      config: {get_resource: ControllerRingbuilderPuppetConfig}
-      input_values:
-        update_identifier: {get_param: NodeConfigIdentifiers}
-
-  ControllerOvercloudServicesDeployment_Step4:
-    type: OS::Heat::StructuredDeployments
-    depends_on: ControllerRingbuilderDeployment_Step3
-    properties:
+      name: ControllerOvercloudServicesDeployment_Step3
       servers:  {get_param: servers}
       config: {get_resource: ControllerPuppetConfig}
       input_values:
         step: 3
         update_identifier: {get_param: NodeConfigIdentifiers}
 
-  ControllerOvercloudServicesDeployment_Step5:
+  ControllerOvercloudServicesDeployment_Step4:
     type: OS::Heat::StructuredDeployments
-    depends_on: ControllerOvercloudServicesDeployment_Step4
+    depends_on: ControllerOvercloudServicesDeployment_Step3
     properties:
+      name: ControllerOvercloudServicesDeployment_Step4
       servers:  {get_param: servers}
       config: {get_resource: ControllerPuppetConfig}
       input_values:
         step: 4
         update_identifier: {get_param: NodeConfigIdentifiers}
 
-  ControllerOvercloudServicesDeployment_Step6:
+  ControllerOvercloudServicesDeployment_Step5:
     type: OS::Heat::StructuredDeployments
-    depends_on: ControllerOvercloudServicesDeployment_Step5
+    depends_on: ControllerOvercloudServicesDeployment_Step4
     properties:
+      name: ControllerOvercloudServicesDeployment_Step5
       servers:  {get_param: servers}
       config: {get_resource: ControllerPuppetConfig}
       input_values:
@@ -108,7 +102,7 @@ resources:
 
   ControllerPostPuppet:
     type: OS::TripleO::Tasks::ControllerPostPuppet
-    depends_on: ControllerOvercloudServicesDeployment_Step6
+    depends_on: ControllerOvercloudServicesDeployment_Step5
     properties:
       servers:  {get_param: servers}
       input_values: