Timur
Один раз проще ручками сделать
Anonymous
Андрей будет жить. Поприветствуем!
Anonymous
@Adam389 будет жить. Поприветствуем!
Huan
привет всем, подскажите плз, можно ли для ec2 сделать dry-run?
Sergey
привет всем, подскажите плз, можно ли для ec2 сделать dry-run?
А что ты хочешь в этом случае получить/как звучит первоначальная задача?
Huan
задача простая, надо напиливать в авс инстансы, но перед этим надо сделать dry-run и увидеть изменения
Max
задача простая, надо напиливать в авс инстансы, но перед этим надо сделать dry-run и увидеть изменения
ансибл — не терраформ, ты увидишь не изменения, а только некоторый тест на корректность переданных параметров.
Sergey
Если сам модуль поддерживает, то ты увидишь все изменения.
Max
Если сам модуль поддерживает, то ты увидишь все изменения.
только вот вопрос, какой процент cloud модулей поддерживает --diff
Sergey
только вот вопрос, какой процент cloud модулей поддерживает --diff
В какой написаны были PR - такой и поддерживает. Это опенсорс 😉
Sergey
только вот вопрос, какой процент cloud модулей поддерживает --diff
https://github.com/ansible/ansible/blob/stable-2.8/lib/ansible/modules/cloud/amazon/ec2.py#L919 В теории вот этот конкретный модуль мог бы и поддерживать, достаточно вот эту дрянь исправить: https://github.com/ansible/ansible/blob/stable-2.8/lib/ansible/modules/cloud/amazon/ec2.py#L919
Max
какой я подлый ;)
Max
не понял аналогию.
Max
терраформ создает (компилирует) дерево изменений, и сравнивает его с состоянием. ансибл фигачит линейно по плейбуке. каждый модуль имеет свое мнение что такое changed.
Max
@corsars77, плиз, поясни что я не понял 👀
Huan
Есть такая пара ключей: —check —diff
это не работает с ec2 модулем 🙁
Sergey
Ну да, я даже ссылку привёл на код, где это сломано. Увы, ансибл в чистом виде здесь не поможет.
Anonymous
@RedShiba будет жить. Поприветствуем!
/warn
Привет. Есть такой маленький таск: - name: run unit tests command: "pytest {{ ansible_env.HOME }}/{{ zuul_project_dir }}/tests/unit" register: result failed_when: result.rc =! 0 Такую вещь вот возвращает: The conditional check 'result.rc =! 0' failed. The error was: template error while templating string: expected token 'end of statement block', got '='. String: {% if result.rc =! 0 %} True {% else %} False {% endif %} Что это значит, подскажете? Спасибо.
𝔹𝕠𝕣𝕚𝕤
!= вместо =!
/warn
Уже заметил, спасибо!
Alexander
Добрый день! Подскажите пожалуйста: я создаю пачку ВМ (vmware_guest) в консольке VMware получаю ошибку MAC Conflict, (пробовал указывать networks.mac: "{{ '00:50:56' | random_mac }}" - не помогает, конфликт появляется во время клонирования), таска запускается с delegate_to: localhost, в интернетах пишут, что можно добавить delay, чтобы ВМ не одновременно клонировались, не могу понять как это сделать? (для 5ти ВМ нормально работает таска, для 10 появляется ошибка)
John
парни, если у таска два тега first и second, плейбук запускается с ключами --tags=first --skip-tags=second, будет ли запускаться таск?
Денис
только что проверил
John
ясно. У меня ansible 2.8.0, видимо тоже придется по живому чекать
Max
я если тэги использую, то для экслюзивного использования.
Max
т.е. только для -t XOR --skip-tags
Max
обычно тэгаю только таски/тасклисты для образов vs для провиженинга на живой тачке.
Gleb
т.е. только для -t XOR --skip-tags
Вопросы: 1. XOR - в данном случае тэг? 2. Соль в том чтобы «skip» был без тэгов?
Max
ответы: 1. нет. в смысле при запуске либо используется -t либо --skip-tags. т.е. не приветствую одновременное использование обоих флагов. 2. соль в том, чтобы не предполагать, что тэги это какой-то sql-подобный механизм выбора тэгов. он примитивен. и это указано в документации.
Max
вообще тэги немного противоречат идее ролей. роли по "последним сводкам" должны быть (желательно) 'немодальными', т.е. неизменными до значения переменных.
Max
просто с тэгами удобно создать 1 плейбук, который можно запускать с разными тэгами, как будто это несколько плейбуков.
Max
мне кажется эта фича была по пьянке засунута.
Max
а потом народ пристрастился, и теперь Др. Ватсон без тэгов из дома не может выйти
Max
есссно это все мое сугубо субъективное 'имхо'
Max
Типа install/uninstall?
не, типа у тебя допустим плейбук поднимает hadoop кластер. в нем есть вызовы приенения разных ролей.
Max
может тебе oozie и pig на фиг не нужны.
Max
вот ты и пишешь код хитро, и запускаешь плейбуку с --skip-tags pig,oozie
John
вот она, "сила" тэгов.
Так себе сила) При подходе "либо, либо" все конечно же "ок". Но если я генерю конфиг VyOS, то первый деплой не может быть с кластером. По этому мне надо первый проход делать без него. А второй проход без него нельзя)
John
#почитаю пока хз) Там подход такой что конфиг генерится локально, а потом напалмом пихается в VyOS
Sergioss
Ребят а не подскажите как заэкранировать в роли {{ ?
Sergioss
Ребят а не подскажите как заэкранировать в роли {{ ?
Я прост седом меняю конф, а в конфе {{ фраза }}, и ансибл как переменную понимает (
Max
я не понял что ты хочешь, можешь дать пример?
Max
{{ '{{' }}
теперь понял что такое 'заэкранировать'. это escape.
Sergioss
{{ '{{' }}
Вот так надо, блин плохо гуглил я, ещё раз гугланул первая ссылка в Гугле( Сорри и спасибо
Lamobot
Ребят а не подскажите как заэкранировать в роли {{ ?
В jinja есть еще возможность через {% raw %} {% endraw %} выделять блоки текста
Sergioss
Из ансибла вызывается sed? 😵
Есть решение лучше?
Sergioss
Так если не поняли чего удивляетесь?)
Timur
Так если не поняли чего удивляетесь?)
Так в любом случае непонятно - зачем ансиблом дергать sed
Timur
Для поиска и замены есть модули
Sergioss
Есть если вы анально не огороженны
SM
Хортица? Ммм.. 😏
GithubReleases
ansible/ansible tagged: v2.8.2 Link: https://github.com/ansible/ansible/releases/tag/v2.8.2 Release notes: New release v2.8.2
Sergey
@Suncheez - неделя без медиа и стикеров: на мой взгляд, достаточно, чтобы поразмыслить, почему оффтопик-фигню сюда не нужно постить.
Sun
Эээ... А что я запостил? Я несколько дней назад писал в прошлый раз
Sergey
Вот только что пересылку с видосом от тебя удалил.
Sun
Ой, прошу прощения, промазал, наверное. Извините.
Sergey
Ок
Anonymous
Тебя тож обманули?
Max
а в ответ - тишина ...