Alex
мы например так делаем для артифактори - name: Wait for Artifactory http port become online uri: url: "http://localhost:8081/artifactory/api/system/ping" method: GET register: artifactory_check_http_result until: artifactory_check_http_result.status == 200 retries: 10 delay: 15
checkdiff
А подробнее?
Перепутал. Проблема есть https://pastebin.com/WUjv82zZ
Dmitriy
В чем именно проблема?
собственно хочу сделать playbook, который будет устанавливать различные версии java. Собственно с получением номера версии проблем нет, а как выполнять таски согласно номера ? ну если версия 123 то ставим yum install 123, если версия 321 ставим по другому(и другие конфиги(
Egor
мы например так делаем для артифактори - name: Wait for Artifactory http port become online uri: url: "http://localhost:8081/artifactory/api/system/ping" method: GET register: artifactory_check_http_result until: artifactory_check_http_result.status == 200 retries: 10 delay: 15
ну я сделал то же самое, только через внутренний кли, пока он мне не ответит - я буду пробовать повторять дейтсвие раз в 5 секнуд
Egor
пока, как мне видится, самый прстой вариант
Timur
А переменная строковая
Timur
Добавьте кавычки
Dmitriy
А переменная строковая
да, я выше писал что в этом беда, но не знаю как решить.
Dmitriy
Добавьте кавычки
попробую, спасибо
Dmitriy
Добавьте кавычки
увы, и двойные и одинарные не спасли
Timur
Подробнее?
Dmitriy
Подробнее?
https://pastebin.com/t2DuhVPP
Dmitriy
готовил ответ, не хотел полотно сюда постить )
Egor
а дай линк ещё раз на оригинал?
Timur
А не =
Egor
при сравнении же == надо, а не =
Egor
хах
Egor
пока листал выше :-)
Dmitriy
да я пробовал, сейчас еще раз заменил (version.value=='321'), так же пропускает
Dmitriy
может там пробелы между значениями и равно надо ?
Alexander
when: not openstack_vm_check.ansible_facts.openstack_servers Не подходит?
Изменил на это. Неопределенная переменная совсем не подходит
Dmitriy
сравнение делается через ==
такая же ситуация, skipped=2
Timur
Покажите вывод
Egor
ты же через промпт делаешь переменные
Egor
и там какой нейм стоит, такая переменная и будет
Egor
https://pastebin.com/Qr09ezzt
Egor
вот такой ямл тебе однозначно показывает, что переменная вершн не дефайнится вообще
Egor
зато переменная юзернейм содержит всё твоё "барахло" введённое
Egor
https://pastebin.com/TyvqJYg1 - выхлоп
checkdiff
Перепутал. Проблема есть https://pastebin.com/WUjv82zZ
Нашел, что это особенность jinja2. https://github.com/ansible/ansible/issues/30366#issuecomment-331028451
Alexander
То есть?
То есть Сергей был немного неправ
Dmitriy
Покажите вывод
https://pastebin.com/bjNCH1JE
Timur
https://pastebin.com/bjNCH1JE
Вам правильно сказали. Вы не ту переменную смотрите
Dmitriy
https://pastebin.com/TyvqJYg1 - выхлоп
не совсем понял если честно.
Dmitriy
а все, понял...минуту, проверю...
Egor
https://pastebin.com/KniN5uuY
Egor
полностью рабочий
Dmitriy
полностью рабочий
работает, спасибо, получается не надо было делать register, prompt назначает значение введенной переменной значению, указаннгому в name
Denis 災 nobody
[DEPRECATION WARNING]: Invoking "apt" only once while using a loop via squash_actions is deprecated. Instead of using a loop to supply multiple items and specifying name: "{{ item }}", please use `name: ['libghc-zlib-dev', 'gperf',...
Denis 災 nobody
неожиданно
Denis 災 nobody
This feature will be removed in version 2.11.
Dmitriy
да, https://docs.ansible.com/ansible/latest/user_guide/playbooks_prompts.html
недочитал, буду иметь ввиду, спасибо
Div
добрый день коллеги. пытаюсь создать задачу cron на удаленной машине с помощью соответствующего модуля и получаю ошибку синтаксиса. подскажите пожалуйста как экранировать два двоеточия в строке job: "command "param1::param2.param3" -v key" ?
Антон
Коллеги, нужна помощь - у меня почему-то твориться какой-то бред есть плейбук, вначале он из окружения берет переменную: - name: create new-employee hosts: vpnserver gather_facts: no vars: commit_message: "{{ lookup('env', 'CI_COMMIT_MESSAGE') }}" vars_files: - new_employee_info/{{ commit_message }}.yml
Антон
при запуске получаю вот такое: ERROR! vars file new_employee_info/{{ commit_message }}.yml was not found on the Ansible Controller.
Антон
при этом один раз это сработало
Sergey
при этом один раз это сработало
Тебе сюда: https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html#gotchas
Антон
Тебе сюда: https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html#gotchas
все несколько веселее =/ переменная в окружении содержить перенос стоки - и поэтому все ломается... осталось найти как его вырезать в ансибле...
Антон
а, вроде оказалось не сложно =)
Egor
мисклик
Timur
С версии 2.7
Denis 災 nobody
хм, 2.7 давно использовал..
Denis 災 nobody
правда, с yum
Timur
С yum аналогичная картина
Timur
Нужно непосредственно список пакетов передавать в модуль сразу, а не вызывать его в цикле
Denis 災 nobody
весной с 2.7 такого не помню
Denis 災 nobody
ну вообще хорошо если они списки научились напрямую
Denis 災 nobody
может существенно ускорить установку
Timur
весной с 2.7 такого не помню
https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.7.html#using-a-loop-on-a-package-module-via-squash-actions
Denis 災 nobody
нуок, может просто не видел... или там где запускал было только 2.6
Anonymous
подскажите, в awx версия ansible прибита? т.е. чтобы повысить версию нужно обновить awx?
Anonymous
переформулирую вопрос. можно в tower/awx обновить версию anisble без обновления самого tower/awx?
Anonymous
желательно малой "кровью"
Timur
переформулирую вопрос. можно в tower/awx обновить версию anisble без обновления самого tower/awx?
Честно говоря, не пробовал, но думаю, что должно быть возможно
Anonymous
перепаковать образ... такое себе развлечение...
Антон
народ, правильно ли я понимаю что когда я в задаче пишу delegate_to то у меня ансибл сначала подключиться к текущей машине, а уже с нее будет выполнять шаг в котором указано delegate_to?
Anonymous
угу
Anonymous
иногда это удобно. например, есть доступ к одному хосту, но нет доступа к остальным хостам.
Антон
а вот так вообще может работать? delegate_to: server1 become: no remote_user: user1