crash: fix --limit deployments (containers)

ceph-crash deployments is broken when ceph-ansible playbook is called
with --limit in containerized contexts since we don't set
`container_exec_cmd` on the first monitor.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1964835

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 10ed26f14d)
pull/6566/head v4.0.56
Guillaume Abrioux 2021-05-25 15:06:41 +02:00
parent a391dad8e1
commit d2bd0961d4
1 changed files with 15 additions and 0 deletions

View File

@ -20,6 +20,21 @@
delegate_to: "{{ groups.get(mon_group_name, [])[0] }}" delegate_to: "{{ groups.get(mon_group_name, [])[0] }}"
run_once: True run_once: True
- name: enforce container_binary on first monitor
import_role:
name: ceph-facts
tasks_from: container_binary.yml
delegate_to: "{{ groups.get(mon_group_name, [])[0] }}"
delegate_facts: true
- name: set_fact container_exec_cmd
set_fact:
container_exec_cmd: "{{ container_binary }} exec ceph-mon-{{ hostvars[groups[mon_group_name][0]]['ansible_facts']['hostname'] if not rolling_update | bool else hostvars[mon_host | default(groups[mon_group_name][0])]['ansible_facts']['hostname'] }}"
delegate_to: "{{ groups.get(mon_group_name, [])[0] }}"
delegate_facts: true
when:
- containerized_deployment | bool
- name: get keys from monitors - name: get keys from monitors
command: "{{ hostvars[groups[mon_group_name][0]]['container_exec_cmd'] | default('') }} ceph --cluster {{ cluster }} auth get client.crash" command: "{{ hostvars[groups[mon_group_name][0]]['container_exec_cmd'] | default('') }} ceph --cluster {{ cluster }} auth get client.crash"
register: _crash_keys register: _crash_keys