Merge "Add upgrade tasks for aodh containers"
[apex-tripleo-heat-templates.git] / docker / docker-steps.j2
index 76232d1..301d838 100644 (file)
@@ -123,6 +123,32 @@ resources:
       servers: {get_param: [servers, {{role.name}}]}
       config: {get_resource: {{role.name}}CreateConfigDir}
 
+  {{role.name}}HostPrepAnsible:
+    type: OS::Heat::Value
+    properties:
+      value:
+        str_replace:
+          template: CONFIG
+          params:
+            CONFIG:
+              - hosts: localhost
+                connection: local
+                tasks: {get_param: [role_data, {{role.name}}, host_prep_tasks]}
+
+  {{role.name}}HostPrepConfig:
+    type: OS::Heat::SoftwareConfig
+    properties:
+      group: ansible
+      options:
+        modulepath: /usr/share/ansible-modules
+      config: {get_attr: [{{role.name}}HostPrepAnsible, value]}
+
+  {{role.name}}HostPrepDeployment:
+    type: OS::Heat::SoftwareDeploymentGroup
+    properties:
+      servers: {get_param: [servers, {{role.name}}]}
+      config: {get_resource: {{role.name}}HostPrepConfig}
+
   # this creates a JSON config file for our docker-puppet.py script
   {{role.name}}GenPuppetConfig:
     type: OS::Heat::StructuredConfig
@@ -146,7 +172,7 @@ resources:
 
   {{role.name}}GenerateConfigDeployment:
     type: OS::Heat::SoftwareDeploymentGroup
-    depends_on: [{{role.name}}GenPuppetDeployment, {{role.name}}ArtifactsDeploy, {{role.name}}CreateConfigDirDeployment]
+    depends_on: [{{role.name}}GenPuppetDeployment, {{role.name}}ArtifactsDeploy, {{role.name}}CreateConfigDirDeployment, {{role.name}}HostPrepDeployment]
     properties:
       name: {{role.name}}GenerateConfigDeployment
       servers: {get_param: [servers, {{role.name}}]}
@@ -159,12 +185,12 @@ resources:
       value:
         yaql:
           expression:
-            # select 'step_config' only from services that do not have a docker_image
-            $.data.service_names.zip($.data.step_config, $.data.docker_image).where($[2] = null).where($[1] != null).select($[1]).join("\n")
+            # select 'step_config' only from services that do not have a docker_config
+            $.data.service_names.zip($.data.step_config, $.data.docker_config).where($[2] = null).where($[1] != null).select($[1]).join("\n")
           data:
             service_names: {get_param: [role_data, {{role.name}}, service_names]}
             step_config: {get_param: [role_data, {{role.name}}, step_config]}
-            docker_image: {get_param: [role_data, {{role.name}}, docker_image]}
+            docker_config: {get_param: [role_data, {{role.name}}, docker_config]}
 
   {{role.name}}DockerConfig:
     type: OS::Heat::Value
@@ -173,12 +199,11 @@ resources:
       value:
         yaql:
           expression:
-            # select 'docker_config' only from services that have a docker_image
-            $.data.service_names.zip($.data.docker_config, $.data.docker_image).where($[2] != null).select($[1]).reduce($1.mergeWith($2), {})
+            # select 'docker_config' only from services that have it
+            $.data.service_names.zip($.data.docker_config).where($[1] != null).select($[1]).reduce($1.mergeWith($2), {})
           data:
             service_names: {get_param: [role_data, {{role.name}}, service_names]}
             docker_config: {get_param: [role_data, {{role.name}}, docker_config]}
-            docker_image: {get_param: [role_data, {{role.name}}, docker_image]}
 
   # Here we are dumping all the docker container startup configuration data
   # so that we can have access to how they are started outside of heat