Configure ObjectStorage services via resource chains
[apex-tripleo-heat-templates.git] / puppet / swift-storage-post.yaml
index b262f94..1aba2bb 100644 (file)
@@ -11,6 +11,10 @@ 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:
 
@@ -31,51 +35,56 @@ resources:
       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_object.pp
+        list_join:
+        - ''
+        - - get_file: manifests/overcloud_object.pp
+          - get_file: manifests/ringbuilder.pp
+          - {get_param: StepConfig}
 
-  StorageDeployment_Step1:
+  StorageRingbuilderDeployment_Step2:
     type: OS::Heat::StructuredDeployments
     depends_on: StorageArtifactsDeploy
     properties:
-      name: StorageDeployment_Step1
+      name: StorageRingbuilderDeployment_Step2
       servers:  {get_param: servers}
       config: {get_resource: StoragePuppetConfig}
       input_values:
+        step: 2
         update_identifier: {get_param: NodeConfigIdentifiers}
 
-  StorageRingbuilderPuppetConfig:
-    type: OS::Heat::SoftwareConfig
+  StorageRingbuilderDeployment_Step3:
+    type: OS::Heat::StructuredDeployments
+    depends_on: StorageRingbuilderDeployment_Step2
     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/ringbuilder.pp
+      name: StorageRingbuilderDeployment_Step3
+      servers:  {get_param: servers}
+      config: {get_resource: StoragePuppetConfig}
+      input_values:
+        step: 3
+        update_identifier: {get_param: NodeConfigIdentifiers}
 
-  StorageRingbuilderDeployment_Step2:
+  StorageDeployment_Step4:
     type: OS::Heat::StructuredDeployments
-    depends_on: StorageDeployment_Step1
+    depends_on: StorageRingbuilderDeployment_Step3
     properties:
-      name: StorageRingbuilderDeployment_Step2
+      name: StorageDeployment_Step4
       servers:  {get_param: servers}
-      config: {get_resource: StorageRingbuilderPuppetConfig}
+      config: {get_resource: StoragePuppetConfig}
       input_values:
-        step: 3 # Note ringbuilder.pp expects >=3
+        step: 4
         update_identifier: {get_param: NodeConfigIdentifiers}
 
   # Note, this should come last, so use depends_on to ensure
   # this is created after any other resources.
   ExtraConfig:
-    depends_on: StorageRingbuilderDeployment_Step2
+    depends_on: StorageDeployment_Step4
     type: OS::TripleO::NodeExtraConfigPost
     properties:
         servers: {get_param: servers}