chore: first commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
---
|
||||
- name: Install sfdisk
|
||||
package:
|
||||
name: util-linux
|
||||
state: present
|
||||
changed_when: false
|
||||
|
||||
- name: Install hdparm
|
||||
package:
|
||||
name: hdparm
|
||||
state: present
|
||||
changed_when: false
|
||||
|
||||
- name: Load expected layout from file (controller side)
|
||||
set_fact:
|
||||
expected_layout: "{{ lookup('file', item.layout_file) }}"
|
||||
changed_when: false
|
||||
|
||||
- name: Get current layout from remote
|
||||
command: "sfdisk --dump {{ item.device }}"
|
||||
register: current_layout
|
||||
changed_when: false
|
||||
|
||||
- name: Compare expected vs current layout
|
||||
vars:
|
||||
current_clean: "{{ current_layout.stdout | trim | regex_replace('\\s+', ' ') }}"
|
||||
expected_clean: "{{ expected_layout | trim | regex_replace('\\s+', ' ') }}"
|
||||
set_fact:
|
||||
layout_differs: "{{ current_clean != expected_clean }}"
|
||||
changed_when: false
|
||||
|
||||
- name: Copy layout file to remote (only if different)
|
||||
copy:
|
||||
content: "{{ expected_layout }}"
|
||||
dest: "/tmp/expected-{{ item.device | basename }}.sfdisk"
|
||||
mode: "0644"
|
||||
when: layout_differs
|
||||
|
||||
- name: Apply partition table using sfdisk
|
||||
command: >
|
||||
sfdisk {{ item.device }} < {{ item.layout_file }}
|
||||
when: layout_differs
|
||||
Reference in New Issue
Block a user