From b63d71607a31e87d585dfda6ae19371032145f02 Mon Sep 17 00:00:00 2001 From: guochao Date: Mon, 21 Aug 2017 11:50:15 +0800 Subject: [PATCH] Add swift ring files check in prechecks Precheck will fail when swift ring files do not exists. Change-Id: I20e7c9dbe527015ac2b01e85907637feb0deacbc --- ansible/roles/swift/tasks/precheck.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ansible/roles/swift/tasks/precheck.yml b/ansible/roles/swift/tasks/precheck.yml index e5f622a194..50291c03c9 100644 --- a/ansible/roles/swift/tasks/precheck.yml +++ b/ansible/roles/swift/tasks/precheck.yml @@ -62,3 +62,22 @@ when: - container_facts['swift_proxy_server'] is not defined - inventory_hostname in groups['swift-proxy-server'] + +- name: Checking Swift ring files + run_once: True + local_action: stat path="{{ node_custom_config }}/swift/{{ item }}" + register: swift_ring_files + with_items: + - "account.builder" + - "account.ring.gz" + - "container.builder" + - "container.ring.gz" + - "object.builder" + - "object.ring.gz" + +- name: Fail if ring files don't exist + run_once: True + local_action: fail msg="Swift ring files do not exist. Ensure .builder and .gz are available for each of account/container/object under {{ node_custom_config }}/swift before deploying Swift." + with_items: '{{ swift_ring_files.results }}' + when: + - item.stat.exists == false