Olsen
Olsen
этот одновременно с твоим вопросом прилетел просто
Dmitry
мне так видится, что надо пометить таски тагами
Dmitry
которые устанавливают, тем проставить таги install. всё. и не теребить писюн, вытаскивая себя за волосы
Olsen
"when 'foo' in tags"
Dmitriy
мне так видится, что надо пометить таски тагами
неее, идея то в том, чтобы не запускать install, если про него не сказано
Dmitriy
а если ты теги не укажешь - то у тебя инсталл отработает
Dmitry
ну если хочет странного, то пусть попробует примерно так - name: blablabla tasks: - include: tasks/bububu.yml tags: - install
Dmitry
а, он хочет настолько странного, что это ему не поможет
Dmitriy
вроде уже чото такое пробовали
Dmitriy
ладно, думаю, что оно не решается в заданном виде просто
Dmitriy
порекомендую разбить роль на две
Olsen
а это часть кода или окружения?
Olsen
не, нафиг этот вопрос.
Olsen
пойду матчасть курить
Dmitry
может так? - include: install.yml when: install_whatever is defined и запускать ansible-playbook -i inventory site.yml -e "install_whatever=true"
Dmitry
нихрена не таг, но хотелку наверное залечит
Olsen
я ничего не понимаю кроме понимания что надо засесть и раздуплить.
Dmitry
иначе никак, when clause can't evaluate the presence of tags
Dmitry
хм... придумал :)
Dmitry
- shell: /bin/true register: lets_install - name: only run when tag shell: /bin/echo "hahaha" when: lets_install is not defined tags: install
Dmitry
не пробовал
Dmitriy
так-это ж не поможет :) это тоже самое, что и варку определить и потом через -e вызывать
Dmitry
ты уже попробовал?
Dmitriy
нет
Dmitriy
ну просто смотри, ты этим кодом делаешь что ты говоришь - всегда делай инсталл
Dmitry
а вот я короче попробовал
Dmitry
но ты можешь продолжать дальше пробовать интерпретировать в уме :)
Dmitriy
как оно работает? если ты пишешь —tag=install - то видишь хахаха, а если не пишешь - то не видишь?
Dmitry
шелл http://dpaste.com/3NR9VSC.txt
Dmitry
site.yml http://dpaste.com/1ZJCAM8.txt
Dmitry
в inventory просто test1
Dmitry
как оно работает, видно в шелл сессии
Dmitry
без тэга TASK [Only run when tag is specified] ****************************************** skipping: [test1] с тэгом TASK [Only run when tag is specified] ****************************************** changed: [test1]
Dmitry
не знаю, что тут еще добавить
Dmitry
но ты держись там, здоровья, хорошего настроения :) ну просто смотри, ты этим кодом делаешь что ты говоришь - всегда делай инсталл
Dmitriy
я не пони, как это работает, но работает
Dmitriy
круто
Dmitry
очередная хитрожопость ансибла :(
Dmitriy
завтра попробую понять, интересно ж
Dmitry
да оно в общем-то примерно понятно, как
Dmitry
смотри, shell: /bin/true выполняется всегда, так? и регистрирует успешное выполнение в lets_install, так?
Dmitry
- shell: /bin/true register: lets_install
Dmitry
теперь смотрим дальше - name: Only run when tag is specified shell: /bin/echo "Only running because of specified tag" when: lets_install is not defined tags: install
Dmitry
что тут написано? что shell /bin/echo (или любая другая поебень) будет работать только если lets_install не определено. но оно определено выше, в register от /bin/true поэтому без указания тэга не срабатывает
Dmitry
ибо не попадает под условие when
Dmitriy
ааа
Dmitry
а дальше сраная магия. если указать tag, то оно нахер перекрывает всё :)
Dmitry
и срабатывает
Dmitriy
ты крутой, я уже вроде говорил :)
Dmitriy
прекрасный костылик
Dmitry
даже не очень магия
Dmitry
просто в - shell: /bin/true register: lets_install ведь нет тага install? значит этот таск не срабатывает, значит не заполняется register :D
Dmitry
значит срабатывает when ниже :)
Dmitriy
я бы конечно за такие неочевидные решения убивал, но круто :)
Dmitriy
Серега, ты если читаешь - не надо такое использовать у нас :)
Denis 災 nobody
это то откуда
я добавил, автобаннить за голосовые мессаги
Denis 災 nobody
и
Denis 災 nobody
любителей
Denis 災 nobody
писать
Denis 災 nobody
так
yopp
первое ещё куда ни шло, а вот второее это нацизм
Dmitriy
это правильный, хороший нацизм
Dmitriy
я категорически поддерживаю
Denis 災 nobody
не можешь выразить мысль менее чем в 10 сообщений - иди в школу
Dmitry
баньте
Dmitry
меня
yopp
это чятик, а не мейл лист
Dmitry
я
Dmitry
такой
Dmitry
хуйни
Dmitry
написал
Dmitry
выше :)
Denis 災 nobody
или как минимум используй переносы
Denis 災 nobody
код можно выделять отдельно
Denis 災 nobody
речь именно про "фразу из 10 слов я способен выдать только в 10 сообщений"