Timur
when: my_var когда переменная my_var - не пустая строка
Timur
Все эти проверки работают корректно ожидаемым образом, кроме последней
Timur
when: not my_var на непустой строке выдает exception типа undefined variable
Mikhail
тут явно что то нет так
Timur
Это баг в ансибле
Timur
Причем, воспроизводится он только на простых переменных
Mikhail
я про одинаковые условия и разные результаты
Timur
Если переменная типа hash, как часть словаря - для нее все 4 варианта работают корректно
Mikhail
when: my_var когда переменная my_var - пустая строка
Mikhail
when: my_var когда переменная my_var - непустая строка
Timur
И?
Mikhail
а,понял, затупил
Timur
По умолчанию пустая строка должна автоматически определяться при проверке как False, а непустая - как True
Timur
И это работает во всех случаях, кроме when: my_var, когда my_var - непустая строка
Timur
when: not (not my_var) работает как нужно :)
Timur
Если my_var - часть словаря, то тоже все работает
Timur
when: my_dict.my_var - такая конструкция тоже работает без проблем
Alex
@tgadiev ты решил во все чаты написать?
Timur
???
Vadim
господа, тут можно о джунопроблемах говорить?
George
можно
George
и нужно
Andrey
Бойся, в Гугле пошлют
Vadim
в наследство достался проект, там для разворачивания используется ансибл, раньше никогда его не использовал, вот пытаюсь понять, что не так тут
Timur
господа, тут можно о джунопроблемах говорить?
Только закрепленное сообщение желательно прочитать
Vadim
нет, у меня сразу есть конкретный вопрос. вот есть inventiry/hosts, там ip машин, где следует исполнять сценарии плейбуков. запускай плейбук, но на выходе, как я понял, сообщение о том, что только на одной машине выполнено
Vadim
Tadeusz
слишком прозрачно )
Timur
Timur
Дайте нормальный выхлоп плейбуки полностью
George
сама ошибка не видна
George
он завалился где-то выше, явно
Vadim
есть нюанс: все перечисленные ip - это не ip отдельных машин, это всё одна машина
Vadim
так, сорри
Vadim
сейчас
Timur
Вот сюда лучше заливать: https://pastebin.com/
George
о, ёёёё. страшно-то как
зачем вообще так делать!?
Timur
Чтобы тут простыни не постить
Vadim
там сначала почему-то apt-update заваливается, но хрен бы с ним, вопрос - почему только на одном адресе сценарий исполняется
George
он заваливается потому что он не конкурентен
Womchik
так валится, потому что другой уже выполняется
George
apt по умолчанию ставит лок
Timur
Первая сессия запустила менеджер apt, он включил лок - все остальные сессии при попытке сделать то же самое были посланы нафиг
Vadim
ага, значит на одной машинке такое нельзя провернуть?
Vadim
или без апдейта сработает?
Timur
Что именно такое?
George
какую задачу решаешь?
Vadim
там конфигурируется система под Hyperledger Fabric
Vadim
дело в apt?
Vadim
спасибо за мысль, парни, вы awesome
George
о, мы тоже фабриком занимаемся
George
для начала да
George
дело в apt
George
он фейлится, потом фейлится весь плейбук
George
можно заскипать код возврата апт, но это такое себе
Vadim
да там этот апдейт не сильно нужен, попробую без него
GithubReleases
ansible/ansible was tagged: v2.7.6 Link: https://github.com/ansible/ansible/releases/tag/v2.7.6 Release notes: New release v2.7.6
inqfen
Господа, есть кто-то, кто инвентори хранит в консуле?
Ivan
Привет! Есть таск command: ..... when: .... могу ли я ещё в этом же таске присвоить конкретной переменной конкретное значение? или следует отдельный Set_fact юзать?
inqfen
Set fact
inqfen
Если переменная не из вывода
inqfen
И старайся не юзать command
Ivan
Нет, register не прокатит.
Ivan
И старайся не юзать command
что лучше вместо него?
inqfen
Соответствующий модуль, если такой есть)
inqfen
На большую часть задач они таки есть
Александр
Можно ли задать в плейбуке - name без hosts?
inqfen
В смысле таск запустить?
Александр
В смысле таск запустить?
Нет, мне нужно чтоб оно просто показало имя плейбука. А потом идёт опять -name, но уже с другим именем и тасками.
inqfen
А, понял, но вроде тоже нет