Q: Как заставить ansible apt module всегда переустанавливать пакет Роль ansible устанавливает нужный пакет с помощью модуля apt. Есть проблема с тем, что разработчик может забыть поменять версию пакета в очередном обновлении и тогда apt проигнорирует обновление.
Сейчас обхожу это условие, напрямую удаляя и устанавливая. Это не очень хорошо, лишний шум в логах.
- name: Удаление сервиса
  apt: name=myservice state=absent force=yes

- name: Установка сервиса
  apt: name=myservice state=latest force=yes

А можно ли одной задачей этого добиться? Прочитал доки по apt module, но вроде как нет решения.
Конечно, можно напрямую через shell, но тогда в отчете ansible всегда будет changed: true
- name: Форсированная переустановка сервиса
  shell: apt-get --reinstall install myservice


A: Кратко: не нужно решать эту проблему с помощью ansible.
Проблема с некорректным версионированием пакета вообще не должна решаться на этом уровне. Нужно реализовывать проверку изменения версии на этапе построения deb-пакета.
В данном случае лучшим из доступных вариантов является уже используемый:
- name: Удаление сервиса
  apt: name=myservice state=absent force=yes

- name: Установка сервиса
  apt: name=myservice state=latest force=yes

