Merge "Deploy Ceph in containers using ceph-ansible via external workflow"
[apex-tripleo-heat-templates.git] / docker / docker-steps.j2
index 7c4d429..05ff794 100644 (file)
@@ -60,23 +60,6 @@ conditions:
 
 resources:
 
-  # These utility tasks use docker-puppet.py to execute tasks via puppet
-  # We only execute these on the first node in the primary role
-  {{primary_role_name}}DockerPuppetTasks:
-    type: OS::Heat::Value
-    properties:
-      type: json
-      value:
-        yaql:
-          expression:
-            $.data.default_tasks + dict($.data.docker_puppet_tasks.where($1 != null).selectMany($.items()).groupBy($[0], $[1]))
-          data:
-            docker_puppet_tasks: {get_param: [role_data, {{primary_role_name}}, docker_puppet_tasks]}
-            default_tasks:
-{%- for step in range(1, deploy_steps_max) %}
-              step_{{step}}: {}
-{%- endfor %}
-
   RoleConfig:
     type: OS::Heat::SoftwareConfig
     properties:
@@ -177,11 +160,11 @@ resources:
                 vars:
                   puppet_config: {get_param: [role_data, {{role.name}}, puppet_config]}
                   docker_puppet_script: {get_file: docker-puppet.py}
-                  docker_puppet_tasks: {get_attr: [{{primary_role_name}}DockerPuppetTasks, value]}
-                  docker_startup_configs: {get_attr: [{{role.name}}DockerConfig, value]}
+                  docker_puppet_tasks: {get_param: [role_data, {{role.name}}, docker_puppet_tasks]}
+                  docker_startup_configs: {get_param: [role_data, {{role.name}}, docker_config]}
                   kolla_config: {get_param: [role_data, {{role.name}}, kolla_config]}
                   bootstrap_server_id: {get_param: [servers, {{primary_role_name}}, '0']}
-                  puppet_step_config: {get_attr: [{{role.name}}PuppetStepConfig, value]}
+                  puppet_step_config: {get_param: [role_data, {{role.name}}, step_config]}
                 tasks:
                   # Join host_prep_tasks with the other per-host configuration
                   yaql:
@@ -195,10 +178,9 @@ resources:
                           file: path=/var/lib/tripleo-config state=directory
                         - name: Write the puppet step_config manifest
                           copy: content="{{puppet_step_config}}" dest=/var/lib/tripleo-config/puppet_step_config.pp force=yes
-                        # This is the docker-puppet configs end in
+                        # this creates a JSON config file for our docker-puppet.py script
                         - name: Create /var/lib/docker-puppet
                           file: path=/var/lib/docker-puppet state=directory
-                        # this creates a JSON config file for our docker-puppet.py script
                         - name: Write docker-puppet-tasks json files
                           copy: content="{{puppet_config | to_json}}" dest=/var/lib/docker-puppet/docker-puppet.json force=yes
                         # FIXME: can we move docker-puppet somewhere so it's installed via a package?
@@ -222,6 +204,13 @@ resources:
                         ########################################################
                         # Bootstrap tasks, only performed on bootstrap_server_id
                         ########################################################
+                        - name: Clean /var/lib/docker-puppet/docker-puppet-tasks*.json files
+                          file:
+                            path: "{{item}}"
+                            state: absent
+                          with_fileglob:
+                            - /var/lib/docker-puppet/docker-puppet-tasks*.json
+                          when: deploy_server_id == bootstrap_server_id
                         - name: Write docker-puppet-tasks json files
                           copy: content="{{item.value|to_json}}" dest=/var/lib/docker-puppet/docker-puppet-tasks{{item.key.replace("step_", "")}}.json force=yes
                           with_dict: "{{docker_puppet_tasks}}"
@@ -234,33 +223,6 @@ resources:
       servers: {get_param: [servers, {{role.name}}]}
       config: {get_resource: {{role.name}}HostPrepConfig}
 
-  {{role.name}}PuppetStepConfig:
-    type: OS::Heat::Value
-    properties:
-      type: string
-      value:
-        yaql:
-          expression:
-            # 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_config: {get_param: [role_data, {{role.name}}, docker_config]}
-
-  {{role.name}}DockerConfig:
-    type: OS::Heat::Value
-    properties:
-      type: json
-      value:
-        yaql:
-          expression:
-            # 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]}
-
   # BEGIN CONFIG STEPS
 
   {{role.name}}PreConfig: