From 0656a1fe1d45dce1eedf1f1a0eea815eb0e1f75d Mon Sep 17 00:00:00 2001 From: auricom Date: Tue, 20 Apr 2021 00:22:36 +0200 Subject: [PATCH] feat: rook-ceph nuke playbook --- .../home-cluster/host_vars/k3s-worker1.yml | 6 +++ .../home-cluster/host_vars/k3s-worker2.yml | 6 +++ .../home-cluster/host_vars/k3s-worker3.yml | 6 +++ server/ansible/playbooks/rook-ceph/nuke.yaml | 48 +++++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 server/ansible/playbooks/rook-ceph/nuke.yaml diff --git a/server/ansible/inventory/home-cluster/host_vars/k3s-worker1.yml b/server/ansible/inventory/home-cluster/host_vars/k3s-worker1.yml index ce00b6451..fc400c3db 100644 --- a/server/ansible/inventory/home-cluster/host_vars/k3s-worker1.yml +++ b/server/ansible/inventory/home-cluster/host_vars/k3s-worker1.yml @@ -7,3 +7,9 @@ ansible_user: "ubuntu" # ansible_ssh_pass: "ubuntu" # ansible_ssh_common_args: "-o UserKnownHostsFile=/dev/null" # ansible_become_pass: "ubuntu" + +# Set enabled to true to mark this host as running a distributed storage rook-ceph +rook_ceph: + enabled: true + devices: + - /dev/nvme0n1 \ No newline at end of file diff --git a/server/ansible/inventory/home-cluster/host_vars/k3s-worker2.yml b/server/ansible/inventory/home-cluster/host_vars/k3s-worker2.yml index 88e57bab5..fef9cf6ae 100644 --- a/server/ansible/inventory/home-cluster/host_vars/k3s-worker2.yml +++ b/server/ansible/inventory/home-cluster/host_vars/k3s-worker2.yml @@ -7,3 +7,9 @@ ansible_user: "ubuntu" # ansible_ssh_pass: "ubuntu" # ansible_ssh_common_args: "-o UserKnownHostsFile=/dev/null" # ansible_become_pass: "ubuntu" + +# Set enabled to true to mark this host as running a distributed storage rook-ceph +rook_ceph: + enabled: true + devices: + - /dev/nvme0n1 \ No newline at end of file diff --git a/server/ansible/inventory/home-cluster/host_vars/k3s-worker3.yml b/server/ansible/inventory/home-cluster/host_vars/k3s-worker3.yml index f565222fe..e9506663b 100644 --- a/server/ansible/inventory/home-cluster/host_vars/k3s-worker3.yml +++ b/server/ansible/inventory/home-cluster/host_vars/k3s-worker3.yml @@ -7,3 +7,9 @@ ansible_user: "ubuntu" # ansible_ssh_pass: "ubuntu" # ansible_ssh_common_args: "-o UserKnownHostsFile=/dev/null" # ansible_become_pass: "ubuntu" + +# Set enabled to true to mark this host as running a distributed storage rook-ceph +rook_ceph: + enabled: true + devices: + - /dev/nvme0n1 \ No newline at end of file diff --git a/server/ansible/playbooks/rook-ceph/nuke.yaml b/server/ansible/playbooks/rook-ceph/nuke.yaml new file mode 100644 index 000000000..40ac2dbc0 --- /dev/null +++ b/server/ansible/playbooks/rook-ceph/nuke.yaml @@ -0,0 +1,48 @@ +--- + +- hosts: + - worker-nodes + become: true + gather_facts: true + any_errors_fatal: true + pre_tasks: + - name: Pausing for 5 seconds... + pause: + seconds: 5 + tasks: + - name: remove /var/lib/rook + become: true + ansible.builtin.file: + state: absent + path: "/var/lib/rook" + when: + - rook_ceph.enabled is defined + - rook_ceph.enabled + - name: zap the drives + become: true + ansible.builtin.shell: > + sgdisk --zap-all {{ item }} || true + loop: + - "{{ rook_ceph.devices }}" + when: + - rook_ceph.enabled is defined + - rook_ceph.enabled + - name: remove lvm partitions + become: true + ansible.builtin.shell: "{{ item }}" + loop: + - ls /dev/mapper/ceph--* | xargs -I% -- fuser --kill % + - ls /dev/mapper/ceph--* | xargs -I% -- dmsetup clear % + - ls /dev/mapper/ceph--* | xargs -I% -- dmsetup remove -f % + - ls /dev/mapper/ceph--* | xargs -I% -- rm -rf % + when: + - rook_ceph.enabled is defined + - rook_ceph.enabled + - name: wipe the block device + become: true + ansible.builtin.command: "wipefs -af {{ item }}" + with_items: + - "{{ rook_ceph.devices }}" + when: + - rook_ceph.enabled is defined + - rook_ceph.enabled \ No newline at end of file