kolla-ansible/ansible/roles/ceph/tasks/reconfigure.yml
Mark Goddard b123bf6621 Use become for all docker tasks
Many tasks that use Docker have become specified already, but
not all. This change ensures all tasks that use the following
modules have become:

* kolla_docker
* kolla_ceph_keyring
* kolla_toolbox
* kolla_container_facts

It also adds become for 'command' tasks that use docker CLI.

Change-Id: I4a5ebcedaccb9261dbc958ec67e8077d7980e496
2019-06-06 19:04:58 +01:00

236 lines
7.2 KiB
YAML

---
- name: Ensuring the ceph_mon container is up
become: true
kolla_docker:
name: "{{ item.name }}"
action: "get_container_state"
register: ceph_mon_container_state
failed_when: ceph_mon_container_state.Running == false
when: inventory_hostname in groups[item.group]
with_items:
- { name: ceph_mon, group: ceph-mon }
- name: Looking up OSDs for Ceph
become: true
command: docker exec -t kolla_toolbox sudo -E ansible localhost
-m find_disks
-a "partition_name={{ partition_name_osd_data }} match_mode='prefix' use_udev={{ kolla_ceph_use_udev }}"
register: osd_lookup
changed_when: osd_lookup.stdout.find('localhost | SUCCESS => ') != -1 and (osd_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed
failed_when: osd_lookup.stdout.split()[2] != 'SUCCESS'
when: inventory_hostname in groups['ceph-osd']
- name: Reading data from variable
set_fact:
osds: "{{ (osd_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).disks|from_json }}"
when: inventory_hostname in groups['ceph-osd']
- name: Gathering OSD IDs
command: "cat /var/lib/ceph/osd/{{ item['fs_uuid'] }}/whoami"
with_items: "{{ osds|default({}) }}"
register: osd_ids
changed_when: False
failed_when: osd_ids.rc != 0
when: inventory_hostname in groups['ceph-osd']
- name: Ensuring the ceph_osd container is up
become: true
kolla_docker:
name: "ceph_osd_{{ item.stdout }}"
action: "get_container_state"
register: ceph_osd_container_state
failed_when: ceph_osd_container_state.Running == false
when: inventory_hostname in groups['ceph-osd']
with_items: "{{ osd_ids.results|default({}) }}"
- name: Ensuring the ceph_rgw container is up
become: true
kolla_docker:
name: "{{ item.name }}"
action: "get_container_state"
register: ceph_rgw_container_state
failed_when: ceph_rgw_container_state.Running == false
when:
- enable_ceph_rgw | bool
- inventory_hostname in groups[item.group]
with_items:
- { name: ceph_rgw, group: ceph-rgw }
- include_tasks: config.yml
- name: Check the configs in ceph_mon container
become: true
command: docker exec {{ item.name }} /usr/local/bin/kolla_set_configs --check
changed_when: false
failed_when: false
register: ceph_mon_check_results
when: inventory_hostname in groups[item.group]
with_items:
- { name: ceph_mon, group: ceph-mon }
- name: Check the configs in the ceph_osd container
become: true
command: docker exec ceph_osd_{{ item.stdout }} /usr/local/bin/kolla_set_configs --check
changed_when: false
failed_when: false
register: ceph_osd_check_results
with_items: "{{ osd_ids.results|default({}) }}"
when: inventory_hostname in groups['ceph-osd']
- name: Check the configs in ceph_rgw container
become: true
command: docker exec {{ item.name }} /usr/local/bin/kolla_set_configs --check
changed_when: false
failed_when: false
register: ceph_rgw_check_results
when:
- enable_ceph_rgw | bool
- inventory_hostname in groups[item.group]
with_items:
- { name: ceph_rgw, group: ceph-rgw }
- name: Containers config strategy for ceph_mon container
become: true
kolla_docker:
name: "{{ item.name }}"
action: "get_container_env"
register: ceph_mon_container_envs
when: inventory_hostname in groups[item.group]
with_items:
- { name: ceph_mon, group: ceph-mon }
- name: Containers config strategy for the ceph_osd containers
become: true
kolla_docker:
name: "ceph_osd_{{ item.stdout }}"
action: "get_container_env"
register: ceph_osd_container_envs
with_items: "{{ osd_ids.results|default({}) }}"
when:
- inventory_hostname in groups['ceph-osd']
- osds
- name: Containers config strategy for ceph_rgw container
become: true
kolla_docker:
name: "{{ item.name }}"
action: "get_container_env"
register: ceph_rgw_container_envs
when:
- enable_ceph_rgw | bool
- inventory_hostname in groups[item.group]
with_items:
- { name: ceph_rgw, group: ceph-rgw }
- name: Remove the ceph_mon container
become: true
kolla_docker:
name: "{{ item[0]['name'] }}"
action: "remove_container"
register: remove_ceph_mon_container
when:
- inventory_hostname in groups[item[0]['group']]
- config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
- item[2]['rc'] == 1
with_together:
- [{ name: ceph_mon, group: ceph-mon }]
- "{{ ceph_mon_container_envs.results }}"
- "{{ ceph_mon_check_results.results }}"
- name: Remove the ceph_osd containers
become: true
kolla_docker:
name: "ceph_osd_{{ item.0.stdout }}"
action: "remove_container"
register: remove_ceph_osd_containers
when:
- inventory_hostname in groups['ceph-osd']
- config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
- item[2]['rc'] == 1
- osds
with_together:
- "{{ osd_ids.results|default({}) }}"
- "{{ ceph_osd_container_envs.results }}"
- "{{ ceph_osd_check_results.results }}"
- name: Remove the ceph_rgw container
become: true
kolla_docker:
name: "{{ item[0]['name'] }}"
action: "remove_container"
register: remove_ceph_rgw_container
when:
- enable_ceph_rgw | bool
- inventory_hostname in groups[item[0]['group']]
- config_strategy == "COPY_ONCE" or item[1]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
- item[2]['rc'] == 1
with_together:
- [{ name: ceph_rgw, group: ceph-rgw }]
- "{{ ceph_rgw_container_envs.results }}"
- "{{ ceph_rgw_check_results.results }}"
- include_tasks: start_mons.yml
when:
- inventory_hostname in groups['ceph-mon']
- remove_ceph_mon_container.changed
- include_tasks: start_osds.yml
when:
- inventory_hostname in groups['ceph-osd']
- remove_ceph_osd_containers.changed
- include_tasks: start_rgws.yml
when:
- inventory_hostname in groups['ceph-rgw']
- remove_ceph_rgw_container.changed
- name: Restart the ceph_mon container
become: true
kolla_docker:
name: "ceph_mon"
action: "restart_container"
when:
- inventory_hostname in groups['ceph-mon']
- config_strategy == 'COPY_ALWAYS'
- item[0]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
- item[1]['rc'] == 1
with_together:
- "{{ ceph_mon_container_envs.results }}"
- "{{ ceph_mon_check_results.results }}"
- name: Restart the ceph_osd container
become: true
kolla_docker:
name: "ceph_osd_{{ item.0.stdout }}"
action: "restart_container"
when:
- inventory_hostname in groups['ceph-osd']
- config_strategy == 'COPY_ALWAYS'
- item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
- item[2]['rc'] == 1
- osds
with_together:
- "{{ osd_ids.results|default({}) }}"
- "{{ ceph_osd_container_envs.results }}"
- "{{ ceph_osd_check_results.results }}"
- name: Restart the ceph_rgw container
become: true
kolla_docker:
name: "ceph_rgw"
action: "restart_container"
when:
- enable_ceph_rgw | bool
- inventory_hostname in groups['ceph-rgw']
- config_strategy == 'COPY_ALWAYS'
- item[0]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
- item[1]['rc'] == 1
with_together:
- "{{ ceph_rgw_container_envs.results }}"
- "{{ ceph_rgw_check_results.results }}"
- include_tasks: start_rgw_keystone.yml
when:
- ceph_rgw_container_envs.results
- enable_ceph_rgw_keystone | bool