Используя следующий ответ stackoverflow.com/questions/34026875/, я пытаюсь получить стандартный вывод из модуля ansible apt.
Используя этот очень простой тестовый сборник:
- hosts: localhost
sudo: true
tasks:
- name: 'apt: update & upgrade'
apt:
update_cache: yes
cache_valid_time: 3600
register: apt
- debug: msg={{ apt.stdout.split('\n')[:-1] }}
У меня всегда есть это сообщение об ошибке:
фатальный: [localhost]: FAILED! => {"msg": "Задача включает параметр с неопределенной переменной. Ошибка: "объект dict" не имеет атрибута "stdout"
Я пробовал разными способами (установить пакет, удалить,...) и всегда получаю одно и то же сообщение об ошибке.
При использовании debug: msg=apt
единственным выходным сообщением, которое я могу получить, является {"cache_update_time": 1531941358, "cache_updated": true, "changed": true}
, даже если я устанавливаю или удаляю пакет, который, по моему скромному мнению, является выходным сообщением, которое ничего не значит, потому что "cache_updated": true, "changed": true
не означает, что пакеты были установлены или удалены.
В документации по модулю Ansible APT Документация по модулю Ansible APT в разделе "Возвращаемые значения" есть стандартный вывод, возвращаемый success, when needed
.
Кто-нибудь знает, как получить реальный и четкий выход из модуля Ansible APT или как заставить Ansible вернуть стандартный вывод (ansible config, ...) и что на самом деле означает "success, * when needed *"
, потому что мне никогда не удавалось получить стандартный вывод ни при каких обстоятельствах .
С уважением