summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2026-06-22 13:08:22 +0200
committerAhmed Abdelhalim <[email protected]>2026-06-22 13:08:22 +0200
commitc903b87a23cedc56a29d023df50b649c0b9f1e59 (patch)
treec905dfd953f2b7503b5136ec62fb54b4c118b308
parente8888c085bfc51aafeb24a6af20dcd1781d410e1 (diff)
Use more stable approach for testing devices and fix linting issues
This approach uses losetup to query the devices instead of flaky unstable cache!
-rw-r--r--molecule/raspberrypi/converge.yml18
-rw-r--r--molecule/raspberrypi/prepare.yml11
-rw-r--r--roles/pve/tasks/main.yml6
3 files changed, 25 insertions, 10 deletions
diff --git a/molecule/raspberrypi/converge.yml b/molecule/raspberrypi/converge.yml
index 8acf53ff..db7b6303 100644
--- a/molecule/raspberrypi/converge.yml
+++ b/molecule/raspberrypi/converge.yml
@@ -1,4 +1,20 @@
---
+- name: "Discover test devices"
+ hosts: localhost
+ gather_facts: false
+ tasks:
+ - name: "Find loop device for vdd.img"
+ become: true
+ ansible.builtin.command:
+ cmd: "losetup -j /opt/vdd.img"
+ register: losetup_output
+ changed_when: false
+
+ - name: "Inject backup_device into raspberrypi host vars"
+ ansible.builtin.add_host:
+ name: "raspberrypi"
+ backup_device: "{{ losetup_output.stdout.split(':')[0] }}"
+
- name: "Bootstrap"
hosts: "raspberrypi"
gather_facts: true
@@ -61,12 +77,10 @@
password_store_repo_url: "https://github.com/octocat/Spoon-Knife"
firefox_install_browserpass: true
firefox_install_passff: true
- backup_device: "{{ test_device }}"
pre_tasks:
- name: "Override is_chroot fact for container environment"
ansible.builtin.set_fact:
ansible_facts: "{{ ansible_facts | combine({'is_chroot': false}) }}"
- test_device: "{{ hostvars['localhost']['test_device'] }}"
roles:
- role: "locales"
- role: "timezone"
diff --git a/molecule/raspberrypi/prepare.yml b/molecule/raspberrypi/prepare.yml
index b34ca4c5..0d88f9d7 100644
--- a/molecule/raspberrypi/prepare.yml
+++ b/molecule/raspberrypi/prepare.yml
@@ -17,11 +17,12 @@
register: loop_device
changed_when: true
- - name: "Set test facts"
- ansible.builtin.set_fact:
- test_device: "{{ loop_device.stdout }}"
- cacheable: true
+ - name: "Format test device as ext4"
+ become: true
+ community.general.filesystem:
+ fstype: "ext4"
+ dev: "{{ loop_device.stdout }}"
- name: "Show test info"
ansible.builtin.debug:
- msg: "Test device: {{ test_device }}"
+ msg: "Test device: {{ loop_device.stdout }}"
diff --git a/roles/pve/tasks/main.yml b/roles/pve/tasks/main.yml
index f58f62db..39998cb7 100644
--- a/roles/pve/tasks/main.yml
+++ b/roles/pve/tasks/main.yml
@@ -50,9 +50,9 @@
become: true
ansible.builtin.command:
cmd: "pveum user add {{ pve_admin_user }}@pve"
- register: pveum_user_add
- changed_when: pveum_user_add.rc == 0
- failed_when: pveum_user_add.rc != 0 and 'already exists' not in pveum_user_add.stderr
+ register: pve_user_add
+ changed_when: pve_user_add.rc == 0
+ failed_when: pve_user_add.rc != 0 and 'already exists' not in pve_user_add.stderr
tags:
- "molecule-notest"