Anonymous
таска
Александр
А в чём вопрос то
Александр
у вас with_items, он там выбирается
Anonymous
а если нет ['port']['ifname'], а вместо него нужно вывести ['port']['descr']?
Anonymous
что тут не так, парни?
Anonymous
в ансибле так не делают ? это плохой подход ? https://github.com/geerlingguy/ansible-role-mysql/blob/master/defaults/main.yml
Anonymous
иначе ансибл ругнется на неопределенную переменную
Александр
А откуда он узнает о переменной, если вы её не ввели
Александр
O_o
Anonymous
ну в смысле, как выбрать одну из двух, в зависимости от того, какая определена
Александр
Вам или одно или другое надо?
Anonymous
да)
Александр
Бляя
Pavel
обычный if же
Dmitry
{{ ['port']['ifname']|default(['port']['descr']) }}
Anonymous
тьфу ты, ну или if
Anonymous
да
Александр
Dmitry
Dmitry
я бы такой херней вообще не страдал
Александр
Ну, я например страдал херней, только другого плана
Dmitry
в крайнем случае в default фильтр сунул строковую константу "вася, ты еблан" :)
Pavel
http://docs.ansible.com/ansible/playbooks_conditionals.html - не об этом разве?
Александр
Ему нужно в дебаге делать вывод
Dmitry
Александр
там or помоему не работает
Dmitry
короче, пробуйте, как я написал
Anonymous
ну сейчас посмотрим
Александр
{{ ['port']['ifname']|default([]) }}
Александр
Можно было б и так\
Александр
только хз чего у вас выдает
Anonymous
просто одни свитчи выкидывают имя интерфейса в ifname, а у других там локальный индекс, а имя - в descr
Anonymous
немного ебануто
Dmitry
Anonymous
третьи вообще ifname не адвертизят
Александр
Anonymous
да, не работает
Александр
поидее имхо
Александр
😆
Dmitry
но у меня нет ебанутых свичей, конечно :)
Александр
😆
Александр
Мы нашли проблему, она в "ебанутых" свичах
Anonymous
сейчас разберусь))))
Александр
Свичи менять пойдёт видимо 😆
Anonymous
ага-ага)))
Denis 災 nobody
написать под разные свичи разные правила..
Denis 災 nobody
и выбирать..
Dmitry
раз http://dpaste.com/3VKMFES
Dmitry
два http://dpaste.com/2VWQ3X8
Dmitry
wtf?
Dmitry
я правильно всё понял?
Pavel
ну тут скорее вариант когда ничего не задано подходит
Anonymous
У меня еще вот такая фигня.
TASK [Gather information from LLDP] ********************************************
fatal: [b01n02]: FAILED! => {"changed": false, "failed": true, "module_stderr": "", "module_stdout": "Traceback (most recent call last):\r\n File \"/tmp/ansible__vz6lz/ansible_module_lldp.py\", line 85, in <module>\r\n main()\r\n File \"/tmp/ansible__vz6lz/ansible_module_lldp.py\", line 76, in main\r\n lldp_output = gather_lldp()\r\n File \"/tmp/ansible__vz6lz/ansible_module_lldp.py\", line 69, in gather_lldp\r\n current_dict[final] = value\r\nTypeError: 'str' object does not support item assignment\r\n", "msg": "MODULE FAILURE", "parsed": false}
Anonymous
похоже lldp модуль анзибля некорректно переваривает некоторые значения
Anonymous
но я уже с этим разгребаться не буду, пока хватит lldpctl
nvkv
Котаны, я тут обновил ansible до 2.1.1.1 и кажется больше не могу запровиженить тестовые коробки в вагранте
nvkv
он не видит роли
nvkv
хотя ANSIBLE_ROLES_PATH выставлен
nvkv
кто-то наступал на подобное?
nvkv
пришлось костылись через { role: "../common" }
nvkv
так работает
Stanislav
кури ansible.cfg
nvkv
целый ансибл цфг ради одного холодца резать не хочется
Dmitry
не пох ли, если в этом же репозитории лежит прям рядом с ролями
Dmitrii
А при использовании модуля ec2 можно как то получить текущий контекст переменных для новых в которой идет выполнение?
J
ребята не бейте тапками, как в плейбуке сделать путь универсальным. есть с десяток серваков нужно копировать файл по пути /var/www/core.dynamicname как задать в плей буке такой путь аля /var/www/core.~%
Magistr
dest="/var/www/core.{{ your-var }}"
J
оо спасибо а что нужно в your-var писать?
J
ну типа у меня полное имя так /var/www/core.hostnam1
J
и вот это хостнейм и номер меняется
Magistr
положи в переменную этот хостнейм или в словарь
Magistr
в доках глянь циклы
J
а у меня много хостов это что для каждого описывать надо?
Magistr
ну да, хостнейм из инвентори можно взять как варинт
nvkv
{{ ansible_host }} не подойдет тебе?