It seems that getting failures due to /var/lib/dpkg/lock is something not very rare. Based on observations these are caused most of the time 9/10 due to state lock file or while a cron job was running.
This means that a retry mechanism combined with a removal of stale file could be the solution.
How can I do this in ansible?
I'd try to solve this with until
feature of ansible (http://docs.ansible.com/ansible/latest/playbooks_loops.html#do-until-loops)
- name: Apt for sure
apt: name=foobar state=installed
register: apt_status
# 2018 syntax:
# until: apt_status|success
# 2020 syntax:
until: apt_status is success
delay: 6
retries: 10
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With