mirror of
https://github.com/PyratLabs/ansible-role-k3s.git
synced 2024-11-29 12:55:51 +01:00
de1bd094e5
* fix(ansible-lint): FQDN and `name` * fix(ansible-lint): add `name` and FQDN for module call * fix(ansible-lint): add `name` to tasks and FQDN for module * fix(ansible-lint): add task `name` and FQDN for module calls * fix(ansible-lint): last `include_tasks` * fix(ansible-lint): add task names and FQDN * refactor: `Ensure` to `Run` * [skip ci]refactor: add exist and seperate ensure installed node task, mention build cluster * [skip ci]refactor: Pipe seperator * [skip ci]refactor: run * refactor: remove quotes as other files don't use them For templated vars in task name * [skip ci]refactor: task names, use `Run` * [skip ci]refactor: use variable name in task name * [skip ci]refactor: task names * [skip ci]refactor: add service mgr in task name * [skip ci]refactor: add task names and module FQDNs * [skip ci]refactor: fix task name * [skip ci]refactor: add - * [skip ci]refactor: include task names and FQDNs * [skip ci]refactor: add task names and FQDNs * [skip ci]: ignore `name[template]` * refactor: `when` clause for `block` should be before `block` * fix: https://github.com/ansible-community/molecule/issues/3883 * refactor: molecule lint command was removed in version `5.0.0` Use separate CI job step to run linting instead. * [skip ci]refactor: noqa for command tasks Subject to change * refactor: use Ubuntu 22.04 Suspect issues with Molecule tests are related to cgroups v2.
55 lines
1.9 KiB
YAML
55 lines
1.9 KiB
YAML
---
|
|
|
|
- name: Check if kubectl exists
|
|
ansible.builtin.stat:
|
|
path: "{{ k3s_install_dir }}/kubectl"
|
|
register: k3s_check_kubectl
|
|
become: "{{ k3s_become }}"
|
|
|
|
- name: Clean up nodes that are in an uninstalled state
|
|
when:
|
|
- k3s_check_kubectl.stat.exists is defined
|
|
- k3s_check_kubectl.stat.exists
|
|
- k3s_control_delegate is defined
|
|
- not ansible_check_mode
|
|
block:
|
|
- name: Gather a list of nodes
|
|
ansible.builtin.command:
|
|
cmd: "{{ k3s_install_dir }}/kubectl get nodes"
|
|
changed_when: false
|
|
failed_when: false
|
|
delegate_to: "{{ k3s_control_delegate }}"
|
|
run_once: true
|
|
register: kubectl_get_nodes_result
|
|
become: "{{ k3s_become }}"
|
|
|
|
- name: Ensure uninstalled nodes are drained # noqa no-changed-when
|
|
ansible.builtin.command:
|
|
cmd: >-
|
|
{{ k3s_install_dir }}/kubectl drain {{ item }}
|
|
--ignore-daemonsets
|
|
--{{ k3s_drain_command[ansible_version.string is version_compare('1.22', '>=')] }}
|
|
--force
|
|
delegate_to: "{{ k3s_control_delegate }}"
|
|
run_once: true
|
|
when:
|
|
- kubectl_get_nodes_result.stdout is defined
|
|
- item in kubectl_get_nodes_result.stdout
|
|
- hostvars[item].k3s_state is defined
|
|
- hostvars[item].k3s_state == 'uninstalled'
|
|
loop: "{{ ansible_play_hosts }}"
|
|
become: "{{ k3s_become }}"
|
|
|
|
- name: Ensure uninstalled nodes are removed # noqa no-changed-when
|
|
ansible.builtin.command:
|
|
cmd: "{{ k3s_install_dir }}/kubectl delete node {{ item }}"
|
|
delegate_to: "{{ k3s_control_delegate }}"
|
|
run_once: true
|
|
when:
|
|
- kubectl_get_nodes_result.stdout is defined
|
|
- item in kubectl_get_nodes_result.stdout
|
|
- hostvars[item].k3s_state is defined
|
|
- hostvars[item].k3s_state == 'uninstalled'
|
|
loop: "{{ ansible_play_hosts }}"
|
|
become: "{{ k3s_become }}"
|