Tadeusz
Elinka22
Как нибудь можно сделать это покороче?
shell: programname {% if my_long_item_variable is defined %}-g {{ my_long_item_variable | default ('default_value') }}{% endif %}
Суть в том, что таких if может быть штук 10 и тогда строчка получается ацки длинная. Просто утыкать всё дефолтными значениями без if нельзя, потому что некоторые ключи не комбинируются между собой
Ievgen
дефолт походу не сработает
Ievgen
ты уже проверяешь что переменная определена в ифе
Ievgen
if my_long_item_variable is defined
Ievgen
внутри этого ифа | default ('default_value') никогда не будет отрабатывать
Ievgen
это на вскидку
Ievgen
комбинация ключ переменная всегда содержит 1 ключ и одно значение? или может быть command_name -a some_variable -b som_other_variable ?
Ievgen
или тебе надо собрать в итоге строку из ключей релевантных переменным при условии что переменная определена?
Elinka22
Elinka22
Есть в гугле работа чере макросы, но я бы не хотел пока туда влезать.
Elinka22
И не уверен что это применимо к таскам
Ievgen
я бы возможно сделал отдельный таск типа set_fact и list из dictionary с парами ключ/переменная и в том одельном таске предварительно собирал командную строку в зависимости от того какие переменные определены как то так, потому что да инлайн jinja это не очень красиво
Elinka22
Нуууу, да, как вариант можно попробовать. Спасибо!
Ievgen
на самом деле не зная зачем, сложно что то более интересное придумать, может можно вообще подругому все запилить, генерить конфиг файл для команды с нужными параметрами итд итп вариантов 100500 всегда
Nklya
шелл это сам по себе нехороший вариант
Elinka22
Иногда шел очень удобно.
Ievgen
кстати а почему shell а не command ?
Ievgen
у тебя там пайпы и прочая лабудень?
Elinka22
Не помню почему именно я остановился на шелле. С command были какие то загвоздки. Именно для такого типа тасков.
Nklya
Когда в плейбуках сплошные шелл, получается баш на YAML
Aleksey
люблю такое.
Elinka22
На вкус и цвет... )
Sergey
Elinka22
Sergey
Где что?
В Аснбиле таска, напиcанная через shell, начинает болеть уже при написании. Это bad practice.
Vladimir
Где что?
Возможность запускать плейбук тысячи раз без ущерба инфраструктуре
Elinka22
Tadeusz
Никак
matt
без shell’a никак
matt
вот и я об этом
Sergey
а если параметры модуля перечитать? 😉
http://docs.ansible.com/ansible/latest/yum_module.html
matt
disable_gpg_check?
matt
инсэйн сесурити
Sergey
enablerepo есть, disablerepo тоже есть, update_cache есть.
каким образом сюда относится disable_gpg_check - хз.
Sergey
Elinka22
Gleb
Andrew
700
Gleb
Nklya
В принципе заворачивание в шелл "yum -q makecache ...." не самое худшее, что можно придумать
Womchik
ну да. заворачивание в шелл rm -rf хуже
Vladimir
Господа, подскажите где я тупой, https://pastebin.com/dvWczKXk
Vladimir
А получаю d--S--x-wT.
Nklya
у мода нолик в начале
niko
вероятно ты хотел 0257
Vladimir
нет, мне нужен setgid
Vladimir
как раз
Vladimir
Это для сайта же
Nklya
А еще грешно пользоваться пастебином в 2017))
Vladimir
chmod 2570 отработает отлично
Vladimir
будет r-xrws---
Vladimir
Но ансибл что то мутит лютое просто
niko
да похоже он не умеет setgid и setuid в принципе)
Vladimir
Спасибо :)
niko
попробуй текстом задать
mode= "u=rx, g=rwx, o-rwx, g+s"
Vladimir
Не арбайтен, говорит либо символами либо числа
Vladimir
Ну я поправил немного посмотрим
Vladimir
r-xrws---
Nklya
https://blog.dbrgn.ch/2014/6/17/setting-setuid-setgid-bit-with-ansible/
Womchik
в плейбуке вроде 0 нужен в начале обязательно
Vladimir
Nklya
Комментарии
Vladimir
Предлагали уже, не захотел что-то, еще раз попробую, может я туплю
Vladimir
хммм, работает вроде, значит я криво что-то сделал сразу
Vladimir
Ievgen
можно не делать а просто сказать update_cache=true модулю yum
Ievgen
если цель не просто обновить кэш а гарантировано утащить свежий пакет
Ievgen
можно сказать disablerepo: что то или enablerepo: что то
Gleb
окей
цепляешь репку ну там mongodb 3.2
ставишь монгу
цепляешь репку mongodb 3.4
пробуешь обновиться
Sergey
Sergey
хоть заобновляйся 😉
Sergey
прицепи репку монгодб, где пакеты по версиям лежат, и обновляйся спокойно 😊)))
Gleb
кажется я знаю как появилась репка с таким количеством пакетов
http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/