Alex
да дело не в деньгах. При зп 5к+ вообще не вопрос
Alex
Но платить за плагин каждый месяц - не хочу и не буду из принципа ))
Aleksandr
Sergey
Каждый сам решает, как и чем работать.
Sergey
И это такая холиварная тема, что предлагаю закрыть обсуждение.
Anton
Anton
модуль увидел, но коннекта нет
Sergey
Ты в чат линзу не отправил, чтобы смотреть. Хорош уже скриншоты слать, есть pastebin или что там тебе удобно.
Sergey
Следующий скриншот = RO на сутки.
Gleb
Alex
Alex
Хотя perpetual fallback license немного спасает
Alex
у меня сейчас кровь из глаз потечет )))
Максим
Дмитрий
Господа. Добрый день. Тут AWX юзают? Или только консольники?
Андрей
Кто-то юзает для определенных задач
Дмитрий
Спасибо. Я новичок в этом деле. Кто то может посоветовать дельный кастом скрипт по инвентаризации? Т.е. выявление всех машин в сети. Нашел примеры на Ютуб но по какой то причине у меня не срабатывает. Предполагаю что из за того что не ставится wesocket через pip3. Указано что должно быть установлено.
Дмитрий
Андрей
вы говорите о динамическом инвентори? конечно существует
Андрей
в официальной доке Ansible можно прочитать
Андрей
Она находится тут: https://docs.ansible.com/
Дмитрий
вы говорите о динамическом инвентори? конечно существует
Ну видимо да. В общем задача следующая. Планируем переход части машин на линукс. На машины будем ставить впн. Так же туда будем загружать открытый ключ для авторизации. При появлении машины в сети, нужно чтобы ансамбль сам добавлял ее в инвентаризацию. Для дальнейшего управления. Т.к. машины будут юзаться юзерами. Ансамбль думаю подходит для целей типа включить/ отключить монтирование usb накопителей. Ограничении каких то действий. Загрузки файлов и пр.
Андрей
Ansible подходит для 95% задач по автоматизации
Андрей
Sergey
Дмитрий
Full
Народ, дайте подсказку.
Есть плейбук, который создает виртуалки. Хочу дополнить его условием, чтоб плейбук скипался в полном объеме, если виртуалка с таким именем уже существует.
Можно дописать when в каждую таску, или вынести все таски в отдельный файл, и инклюдить с условием, или обернуть в block.
Вопрос в обработке условия. Лучшего способа проверить существование виртуалки, чем собрать факты про нее, я не придумал.
И вот когда ее нет - таска vmware_guest_facts ожидаемо фейлится:
test | FAILED! => {
"changed": false,
"msg": "Unable to gather facts for non-existing VM U18.04LTS.test"
}
Вопрос, как это нормально обработать.
ignore_errors позволит поехать дальше, а вот за что зацепиться в выводе - не пойму.
Div
Народ, дайте подсказку.
Есть плейбук, который создает виртуалки. Хочу дополнить его условием, чтоб плейбук скипался в полном объеме, если виртуалка с таким именем уже существует.
Можно дописать when в каждую таску, или вынести все таски в отдельный файл, и инклюдить с условием, или обернуть в block.
Вопрос в обработке условия. Лучшего способа проверить существование виртуалки, чем собрать факты про нее, я не придумал.
И вот когда ее нет - таска vmware_guest_facts ожидаемо фейлится:
test | FAILED! => {
"changed": false,
"msg": "Unable to gather facts for non-existing VM U18.04LTS.test"
}
Вопрос, как это нормально обработать.
ignore_errors позволит поехать дальше, а вот за что зацепиться в выводе - не пойму.
если вы создаете вмки на esxi, то он сам не даст создать вмку с идентичным именем.
Div
ну так any_error_fatal или как то так.
Full
Так это фейл, а мне нужен скип.
Full
>а именна откуда берутся ?
Не понял вопроса.
>Можно же условие поставить, что если такое имя есть, то ничего не делать
О том и вопрос. Только чтоб узнать, что такое имя есть - его нужно поискать. Модуля, который просто ищет имена, я не нашел.
Можно, конечно, с динамическим инвентори заморочится, но это оверкилл в данном случае, КМК.
Div
Full
Это понятно. Я к тому, что это слишком жирно для такого простого кейса.
Александр
как в ansible в файл templates/example.yml.j2 вставить многостроковую переменную?
Div
Div
например
Александр
циклом for
А есть другой способ? Вообщем у меня есть конфиг, который вставляется в разные конфиги, так текст одинаковый.
Full
Имена придумываю, пишу в инвентори.
Пожалуй, мне не удастся донести, какое поведение я хочу получить.
Александр
а так можно?Если да, то как?
Sergey
Александр
Мои файлы:
templates/main.config.j2
templates/second.config.j2
в templates/main.config.j2 пишу:
конфиг бла-бла
...
{{templates/second.config.j2 }}
...
Вот так?
Full
Шаблон в шаблон инлюдом можно вставить, ЕМНИП.
Div
{% include 'second.config.j2' %}
Sergey
Александр
Sergey
да
https://jinja.palletsprojects.com/en/2.11.x/templates/#include
Vladimir
Александр {% include 'file2.j2' %}
{% include 'file3.j2' %}
Александр
спасибо
Vladimir
file2
{% for item in ansible_play_batch %}
{{ hostvars[item].ansible_host }} {{ item }}
{% endfor %} file3 #########end file###########
Sergey
ога, велкам
Дмитрий
Всем привет
Подскажите, как можно в ansible отрулить ситуацию справами на папку в volumes.
volumes:
- /data/files:/home/app/folder
Ansible ставит root права на folder. Нужно чтобы остались права как при билде контейнера без ansible
Div
можете вернуть права на папку с помощью модуля file
Full
Решил вот так:
- name: Check if VM exists
vmware_guest_facts:
...
delegate_to: localhost
register: guest_info
ignore_errors: true
- name: Print info
debug:
var: guest_info
when: guest_info.failed
Timur
Народ, дайте подсказку.
Есть плейбук, который создает виртуалки. Хочу дополнить его условием, чтоб плейбук скипался в полном объеме, если виртуалка с таким именем уже существует.
Можно дописать when в каждую таску, или вынести все таски в отдельный файл, и инклюдить с условием, или обернуть в block.
Вопрос в обработке условия. Лучшего способа проверить существование виртуалки, чем собрать факты про нее, я не придумал.
И вот когда ее нет - таска vmware_guest_facts ожидаемо фейлится:
test | FAILED! => {
"changed": false,
"msg": "Unable to gather facts for non-existing VM U18.04LTS.test"
}
Вопрос, как это нормально обработать.
ignore_errors позволит поехать дальше, а вот за что зацепиться в выводе - не пойму.
Почитайте немного про идемпотентность
Timur
Full
Не с вмварью.
Full
В ряде случаев это слово там не работает. В модулях для вмвари. Сходу пример не приведу, просто отложилось в памяти.
Timur
Timur
Что еще нужно?
Timur
Какой из модулей не дает идемпотентность по-вашему?
Full
Еще нужно пачку тасков, следующих за созданием машины, тоже скипнуть. Если бы дело было только в модуле vmware_guest, я бы это не затевал.
Timur
Timur
Они тоже должны быть идемпотентными просто
Full
Должны, я согласен.
К сожалению, это не так.
Full
Ладно, смотри, из того, что сходу всплыло.
vmware_guest при создании машины не проставлял раньше свойство "Connect at power on" для сетевых карт при создании машины. А при повторном применении с теми-же параметрами на уже созданную машину - проставлял. Идемпотентность.
Были еще кейсы, сейчас не вспомню.
Anton
Коллеги, никто не подскажет как результат fail в delegate_to заставить быть не на хосте из которого был delegate_to а именно на той на которой собственно выполнялся?
Full
Выскажу предположение - ты можешь сделать register: result, и дальше модулем fail с условием сфейлить нужный хост, например.
Anton
Full
Я с телефона, не воспроизведу сейчас.
shadow
народ в tower кто-нибудь создавал vcenter inventories?
shadow
я не могу понять как фильтровать по тэгам
Andrey
подскажите, что-то заткнулся, пытаюсь просто файл скопировать по sudo, в домашнюю директорию но все замирает
- name: Ansible copy file to remote server
become: yes
copy:
src: /etc/kubernetes/admin.conf
dest: ~/.kube/config
Igor
вангую дело в ~