first commit
This commit is contained in:
+101
@@ -0,0 +1,101 @@
|
||||
---
|
||||
# ==============================================================================
|
||||
# PLAY 1: Clean Local Build Directories
|
||||
# ==============================================================================
|
||||
- name: Clean Local Environment
|
||||
hosts: localhost
|
||||
connection: local
|
||||
gather_facts: false
|
||||
|
||||
vars:
|
||||
boot_artifacts_dir: "{{ playbook_dir }}/boot-artifacts"
|
||||
ocp_install_dir: "{{ playbook_dir }}/ocp-install"
|
||||
|
||||
tasks:
|
||||
- name: Remove stale local directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
loop:
|
||||
- "{{ boot_artifacts_dir }}"
|
||||
- "{{ ocp_install_dir }}"
|
||||
|
||||
|
||||
# ==============================================================================
|
||||
# PLAY 2: Wipe Node Disks and Shutdown
|
||||
# ==============================================================================
|
||||
- name: Wipe Disks and Shutdown Nodes
|
||||
hosts: ocp_nodes
|
||||
remote_user: core
|
||||
become: true
|
||||
gather_facts: false
|
||||
|
||||
vars:
|
||||
vault_dir: "{{ playbook_dir }}/vault_vars"
|
||||
ansible_ssh_private_key_file: "/tmp/node_ssh_key"
|
||||
# Ignore host key checking and bypass known_hosts verification
|
||||
ansible_ssh_common_args: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
|
||||
|
||||
vars_files:
|
||||
- "{{ vault_dir }}/ssh-key.yml"
|
||||
|
||||
pre_tasks:
|
||||
- name: Write private SSH key to local temporary file
|
||||
ansible.builtin.copy:
|
||||
content: "{{ vault_ssh_private_key }}"
|
||||
dest: "/tmp/node_ssh_key"
|
||||
mode: '0600'
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
|
||||
tasks:
|
||||
- name: Execute disk wipe script on node
|
||||
ansible.builtin.shell: |
|
||||
for DISK in /dev/vda; do
|
||||
if [ -b "$DISK" ]; then
|
||||
echo "Wiping ${DISK}"
|
||||
for gb in 0 1 10 100 1000; do
|
||||
dd if=/dev/zero of="$DISK" bs=1K count=400 oflag=direct seek=$((gb * 1024**2)) 2>/dev/null || true
|
||||
done
|
||||
wipefs -af "$DISK" || true
|
||||
fi
|
||||
done
|
||||
|
||||
for DISK in /dev/nvme0n1; do
|
||||
if [ -b "$DISK" ]; then
|
||||
echo "Wiping ${DISK}"
|
||||
for gb in 0 1 10 100 1000; do
|
||||
dd if=/dev/zero of="$DISK" bs=1K count=400 oflag=direct seek=$((gb * 1024**2)) 2>/dev/null || true
|
||||
done
|
||||
wipefs -af "$DISK" || true
|
||||
fi
|
||||
done
|
||||
|
||||
for DISK in /dev/nvme1n1; do
|
||||
if [ -b "$DISK" ]; then
|
||||
echo "Wiping ${DISK}"
|
||||
for gb in 0 1 10 100 1000; do
|
||||
dd if=/dev/zero of="$DISK" bs=1K count=400 oflag=direct seek=$((gb * 1024**2)) 2>/dev/null || true
|
||||
done
|
||||
wipefs -af "$DISK" || true
|
||||
fi
|
||||
done
|
||||
args:
|
||||
executable: /bin/bash
|
||||
ignore_errors: true
|
||||
ignore_unreachable: true
|
||||
|
||||
- name: Initiate node shutdown
|
||||
ansible.builtin.command: /sbin/poweroff
|
||||
async: 1
|
||||
poll: 0
|
||||
ignore_errors: true
|
||||
ignore_unreachable: true
|
||||
|
||||
post_tasks:
|
||||
- name: Clean up temporary SSH private key file
|
||||
ansible.builtin.file:
|
||||
path: "/tmp/node_ssh_key"
|
||||
state: absent
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
Reference in New Issue
Block a user