--- # Copyright 2019 Red Hat, Inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. - name: "Check if containers are running before doing exec" include_tasks: container_running.yml loop: "{{ batched_container_data | haskey(attribute='action', value='exec') }}" loop_control: loop_var: container_exists_data when: not ansible_check_mode|bool - name: "Async container exec" command: argv: "{{ lookup('dict', container_exec_data).value | container_exec_cmd(cli=tripleo_container_manage_cli) }}" async: "{{ (not ansible_check_mode | bool) | ternary('60', omit) }}" poll: "{{ (not ansible_check_mode | bool) | ternary('0', omit) }}" register: exec_async_results loop: "{{ batched_container_data | haskey(attribute='action', value='exec') }}" loop_control: loop_var: container_exec_data when: not ansible_check_mode|bool - name: "Check podman exec status" async_status: jid: "{{ exec_async_result_item.ansible_job_id }}" loop: "{{ exec_async_results.results }}" loop_control: loop_var: "exec_async_result_item" register: exec_async_poll_results until: exec_async_poll_results.finished retries: 30 when: not ansible_check_mode|bool - name: Block for container commands when: - ansible_check_mode|bool block: - name: "Create a list of podman exec commands that are run" set_fact: containers_commands: >- {{ (containers_commands | default([])) + ([lookup('dict', container_exec_data).value | container_exec_cmd(cli=tripleo_container_manage_cli) | join(' ')]) }} loop: "{{ batched_container_data | haskey(attribute='action', value='exec') }}" loop_control: loop_var: container_exec_data - name: "Print the list of podman exec commands that are run" debug: var: containers_commands - name: "Append the list of all podman commands that are run for containers with changes" set_fact: all_containers_commands: "{{ containers_commands|list + (all_containers_commands | default([]) | list) }}"