The balancer status is registered during the cephadm-adopt, rolling_update
and swith2container playbooks. But it is also used in the ceph-handler role
which is included in those playbooks too.
Even if the ceph-handler tasks are skipped for rolling_update and
switch2container, the balancer_status variable is erased with the skip task
result.
play1:
register: balancer_status
play2:
register: balancer_status <-- skipped
play3:
when: (balancer_status.stdout | from_json)['active'] | bool
This leads to issue like:
The conditional check '(balancer_status.stdout | from_json)['active'] | bool'
failed. The error was: Unexpected templating type error occurred on
({% if (balancer_status.stdout | from_json)['active'] | bool %} True
{% else %} False {% endif %}): expected string or buffer.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1982054
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit
386661699bcfe05a220de6d58b9d50baa7eb6dc1)
- name: get balancer module status
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer status -f json"
- register: balancer_status
+ register: balancer_status_adopt
run_once: true
delegate_to: "{{ groups[mon_group_name][0] }}"
changed_when: false
run_once: true
delegate_to: "{{ groups[mon_group_name][0] }}"
changed_when: false
- when: (balancer_status.stdout | from_json)['active'] | bool
+ when: (balancer_status_adopt.stdout | from_json)['active'] | bool
- name: disable pg autoscale on pools
ceph_pool:
run_once: true
delegate_to: "{{ groups[mon_group_name][0] }}"
changed_when: false
- when: (balancer_status.stdout | from_json)['active'] | bool
+ when: (balancer_status_adopt.stdout | from_json)['active'] | bool
- name: redeploy mds daemons
hosts: "{{ mds_group_name|default('mdss') }}"
- name: get balancer module status
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer status -f json"
- register: balancer_status
+ register: balancer_status_update
changed_when: false
check_mode: false
- name: disable balancer
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer off"
changed_when: false
- when: (balancer_status.stdout | from_json)['active'] | bool
+ when: (balancer_status_update.stdout | from_json)['active'] | bool
- name: disable pg autoscale on pools
ceph_pool:
- name: re-enable balancer
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer on"
changed_when: false
- when: (balancer_status.stdout | from_json)['active'] | bool
+ when: (balancer_status_update.stdout | from_json)['active'] | bool
- name: upgrade ceph mdss cluster, deactivate all rank > 0
hosts: "{{ mon_group_name | default('mons') }}[0]"
- name: get balancer module status
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer status -f json"
- register: balancer_status
+ register: balancer_status_switch
changed_when: false
check_mode: false
- name: disable balancer
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer off"
changed_when: false
- when: (balancer_status.stdout | from_json)['active'] | bool
+ when: (balancer_status_switch.stdout | from_json)['active'] | bool
- name: disable pg autoscale on pools
ceph_pool:
- name: re-enable balancer
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer on"
changed_when: false
- when: (balancer_status.stdout | from_json)['active'] | bool
+ when: (balancer_status_switch.stdout | from_json)['active'] | bool
- name: switching from non-containerized to containerized ceph mds