один. Делаю попытку сделать модули совместимыми между разными версиями анзибла. Всё упирается в то, что если писать под более свежую версию анзибла и убирать костыли заменяя их встроенными модулями, то получается всё прекрасно. Разницу между версиями анзибла я распихиваю по разным файлам, которые потом инклюду в зависимости от версии анзибла:
- include: kernel_2.3.yml
when: ansible_version.full is version('2.7', '<')
- include: kernel_2.7.yml
when: ansible_version.full is version('2.7', '>=')
Но, проблема вылезла где не ждали. Теперь при попытке запустить роль на старой версии анзибла вылезают ошибки синтаксические из таска для более свежей версии анзибла:
ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.
Там всего лишь используется модуль с версии 2.7 анзибла.
- name: Reboot the server (ansible > 2.7)
reboot:
msg: "Kernel has been updated by ansible, time to reboot!"
Вопрос - как то можно заставить при запуске анзибла 2.3 игнорировать этот файл инклюда?
Так вы ж его и так игнорируете, не?
Валится прямо на этапе запуска, ещё до сбора фактов
А послать нах тех, кто пользуется тулой 4х летней давности не получится?
Это так не работает )
уволиться и уйти туда, где нет 2.3, а есть 2.9-2.11
We're hiring (c) 😁
Обсуждают сегодня