diff --git a/life-church/playbooks/thinkcenter-firmware.yml b/life-church/playbooks/thinkcenter-firmware.yml index 73f0071..e75fd41 100644 --- a/life-church/playbooks/thinkcenter-firmware.yml +++ b/life-church/playbooks/thinkcenter-firmware.yml @@ -85,6 +85,14 @@ that: inventory_hostname == 'thinkcenter' fail_msg: "Refusing to run — this play is scoped to thinkcenter only." + - name: "[selfheal] Repair any half-configured dpkg/apt state (prevents cascade failures)" + ansible.builtin.shell: | + dpkg --configure -a || true + apt-get -y -f install || true + register: dpkg_selfheal + changed_when: "'Setting up' in (dpkg_selfheal.stdout | default(''))" + failed_when: false + - name: "[fwupd] Ensure fwupd is installed" ansible.builtin.apt: name: fwupd