From 0fc47e5030577479be08126818dd2b5b5ccdf995 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Tue, 4 Apr 2017 14:57:12 +0200 Subject: Introduce etcd migrate role --- roles/etcd_migrate/tasks/check_cluster_health.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 roles/etcd_migrate/tasks/check_cluster_health.yml (limited to 'roles/etcd_migrate/tasks/check_cluster_health.yml') diff --git a/roles/etcd_migrate/tasks/check_cluster_health.yml b/roles/etcd_migrate/tasks/check_cluster_health.yml new file mode 100644 index 000000000..1abd6a32f --- /dev/null +++ b/roles/etcd_migrate/tasks/check_cluster_health.yml @@ -0,0 +1,23 @@ +--- +- name: Check cluster health + command: > + etcdctl --cert-file /etc/etcd/peer.crt --key-file /etc/etcd/peer.key --ca-file /etc/etcd/ca.crt --endpoint https://{{ etcd_peer }}:2379 cluster-health + register: etcd_cluster_health + changed_when: false + failed_when: false + +- name: Assume a member is not healthy + set_fact: + etcd_member_healthy: false + +- name: Get member item health status + set_fact: + etcd_member_healthy: true + with_items: "{{ etcd_cluster_health.stdout_lines }}" + when: "(etcd_peer in item) and ('is healthy' in item)" + +- name: Check the etcd cluster health + # TODO(jchaloup): should we fail or ask user if he wants to continue? Or just wait until the cluster is healthy? + fail: + msg: "Etcd member {{ etcd_peer }} is not healthy" + when: not etcd_member_healthy -- cgit v1.2.3