- name: Write container-puppet-tasks json file for {{ansible_facts['hostname'] | lower}} step {{step}}
  no_log: True
  copy:
    content: "{{lookup ('vars', 'host_container_puppet_tasks_' ~ step, default=[]) | to_nice_json}}"
    dest: "/var/lib/container-puppet/{{ ansible_check_mode | bool | ternary('check-mode/', '') }}container-puppet-tasks{{step}}.json"
    force: yes
    mode: '0600'
  check_mode: no
  tags:
    - container_config_tasks

- name: Block for container-puppet tasks (bootstrap tasks) for step {{ step }} with tripleo-ansible
  tags:
    - container_config_tasks
  block:
    - name: "Generate container puppet configs for step {{ step }}"
      container_puppet_config:
        check_mode: '{{ ansible_check_mode | bool | ternary(1, 0) }}'
        config_vol_prefix: "/var/lib/config-data{{ ansible_check_mode | bool | ternary('/check-mode', '') }}"
        debug: "{{ docker_puppet_debug | bool }}"
        net_host: true
        no_archive: true
        puppet_config: "/var/lib/container-puppet/{{ ansible_check_mode | bool | ternary('check-mode/', '') }}container-puppet-tasks{{ step }}.json"
        short_hostname: "{{ ansible_facts['hostname'] | lower }}"
        step: "{{ step }}"

    - name: "Manage Puppet containers (bootstrap tasks) for step {{ step }} with tripleo-ansible"
      include_role:
        name: tripleo_container_manage
      vars:
        tripleo_container_manage_concurrency: "{{ docker_puppet_process_count }}"
        tripleo_container_manage_systemd_order: false
        tripleo_container_manage_systemd_teardown: false
        tripleo_container_manage_config: "/var/lib/tripleo-config/container-puppet-config/step_{{ step }}"
        tripleo_container_manage_config_patterns: 'container-puppet-*.json'
        tripleo_container_manage_config_id: "tripleo_puppet_step{{ step }}"
        tripleo_container_manage_debug: "{{ docker_puppet_debug | bool }}"
        # puppet with --detailed-exitcodes will return 0 for success and
        # no changes and 2 for success and resource changes. Other
        # numbers are failures
        tripleo_container_manage_valid_exit_code: [0, 2]