--- # 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" assert: that: - (podman_containers.containers | containers_not_running(execs=batched_container_data) | length) == 0 fail_msg: >- Can't run container exec as the following containers are not running: {{ podman_containers.containers | containers_not_running(execs=batched_container_data) | join(', ') }} 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: label: "{{ lookup('dict', container_exec_data).key }}" 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: label: "{{ lookup('dict', exec_async_result_item.container_exec_data).key }}" loop_var: "exec_async_result_item" register: exec_async_poll_results until: exec_async_poll_results.finished retries: "{{ tripleo_container_manage_exec_retries }}" # We fail later if a container failed to execute the command failed_when: false when: not ansible_check_mode|bool - name: Check container exec status container_status: container_async_results: "{{ exec_async_poll_results.results }}" container_data: "{{ batched_container_data | haskey(attribute='action', value='exec') }}" debug: "{{ tripleo_container_manage_debug | bool }}"