Skip to content

Commit 4245ddc

Browse files
authored
Make etcd node removal idempotent (#12949)
1 parent 422e736 commit 4245ddc

File tree

1 file changed

+5
-1
lines changed
  • roles/remove-node/remove-etcd-node/tasks

1 file changed

+5
-1
lines changed

roles/remove-node/remove-etcd-node/tasks/main.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121
- "{{ bin_dir }}/etcdctl"
2222
- member
2323
- remove
24-
- "{{ '%x' | format(((etcd_members.stdout | from_json).members | selectattr('peerURLs.0', '==', etcd_peer_url))[0].ID) }}"
24+
- "{{ '%x' | format(etcd_removed_nodes[0].ID) }}"
25+
vars:
26+
etcd_removed_nodes: "{{ (etcd_members.stdout | from_json).members | selectattr('peerURLs.0', '==', etcd_peer_url) }}"
27+
# This should always have at most one member, since the etcd_peer_url should be unique in the etcd cluster
28+
when: etcd_removed_nodes != []
2529
register: etcd_removal_output
2630
changed_when: "'Removed member' in etcd_removal_output.stdout"

0 commit comments

Comments
 (0)