|
216 | 216 | gather_facts: true |
217 | 217 | vars: |
218 | 218 | target_node: "{{ node_to_remove | default('') }}" |
| 219 | + consul_http_addr: "{% if consul_tls_enable | default(false) | bool %}https{% else %}http{% endif %}://127.0.0.1:8500" |
| 220 | + consul_ca_flag: "{% if consul_tls_enable | default(false) | bool %}-ca-file=/etc/consul/tls/ca.crt{% endif %}" |
| 221 | + consul_client_flags: >- |
| 222 | + {% if consul_tls_enable | default(false) | bool %} |
| 223 | + -client-cert=/etc/consul/tls/server.crt -client-key=/etc/consul/tls/server.key |
| 224 | + {% endif %} |
219 | 225 | tasks: |
220 | 226 | - block: |
221 | 227 | - name: Fetch consul cluster members before removal |
222 | 228 | run_once: true # noqa run-once |
223 | 229 | ansible.builtin.command: >- |
224 | | - consul operator raft list-peers \ |
225 | | - -http-addr=https://127.0.0.1:8500 \ |
226 | | - -ca-file=/etc/consul/tls/ca.crt |
| 230 | + consul operator raft list-peers |
| 231 | + -http-addr={{ consul_http_addr }} |
| 232 | + {{ consul_ca_flag }} |
227 | 233 | changed_when: false |
228 | 234 | register: consul_members_list_before |
229 | 235 | until: consul_members_list_before.rc == 0 |
|
250 | 256 | - name: Force-leave target node from consul cluster |
251 | 257 | run_once: true # noqa run-once |
252 | 258 | ansible.builtin.command: >- |
253 | | - consul force-leave \ |
254 | | - -http-addr=https://127.0.0.1:8500 \ |
255 | | - -ca-file=/etc/consul/tls/ca.crt \ |
256 | | - {{ hostvars[target_node].ansible_hostname | default(target_node) }} |
| 259 | + consul force-leave |
| 260 | + -http-addr={{ consul_http_addr }} |
| 261 | + {{ consul_ca_flag }} |
| 262 | + {{ hostvars[target_node].ansible_hostname | default(target_node) }} |
257 | 263 | when: |
258 | 264 | - inventory_hostname != target_node |
259 | 265 | - consul_members_list_before.stdout | default('') is search(hostvars[target_node].ansible_hostname | default(target_node)) |
|
278 | 284 | - name: Remove target node from the Raft configuration |
279 | 285 | run_once: true # noqa run-once |
280 | 286 | ansible.builtin.command: >- |
281 | | - consul operator raft remove-peer -id="{{ target_raft_id }}" \ |
282 | | - -http-addr=https://127.0.0.1:8500 \ |
283 | | - -ca-file=/etc/consul/tls/ca.crt \ |
284 | | - -client-cert=/etc/consul/tls/server.crt \ |
285 | | - -client-key=/etc/consul/tls/server.key |
| 287 | + consul operator raft remove-peer -id="{{ target_raft_id }}" |
| 288 | + -http-addr={{ consul_http_addr }} |
| 289 | + {{ consul_ca_flag }} |
| 290 | + {{ consul_client_flags }} |
286 | 291 | register: raft_remove_result |
287 | 292 | until: raft_remove_result.rc == 0 |
288 | 293 | retries: 3 |
|
313 | 318 | - name: Fetch consul cluster members after removal |
314 | 319 | run_once: true # noqa run-once |
315 | 320 | ansible.builtin.command: >- |
316 | | - consul operator raft list-peers \ |
317 | | - -http-addr=https://127.0.0.1:8500 \ |
318 | | - -ca-file=/etc/consul/tls/ca.crt |
| 321 | + consul operator raft list-peers |
| 322 | + -http-addr={{ consul_http_addr }} |
| 323 | + {{ consul_ca_flag }} |
319 | 324 | changed_when: false |
320 | 325 | register: consul_members_list_after |
321 | 326 | until: consul_members_list_after.rc == 0 |
|
0 commit comments