Назад | Перейти на главную страницу

Условная команда Ansible не работает на сервере AWS, на котором работает ubuntu 20.04

У меня есть несколько доступных скриптов, которые выполняют команды на серверах ubuntu на AWS. Один конкретный сценарий должен запускаться как на Ubuntu, так и на Amazon Linux.

У меня есть условная команда для пропуска некоторых команд в инстансах Amazon Linux, которые до сегодняшнего дня работали нормально, пока я пытался запустить скрипт на новом добавленном мной сервере, на котором работает новая версия Ubuntu (20.04 LTS).

Этот сценарий и условие в нем отлично работают для Ubuntu 16.04, 18.04 и Amazon Linux, но не работают в Ubuntu 20.04.

Это команда, которая не работает в моем сценарии:

- name: AMAZON LINUX Create jail local file
  file:
    path: /etc/fail2ban/jail.local
    state: touch
    mode: "u=rw,g=r,o=r"
  when: ansible_distribution == "Amazon"

и это ошибка:

fatal: [MY_HOST]: FAILED! => {"msg": "The conditional check 'ansible_distribution == \"Amazon\"' failed. 
The error was: error while evaluating conditional (ansible_distribution == \"Amazon\"): 'ansible_distribution' is undefined\n\n
The error appears to have been in 'MY_PATH/main.yml': line 27, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\n
The offending line appears to be:\n\n\n- name: AMAZON LINUX Create jail local file\n  ^ here\n"}

Мне интересно, является ли это виновником нового AMI, который AWS предоставил для нового Ubuntu 20.04 - звучит как разумное объяснение, поскольку сценарий работает для других серверов, но как я могу это преодолеть?