При попытке задеплоить приложение получаю ошибку:
ERROR! couldn't resolve module/action 'community.general.ini_file'. This often indicates a misspelling, missing collection, or incorrect module path. The error appears to be in '/bla-bla-bla/deploy.yml': line 14, column 3, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - name: Configure systemd>=235 (exclude kernel messages) ^ here
Ошибочка на самом деле немного глубже, а именно в строке:
- name: Configure systemd>=235 (exclude kernel messages) when: systemd_version | int >= 235 community.general.ini_file:
Ну нет у ансибла модуля community.general.ini_file. Смотрим версию Ansible:
ansible --version
ansible 2.9.20
Я использую WSL 2 подсистему Windows для Linux, у меня в качестве вертуальной машины Ubuntu 20. И там максимальная системная версия Ansible 2.9.20. И даже модуль стоит community.general, но в нём нет ini_file.
https://docs.ansible.com/ansible/latest/collections/community/general/ini_file_module.html
Данный модуль является частью коллекции community.general версии 8.3.0.
https://galaxy.ansible.com/ui/repo/published/community/general/
Коллекция community.general 8.3.0 имеет требования: Requires Ansible >=2.13.0. Получается, мне нужен более свежий Ansible.
И коллеги мне подсказывают:
А и не надо системный ансибл пользовать!
И решение:
apt install python3-pip python3-venv
python3 -m venv .venv
source .venv/bin/activate
pip install ansible
ansible --version
ansible 2.13.13
Вот теперь нормальная версия.
И, на всякий случай:
ansible-galaxy collection install community.general