From f3a3a5aee727f849e62563fde643fcabe029b5b3 Mon Sep 17 00:00:00 2001 From: Ahmed AbdelHalim Date: Mon, 22 Jun 2026 13:08:22 +0200 Subject: Use more stable approach for testing devices and fix linting issues This approach uses losetup to query the devices instead of flaky unstable cache! --- molecule/raspberrypi/converge.yml | 18 ++++++++++++++++-- molecule/raspberrypi/prepare.yml | 11 ++++++----- roles/pve/tasks/main.yml | 6 +++--- 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" -- cgit v1.2.3