-
Notifications
You must be signed in to change notification settings - Fork 551
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes-Bug: #1563251 Change-Id: I0072c92d6c8160f868b4ab0ec08b11541d3f3401
- Loading branch information
Jeffrey Zhang
committed
Mar 29, 2016
1 parent
90321d0
commit f7066db
Showing
1 changed file
with
127 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,145 +1,214 @@ | ||
--- | ||
- name: Ensuring the containers ceph_mon and ceph_rgw are up | ||
- name: Ensuring the ceph_mon container is up | ||
kolla_docker: | ||
name: "{{ item.name }}" | ||
action: "get_container_state" | ||
register: container_state | ||
register: ceph_mon_container_state | ||
failed_when: container_state.Running == false | ||
when: inventory_hostname in groups[item.group] | ||
with_items: | ||
- { name: ceph_mon, group: ceph-mon } | ||
- { name: ceph_rgw, group: ceph-rgw } | ||
|
||
- name: Looking up OSDs for Ceph | ||
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost | ||
-m find_disks | ||
-a "partition_name='KOLLA_CEPH_DATA' match_mode='prefix'" | ||
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 | ||
register: id | ||
register: osd_ids | ||
changed_when: False | ||
failed_when: id.rc != 0 | ||
failed_when: osd_ids.rc != 0 | ||
when: inventory_hostname in groups['ceph-osd'] | ||
|
||
- name: Ensuring the ceph_osd container is up | ||
kolla_docker: | ||
name: "ceph_osd_{{ item.0.stdout }}" | ||
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 | ||
|
||
- name: Ensuring the ceph_rgw container is up | ||
kolla_docker: | ||
name: "{{ item.name }}" | ||
action: "get_container_state" | ||
register: container_state | ||
register: ceph_rgw_container_state | ||
failed_when: container_state.Running == false | ||
with_together: | ||
- id.results | ||
- osds | ||
when: osds | ||
when: | ||
- enable_ceph_rgw | bool | ||
- inventory_hostname in groups[item.group] | ||
with_items: | ||
- { name: ceph_rgw, group: ceph-rgw } | ||
|
||
- include: config.yml | ||
|
||
- name: Check the configs in ceph_mon and ceph_rgw containers | ||
- name: Check the configs in ceph_mon container | ||
command: docker exec {{ item.name }} /usr/local/bin/kolla_set_configs --check | ||
changed_when: false | ||
failed_when: false | ||
register: check_results | ||
register: ceph_mon_check_results | ||
when: inventory_hostname in groups[item.group] | ||
with_items: | ||
- { name: ceph_mon, group: ceph-mon } | ||
- { name: ceph_rgw, group: ceph-rgw } | ||
|
||
- name: Check the configs in the ceph_osd container | ||
command: docker exec ceph_osd_{{ item.0.stdout }} /usr/local/bin/kolla_set_configs --check | ||
command: docker exec ceph_osd_{{ item.stdout }} /usr/local/bin/kolla_set_configs --check | ||
changed_when: false | ||
failed_when: false | ||
with_together: | ||
- id.results | ||
- osds | ||
when: osds | ||
register: ceph_osd_check_results | ||
with_items: osd_ids.results | ||
when: inventory_hostname in groups['ceph-osd'] | ||
|
||
- name: Check the configs in ceph_rgw container | ||
command: docker exec {{ item.name }} /usr/local/bin/kolla_set_configs --check | ||
changed_when: false | ||
failed_when: false | ||
register: ceph_rgw_check_results | ||
when: | ||
- inventory_hostname in groups[item.group] | ||
- enable_ceph_rgw | bool | ||
with_items: | ||
- { name: ceph_rgw, group: ceph-rgw} | ||
|
||
# NOTE(jeffrey4l): when config_strategy == 'COPY_ALWAYS' | ||
# and container env['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE', | ||
# just remove the container and start again | ||
- name: Containers config strategy for ceph_mon and ceph_rgw containers | ||
- name: Containers config strategy for ceph_mon container | ||
kolla_docker: | ||
name: "{{ item.name }}" | ||
action: "get_container_env" | ||
register: container_envs | ||
register: ceph_mon_container_envs | ||
when: inventory_hostname in groups[item.group] | ||
with_items: | ||
- { name: ceph_mon, group: ceph-mon } | ||
- { name: ceph_rgw, group: ceph-rgw } | ||
|
||
- name: Containers config strategy for the ceph_osd container | ||
- name: Containers config strategy for the ceph_osd containers | ||
kolla_docker: | ||
name: "ceph_osd_{{ item.0.stdout }}" | ||
name: "ceph_osd_{{ item.stdout }}" | ||
action: "get_container_env" | ||
with_together: | ||
- id.results | ||
register: ceph_osd_container_envs | ||
with_items: osd_ids.results | ||
when: | ||
- inventory_hostname in groups['ceph-osd'] | ||
- osds | ||
when: osds | ||
|
||
- name: Remove the ceph_mon and ceph_rgw containers | ||
- name: Containers config strategy for ceph_rgw container | ||
kolla_docker: | ||
name: "{{ item.name }}" | ||
action: "get_container_env" | ||
register: ceph_rgw_container_envs | ||
when: | ||
- inventory_hostname in groups[item.group] | ||
- enable_ceph_rgw | bool | ||
with_items: | ||
- { name: ceph_rgw, group: ceph-rgw } | ||
|
||
- name: Remove the ceph_mon container | ||
kolla_docker: | ||
name: "{{ item[0]['name'] }}" | ||
action: "remove_container" | ||
register: remove_containers | ||
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 | ||
- inventory_hostname in groups[item[0]['group']] | ||
with_together: | ||
- [{ name: ceph_mon, group: ceph-mon }, | ||
{ name: ceph_rgw, group: ceph-rgw }] | ||
- container_envs.results | ||
- check_results.results | ||
- [{ name: ceph_mon, group: ceph-mon }] | ||
- ceph_mon_container_envs.results | ||
- ceph_mon_check_results.results | ||
|
||
- name: Remove the ceph_osd container | ||
- name: Remove the ceph_osd containers | ||
kolla_docker: | ||
name: "ceph_osd_{{ item.0.stdout }}" | ||
action: "remove_container" | ||
register: remove_ceph_osd_containers | ||
when: | ||
- config_strategy == "COPY_ONCE" or item[2]['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE' | ||
- item[3]['rc'] == 1 | ||
- 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: | ||
- id.results | ||
- osds | ||
- container_envs.results | ||
- check_results.results | ||
- osd_ids.results | ||
- ceph_osd_container_envs.results | ||
- ceph_osd_check_results.results | ||
|
||
- name: Remove the ceph_rgw container | ||
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: start_mons.yml | ||
when: | ||
- inventory_hostname in groups['ceph-mon'] | ||
- remove_ceph_mon_container.changed | ||
|
||
- include: deploy.yml | ||
when: remove_containers.changed | ||
- include: start_osds.yml | ||
when: | ||
- inventory_hostname in groups['ceph-osd'] | ||
- remove_ceph_osd_containers.changed | ||
|
||
- include: start_rgws.yml | ||
when: | ||
- inventory_hostname in groups['ceph-rgw'] | ||
- remove_ceph_rgw_container.changed | ||
|
||
- name: Restart the ceph_mon container | ||
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 | ||
- inventory_hostname in groups['ceph-mon'] | ||
with_together: | ||
- container_envs.results | ||
- check_results.results | ||
- ceph_mon_container_envs.results | ||
- ceph_mon_check_results.results | ||
|
||
- name: Restart the ceph_osd container | ||
kolla_docker: | ||
name: "ceph_osd_{{ item.0.stdout }}" | ||
action: "restart_container" | ||
when: | ||
- inventory_hostname in groups['ceph-osd'] | ||
- config_strategy == 'COPY_ALWAYS' | ||
- item[2]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE' | ||
- item[3]['rc'] == 1 | ||
- item[1]['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE' | ||
- item[2]['rc'] == 1 | ||
- osds | ||
with_together: | ||
- id.results | ||
- osds | ||
- container_envs.results | ||
- check_results.results | ||
- osd_ids.results | ||
- ceph_osd_container_envs.results | ||
- ceph_osd_check_results.results | ||
|
||
- name: Restart the ceph_rgw container | ||
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 | ||
- inventory_hostname in groups['ceph-rgw'] | ||
with_together: | ||
- container_envs.results | ||
- check_results.results | ||
- ceph_rgw_container_envs.results | ||
- ceph_rgw_check_results.results |