Aleksandr
никто не сталкивался?
есть сильная уверенность, что никак, потому что надо проверить существование переменной в таблице видимости (globals или locals). короткая форма не подходит, потому что вы значение неиницилизированной переменной пытаетесь найти в листе
Aleksandr
- debug: msg: "{{ var1 in [undefined, 'val1', 'val2'] }}" FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'var1' is undefined
Aleksandr
все равно сначала должно взяться значение у переменной
Lamobot
я вроде встречал пример типа такого var1 in [undefined, ‘val1’, ‘val2’], но не могу найти
Это проверяется тестовым плейбуком за 5 минут. Не проще проверить и результат написать?
Oleg
А есть еще такой вопрос... Есть модуль ec2_ami_info. Хочу найти самый последний AMI под UBUNTU. Сортировки в модуле как я понимаю нет, и результаты тоже не сортированы. Кто-то решал такую задачу?
Oleg
А ансиблом?
Oleg
Был модуль ec2_ami_find - там можно было сортировать. Но он сейчас удален. Вместо него ec2_ami_info. И все - иди ковыряй руками?
Penguin
Всем привет! Сделал решение на Ansible для управления Github-ом как альтернативу Terraform-у. Активно юзаем у нас в компании: https://github.com/skyeng/gitwand Будет полезным, если у вас много команд и репозиториев: * Не упрётесь в лимиты API Github-а. * Летает без тормозов -- нет состояния, ничего лишнего не читаем и не пишем, всё отрабатывает за секунды. * YAML конфиги -- без ключевых слов, скобочек и странных идентификаторов. * И можно видеть настоящие имена людей вместо странных ников. Буду рад, если мой инструмент пригодится кому-то ещё. 😄
Ilia
Привет с вопросом по tower/awx сюда?
Aleksey
а если не понравится вопрос мы тебя забаним
Ilia
Мочи
AWX работает из контейнеров. Ключ приватный добавлен в кредах В кредах указана учетная запись пользователя, которая на конечном хосте находится в sudoers Запускаю плейбук из интерфейса AWX Отрабатывает только Gathering Facts, остальные таски не отрабатывает. Плей помечается как завершенный успешно. Но при этом изменения на хосте не происходят, в выполненных тасках одно задание. Пример плея:
George
Ну
George
Пока все логично
Ilia
--- - hosts: all become: yes tasks: - name: allow http service in firewalld firewalld: zone: public service: http permanent: yes immediate: yes state: enabled - name: reload service firewalld systemd: name: firewalld state: reloaded
Ilia
если запускаю руками этот же плей из самого контейнера с указанием юзера и ключа, то все ок
Ilia
Извиняюсь, уже в личку подсказали проверить тег
Ilia
Лучше handler использовать
handlers: - name: Restart snmpd service: name=snmpd state=restarted
Ilia
по типу такого?
citius
Был модуль ec2_ami_find - там можно было сортировать. Но он сейчас удален. Вместо него ec2_ami_info. И все - иди ковыряй руками?
Если не хочешь бесконечно страдать - переходи на терраформ. Тут недавно уже обсуждалась эта тема.
Oleg
register и sort разве не помогут?
Можно пример кинуть?
George
Для омозона есть клаудформейшн
Vladislav 👻
Можно пример кинуть?
Я с этим модулем не работал, хз что там. Но если в модуле есть список, то можете его отсортировать средствами ansible
Oleg
МОжно было бы терраформом - я бы уже пиво пил часов надцать назад.
citius
Для омозона есть клаудформейшн
Который тоже говно, но ещё и вендорлок. С тф ты можешь в любое облако.
George
George
Любое облако говорили они
George
А то что нужно целый слой атсракций поверх - все забывают. Ну, удачи, пускай вмварь всех съест
citius
Там слишком много нюансов с терраформ
Да нет там никаких нюансов. Есессно из одного тф файла - только одно облако. Но инструмент при этом универсален.
Oleg
Можешь, ты же Инженер с большой буквы
не могу. Я саппорт а не инженер (пока еще). Кроме того это тестовая задача, а не работа. На терре я ее уже решил. Но надо на ансибле.
citius
Лол. Ну ок
George
Лол. Ну ок
Ты видимо говна с тф не ел
citius
Я тераформом кручу 6 видов облаков. Включая и авс и вмваре. Хз что я там не ел, видимо так.
citius
(и даже Яндекс мать его Клауд)
George
И что
George
Это точно не энтрилвл
Отделение Bereke Bank
Там это где?
В терраформ
George
В терраформ. Сломанный стейт никогда не чинил?
George
Но, да, это биас, потому что мне художества приносят, с оверинжинирингом
citius
ну чинил сломанные стейты, да. некоторые перед. этим сам же и ломал. так такие нюансы с любым тулом бывают. :)
Sergey
ну чинил сломанные стейты, да. некоторые перед. этим сам же и ломал. так такие нюансы с любым тулом бывают. :)
Ну так а ты подаёшь это под соусом "тф - серебряная пуля, заменяйте им ансибл". Дискредитация инструмента-онтопика на липовых основаниях очень похожа на запрос RO ;-)
citius
Ну так а ты подаёшь это под соусом "тф - серебряная пуля, заменяйте им ансибл". Дискредитация инструмента-онтопика на липовых основаниях очень похожа на запрос RO ;-)
ээээ, сорри, но где я такое писал? тф серебряная пуля для управления инфраструктурой - да. на данный момент к сожалению ничего лучше _для этой задачи_ нет. у ансибла совершенно другие сильные стороны.
George
Вмваревцы плачут
George
Омозоновцы плачут
George
И только хашики радостно потирают ручки
citius
Вмваревцы плачут
а это о чем кстати?
Sergey
Безосновательно утверждаешь, что использование ансибла ведёт к бесконечному страданию.
citius
Вот писал: https://t.me/pro_ansible/158008
это же о конкретной задаче.
George
а это о чем кстати?
У них свой инструментарий, помимо ansible ) причём специфичный, но не сказать, что плохой
citius
У них свой инструментарий, помимо ansible ) причём специфичный, но не сказать, что плохой
я не понимаю, зачем с точки зрения инженера, имея универсальный и хороший открытый инструмент, обращаться к этим вендорлок решениям, которое как минимум не лучше. если ты aws или vmware - да, понимаю, как ты отметил - потирать ручки.
citius
притом что он бесплатный и энтерпрайз версии тф нет. чо там хаши потирают - непонятно.
George
Terraform cloud слышал ?
George
Извини, на этом можно закончить
citius
это ты говоришь чушь :) их клауд это стейт сторадж и пайплайны.
citius
сам терраформ бесплатный.
Alex
В терраформ. Сломанный стейт никогда не чинил?
Версионирование на бакете спасает. Лично сам за 2 года не сталкивался
Oleg
Кто подскажет? - debug: var: item with_items: "{{ ami_find.images | sort(attribute='name') | list }}" Все отлично сортирует. Как мне теперь взять из "{{ ami_find.images | sort(attribute='name') | list }}" последнюю запись и засунуть оную в переменную? Типа: - set_fact: ec2_ami = "{{ ami_find.images | sort(attribute='name') | list }}[-1]"
Oleg
А еще лучше - set_fact: ec2_ami = "{{ ami_find.images | sort(attribute='name') | list }}[-1].name"
checkdiff
А еще лучше - set_fact: ec2_ami = "{{ ami_find.images | sort(attribute='name') | list }}[-1].name"
| list | last а потом уже выцеплять name. И конечно лучше без set_fact'ов обойтись
Lamobot
А еще лучше - set_fact: ec2_ami = "{{ ami_find.images | sort(attribute='name') | list }}[-1].name"
"{{ (ami_find.images | sort(attribute='name') | list )[-1]['name'] }}"
checkdiff
А еще лучше - set_fact: ec2_ami = "{{ ami_find.images | sort(attribute='name') | list }}[-1].name"
Кстати можно в другую сторону. Сначала выцепить все имена, а потом уже сорт и ласт.