Anonymous
?
Dima
- include: file-with-tasks.yml
Dima
постоянно так делаю :)
он похоже больше про тэги спросил
Anonymous
не
Anonymous
я про что-нибудь типа
- include: file.yml
delegate_to: hostname
шта
Anonymous
ну бля, лень к куче задач дописывать delegate_to
ты предлагаешь хардкодить хостнеймы в ролях/плейбуках?
Anonymous
не, там delegate_to: '{{ vm_ip }}' будет
Pavel
я обычно эту магию делаю спайкой hosts в плейбуке и инвентори
чяднт?
Anonymous
работаешь в нормальной конторе
Anonymous
где не надо делать хуйню из-за уебанского инструментария
так а тебе что мешает делать также?
Anonymous
вот надеюсь завтра оффер прилетит
Anonymous
но пока что надо решать проблему. и наверно ещё две недели после оффера
отпуск возьми
Anonymous
в мае невыгодно
если оффер придет, тебе уже на текущем месте работы все равно будет
Anonymous
но бабла прилетит больше за оставшееся время и за неиспользованный отпуск
Anonymous
а тут ещё майские праздники, все дела, поди пол-остатка проотдыхаю за просто так
Ilya
Привет! Возможно ли сделать flush_handlers для одного хоста из play_hosts? Например один хост мастер и для него в ветке надо отдельно немного инициализацию сделать.
Alf 🙀
Alf 🙀
Например
Ilya
В любом случае надо разделить master и slave роли. Давно было пора это сделать )
Alf 🙀
Alf 🙀
Если не совпадает то и не работает
Alf 🙀
Можно в инвентари варс все запихнуть
Ilya
не. если ты делаешь flush_handlers. То это значит запустить хендлеры. а в хендлерах inventory проверяться ведь не будет.
Alf 🙀
Alf 🙀
Иначе скипед
Ilya
так не работает у меня так ) Запускаются все хендлеры на все хосты. Есть when или нет.
Alf 🙀
Ilya
вот как у тебя в примере было написано. Это не работает.
Ilya
может конечно зависит от версии... В 2.2 по крайней мере
Alf 🙀
Интересно, завтра поковыряю спасибо
Ilya
Как у себя роли разведу, могу пример playbook'а скинуть
Aleksey
не горжусь. можно как то лучше ?
Арсен
vim лучше
Sergey
Sergey
не горжусь. можно как то лучше ?
можно набросать модуль для этого и положить его в предустановленный каталог, тогда Ансибл будет его автомагически подключать
Aleksey
а модуль будет делать получения интерфейса да ?
Aleksey
тоесть на dst хост надо будет притащить что нить типа python netifaces да ?
Арсен
нужно добавить обработку фейла первой задачи
Sergey
в принципе можно и так.
если я правильно понял, интерфейс всё равно выбирается путём обработки вывода таблиц маршртизации.
Арсен
Alf 🙀
Aleksey
Арсен
страхует от пусто таблицы маршрутизации?
Aleksey
Magistr
а если ип консула в днс положить ?
Aleksey
а как это поможет ?
Sergey
потому что факты о единичном интерфейсе содержат вот это :
"ansible_eth0": {
"active": true,
"device": "eth0",
"ipv4": {
"address": "192.168.10.2",
"broadcast": "192.168.10.255",
"netmask": "255.255.255.0",
"network": "192.168.10.0"
},
"macaddress": "52:54:00:5c:c1:36",
"module": "virtio_net",
"mtu": 1500,
"pciid": "virtio0",
"promisc": false,
"type": "ether"
}
Aleksey
для единичного можно не морочится ибо
consul_iface: "{{ ansible_default_ipv4.interface}}"
Sergey
ну да.
а там, где не единичный - по network проверяй, какой именно нужен
Sergey
такой вариант решения подойдёт?
Aleksey
для единичного консул нормально забиндится на дефолтный. а вот там где не единичный там тупо правильный нужен. и вот критерии праивльности дурные.
Sergey
?
Aleksey
если у нас они в броадкасте то можно просто как ты говоришь сравнить сети
Aleksey
а если они не в броадкасте ? боюсь тут будет слишком сложное допущение
Sergey
а нужен ли такой хоккей? то есть насколько часто такая конфигурация используется?
Aleksey
публичный плейбук. я не доконца котролирую поведение и топологию где разворачивается плейбук
Sergey
понял.
случается такая фигня.
тогда я бы на твоём месте забил спокойно. хотите нормально - отдайте крутилки. хотите сидеть на своих крутилках - делайте лучше сами.
Игорь Пинчук
ansible 2.2 + vagrant.
В рамках плейбука использую geerlingguy.mysql
и получаю ошибку, что geerlingguy.mysql в рамках include_vars инклудится в итоге не в рамках своей роли, а в рамках всего плейбука.
втф?
Игорь Пинчук
- name: Include OS-specific variables.
include_vars: "{{ item }}"
with_first_found:
- files:
- "vars/{{ ansible_os_family }}.yml"
skip: true
when: ansible_os_family != "RedHat"
Игорь Пинчук
Вот конкретно этот кусок из гирлингов в итоге пытается тянуть файл из корня проекта
Игорь Пинчук
а не из роли
Sergey
потому что правильно делать не так, а вот так - http://docs.ansible.com/ansible/include_vars_module.html
Sergey
там прям нерусским по белому пример
Иван
Привет всем)
разворачиваю Ansible
Выполняю ansible open-servers -m ping для тестов
А мне вылезает
172.21.1.2 | FAILED! => {
"changed": false,
"failed": true,
"module_stderr": "Shared connection to 172.21.1.2 closed.\r\n",
"module_stdout": "Switched SMACK label to _ for user root\r\nTraceback (most recent call last):\r\n File \"/tmp/ansible_5yA5mh/ansible_module_ping.py\", line 49, in <module>\r\n from ansible.module_utils.basic import AnsibleModule\r\n File \"/tmp/ansible_5yA5mh/ansible_modlib.zip/ansible/module_utils/basic.py\", line 68, in <module>\r\n File \"/usr/lib/python2.7/shlex.py\", line 35\r\nSyntaxError: Non-ASCII character '\\xdf' in file /usr/lib/python2.7/shlex.py on line 35, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details\r\n",
"msg": "MODULE FAILURE",
"rc": 0
}
Скажите, кроме кодировки файла, в чём ещё может быть проблема?
Модуль raw, например, нормально работает
Sergey
ерунда с версиями ансибла?
Max
а на чём сервера то?