59 lines
1.8 KiB
YAML
59 lines
1.8 KiB
YAML
---
|
|
- when: "'overcloud' in group_names"
|
|
block:
|
|
- name: Check for docker cli
|
|
stat:
|
|
path: "/var/run/docker.sock"
|
|
register: check_docker_cli
|
|
check_mode: false
|
|
|
|
- name: Set oc_container_cli fact for the Overcloud nodes
|
|
set_fact:
|
|
oc_container_cli: |-
|
|
{% set oc_container_cli = 'podman' %}
|
|
{% if check_docker_cli.stat.exists|bool %}
|
|
{% set oc_container_cli = 'docker' %}
|
|
{% endif %}
|
|
{{ oc_container_cli }}
|
|
|
|
- when: "'Undercloud' in group_names"
|
|
block:
|
|
- name: Set container_cli fact from undercloud.conf
|
|
block:
|
|
- name: Ensure we get needed facts
|
|
setup:
|
|
gather_subset:
|
|
- '!all'
|
|
- '!any'
|
|
- '!min'
|
|
- env
|
|
|
|
- name: Get container client from undercloud.conf
|
|
validations_read_ini:
|
|
path: "{{ ansible_env.HOME }}/undercloud.conf"
|
|
section: DEFAULT
|
|
key: container_cli
|
|
ignore_missing_file: true
|
|
register: container_cli
|
|
|
|
- name: Set uc_container_cli for the Undercloud
|
|
set_fact:
|
|
uc_container_cli: "{{ container_cli.value|default('podman', true) }}"
|
|
when: uc_container_cli is not defined
|
|
|
|
- name: Get failed containers for podman
|
|
changed_when: false
|
|
become: true
|
|
command: >
|
|
{% if oc_container_cli is defined %}{{ oc_container_cli }}{% else %}{{ uc_container_cli }}{% endif %}
|
|
{% raw %}
|
|
ps -a --filter 'status=exited' --format '{{ .Names }} {{ .Status }}'
|
|
{% endraw %}
|
|
register: failed_containers
|
|
|
|
- name: Fail if we detect failed containers
|
|
fail:
|
|
msg: "Failed container detected: {{ item }}."
|
|
when: item is not match(".* Exited \((0|137|142|143)\) .* ago")
|
|
loop: "{{ failed_containers.stdout_lines }}"
|