- name: get balancer module status
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer status -f json"
register: balancer_status
- run_once: true
changed_when: false
- name: set_fact pools_pgautoscaler_mode
set_fact:
pools_pgautoscaler_mode: "{{ pools_pgautoscaler_mode | default([]) | union([{'name': item.pool_name, 'mode': item.pg_autoscale_mode}]) }}"
- run_once: true
with_items: "{{ (pool_list.stdout | default('{}') | from_json)['pools'] }}"
- name: disable balancer
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer off"
- run_once: true
changed_when: false
when: (balancer_status.stdout | from_json)['active'] | bool
cluster: "{{ cluster }}"
pg_autoscale_mode: false
with_items: "{{ pools_pgautoscaler_mode }}"
- run_once: true
when:
- pools_pgautoscaler_mode is defined
- item.mode == 'on'
name: "{{ item.name }}"
cluster: "{{ cluster }}"
pg_autoscale_mode: true
- run_once: true
with_items: "{{ pools_pgautoscaler_mode }}"
when:
- pools_pgautoscaler_mode is defined
- name: re-enable balancer
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer on"
- run_once: true
changed_when: false
when: (balancer_status.stdout | from_json)['active'] | bool
- name: get pool list
command: "{{ ceph_cmd }} --cluster {{ cluster }} osd dump -f json"
register: pool_list
- run_once: true
changed_when: false
- name: get balancer module status
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer status -f json"
register: balancer_status
- run_once: true
changed_when: false
- name: set_fact pools_pgautoscaler_mode
set_fact:
pools_pgautoscaler_mode: "{{ pools_pgautoscaler_mode | default([]) | union([{'name': item.pool_name, 'mode': item.pg_autoscale_mode}]) }}"
- run_once: true
with_items: "{{ (pool_list.stdout | default('{}') | from_json)['pools'] }}"
- name: disable balancer
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer off"
- run_once: true
changed_when: false
when: (balancer_status.stdout | from_json)['active'] | bool
cluster: "{{ cluster }}"
pg_autoscale_mode: false
with_items: "{{ pools_pgautoscaler_mode }}"
- run_once: true
when:
- pools_pgautoscaler_mode is defined
- item.mode == 'on'
cluster: "{{ cluster }}"
pg_autoscale_mode: true
with_items: "{{ pools_pgautoscaler_mode }}"
- run_once: true
when:
- pools_pgautoscaler_mode is defined
- item.mode == 'on'
- name: re-enable balancer
command: "{{ ceph_cmd }} --cluster {{ cluster }} balancer on"
- run_once: true
changed_when: false
when: (balancer_status.stdout | from_json)['active'] | bool