add kubespray to the XTesting as it provides newer version of kubenetes and can be...
[it/test.git] / XTesting / kubespray / remove-node.yml
1 ---
2 - name: Check ansible version
3   import_playbook: ansible_version.yml
4
5 - name: Ensure compatibility with old groups
6   import_playbook: legacy_groups.yml
7
8 - hosts: bastion[0]
9   gather_facts: False
10   environment: "{{ proxy_disable_env }}"
11   roles:
12     - { role: kubespray-defaults }
13     - { role: bastion-ssh-config, tags: ["localhost", "bastion"] }
14
15 - hosts: "{{ node | default('etcd:k8s_cluster:calico_rr') }}"
16   gather_facts: no
17   tasks:
18     - name: Confirm Execution
19       pause:
20         prompt: "Are you sure you want to delete nodes state? Type 'yes' to delete nodes."
21       register: pause_result
22       run_once: True
23       when:
24         - not (skip_confirmation | default(false) | bool)
25
26     - name: Fail if user does not confirm deletion
27       fail:
28         msg: "Delete nodes confirmation failed"
29       when: pause_result.user_input | default('yes') != 'yes'
30
31 - name: Gather facts
32   import_playbook: facts.yml
33   when: reset_nodes|default(True)|bool
34
35 - hosts: "{{ node | default('kube_node') }}"
36   gather_facts: no
37   environment: "{{ proxy_disable_env }}"
38   roles:
39     - { role: kubespray-defaults, when: reset_nodes|default(True)|bool }
40     - { role: remove-node/pre-remove, tags: pre-remove }
41     - { role: remove-node/remove-etcd-node }
42     - { role: reset, tags: reset, when: reset_nodes|default(True)|bool }
43
44 # Currently cannot remove first master or etcd
45 - hosts: "{{ node | default('kube_control_plane[1:]:etcd[1:]') }}"
46   gather_facts: no
47   environment: "{{ proxy_disable_env }}"
48   roles:
49     - { role: kubespray-defaults, when: reset_nodes|default(True)|bool }
50     - { role: remove-node/post-remove, tags: post-remove }