Merge "Change ping wait flag"
[apex-tripleo-heat-templates.git] / puppet / swift-storage-post.yaml
index 7a3c1ab..b262f94 100644 (file)
@@ -2,15 +2,35 @@ heat_template_version: 2015-04-30
 description: 'OpenStack swift storage node post deployment for Puppet'
 
 parameters:
+  ConfigDebug:
+    default: false
+    description: Whether to run config management (e.g. Puppet) in debug mode.
+    type: boolean
   servers:
     type: json
+  NodeConfigIdentifiers:
+     type: json
+     description: Value which changes if the node configuration may need to be re-applied
 
 resources:
 
+  StorageArtifactsConfig:
+    type: deploy-artifacts.yaml
+
+  StorageArtifactsDeploy:
+    type: OS::Heat::StructuredDeployments
+    properties:
+      servers:  {get_param: servers}
+      config: {get_resource: StorageArtifactsConfig}
+      input_values:
+        update_identifier: {get_param: NodeConfigIdentifiers}
+
   StoragePuppetConfig:
     type: OS::Heat::SoftwareConfig
     properties:
       group: puppet
+      options:
+        enable_debug: {get_param: ConfigDebug}
       outputs:
       - name: result
       config:
@@ -18,14 +38,24 @@ resources:
 
   StorageDeployment_Step1:
     type: OS::Heat::StructuredDeployments
+    depends_on: StorageArtifactsDeploy
     properties:
+      name: StorageDeployment_Step1
       servers:  {get_param: servers}
       config: {get_resource: StoragePuppetConfig}
+      input_values:
+        update_identifier: {get_param: NodeConfigIdentifiers}
 
   StorageRingbuilderPuppetConfig:
     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:
@@ -35,8 +65,12 @@ resources:
     type: OS::Heat::StructuredDeployments
     depends_on: StorageDeployment_Step1
     properties:
+      name: StorageRingbuilderDeployment_Step2
       servers:  {get_param: servers}
       config: {get_resource: StorageRingbuilderPuppetConfig}
+      input_values:
+        step: 3 # Note ringbuilder.pp expects >=3
+        update_identifier: {get_param: NodeConfigIdentifiers}
 
   # Note, this should come last, so use depends_on to ensure
   # this is created after any other resources.