Aleksey
“Python 2 is the next COBOL.”
Aleksey
нет я питоно3хейтер
Sergey
Коллеги, а релиз ansible 2.5 стабильный или ещё нет? И python 3 поддежка stable уже есть, или на 2.7 сидеть?
в 2.5 проблемы с членством хостов в группах. коллега обновился ввиду убунты, дык у него гейзенбаг был с этим - когда плейбук тупо всё пропускает и не применяет ничего к хостам.
Pavel
😳 а я как жопой почувствовал - когда 2,5 прилетела не обновился, а выключил репозиторий чтобы случайно не обновиться, так на 2.4.3.0 и остался
Asten
Из танка по репозиторию? Есть же pip install 'ansible<2.5'
Pavel
Pavel
вот анзибловску репу отключил и все
Konstantin
Всем привет. Как решить проблему в тимплейтах когда строчки после if/for съезжают вправо и все выглядит как Г 🙂 ?
Konstantin
Т.е. решение есть - после if/for оставить пустую строчку, но это так себе решение. В конечном файле в большом конфиге выглядит не очень..
manefesto
а пример есть ?
Konstantin
Konstantin
Konstantin
В первой картинке в for без -, не знаю как попало 🙂
manefesto
мне кажется просто твой редактор криво выставляет табы
Konstantin
Atom. И там реально пробелы, в гите и в консоле все норм
manefesto
у меня циклов нет. но мне кажется виноват редактор
manefesto
ну никак не for
Konstantin
Не думаю что редактор. У знакомого такая же проблема была, у него не Атом.
manefesto
я честно не сталкивался с таким
Konstantin
Konstantin
Konstantin
вот пример с пустой строкой
Konstantin
буду копать дальше
Alex
Пробелы перед jinja тегами убери
Konstantin
http://jinja.pocoo.org/docs/2.10/templates/#whitespace-control
Asten
Именно поэтому проще поставить через pip и не отрубать репы...
Sergey
буду копать дальше
Не надо копать (хотя если ты хочешь копать - я тебя, конечно, не отговорю никак). Просто оставлю это здесь - http://jinja.pocoo.org/docs/2.10/templates/#whitespace-control.
Sergey
и вот ещё вкусняшка: https://ansiblemaster.wordpress.com/2016/07/29/jinja2-lstrip_blocks-to-manage-indentation/
Konstantin
и вот ещё вкусняшка: https://ansiblemaster.wordpress.com/2016/07/29/jinja2-lstrip_blocks-to-manage-indentation/
Вот это, кстати, самое приятное решение. Игра с - почти решает проблему, одна строчка так и не хотела вставать на два пробела левее…
Ievgen
Я когда генерил то же самое, форы выровнял по левому краю, а вставки оставил форматированными относительно окружающего xml получилось норм
Ievgen
Но это костыль конечно
George
Скажите, а кто-то с debops'овыми ролями работал? Они выглядят как очень тщательно написанные, но как их начать использовать не понятно.
Nklya
Их много, и они сильно завязаны друг на друга как я помню
Me
Господа, есть такое инвентори: [lvs] lvs01 ansible_host=192.168.122.186 lvs02 ansible_host=192.168.122.3 [lvs:vars] haproxy_vip="192.168.122.122" Есть такая же role: - name: configure Keepalived and HAProxy on LVS hosts: lvs roles: - {name: lvs, tags: lvs} При попытке сделать import_role переменные не импортируются.
Me
Или это нормальна практика и все переменные нужно прятать в vars/ ??
Stas
друзья, можно как нибудь удалить 1 таской все файлы в директории не удаляя её саму?
Stas
[WARNING]: Consider using the file module with state=absent rather than running rm. If you need to use command because file is insufficient you can add warn=False to this command task or set command_warnings=False in ansible.cfg to get rid of this message.
Stas
если сделать rm -rf /path/*
Stas
он ворнинги сыпет
Stas
а делать 2 таски, одной которой файндом собираешь каталоги внутри а второй удаляешь
Stas
в цикле
Stas
я считаю зашкварчик
Andrey
If you need to use command because file is insufficient you can add warn=False to this command task or set command_warnings=False in ansible.cfg to get rid of this message.
Andrey
в чем проблема-то
manefesto
друзья, можно как нибудь удалить 1 таской все файлы в директории не удаляя её саму?
вот такой лайфхак http://manefesto.blogspot.ru/2018/04/cleanup-folder-with-ansible.html
manefesto
with_items тут реально неожиданное применение нашло
Ievgen
вообще внезапный with_items
Ievgen
спасибо за идею
Stas
спасибо)
manefesto
я сам где то взял её на просторах интернета мне надо кэш было чистит у ларавела
manefesto
и тут на тебе, кошерное решение
Andrey
а еще можно не доводить все до абсурда
manefesto
ну шел шелом, но надо правильно уметь готовить ансибл. Думаю можно что-то придумать и гитом
manefesto
у меня тоже было на шеле кое что, например копирование с хоста на хост через rsync, потом почитал мануалы и сделал правильно через synchronize
George
@Stan, ты что-то странное говоришь. Перменные из инвентори в import_role должны быть доступны, если они не переопределяются где-то внутри самой роли (role/vars, например).
manefesto
читаю best practice и возник вопрос, как сделать глобальные переменные для всех ролей ? при этому плейбуков у меня с десяток уже
George
Для "всех ролей" неправильная форулировка. "Для всех плейбуков"?
manefesto
ну да
manefesto
group_vars ?
George
Тогда положи их в group_vars/all для хостов.
George
Или даже в инвентори, в районе [all:vars].
manefesto
ну инвентори колпуать не охота, то есть в принципе достаточно group_vars/all/main.yml или как ?
manefesto
аааа
manefesto
нашел
manefesto
all.yaml
Nklya
можно даже без расширения
George
Ага. Учитывай только порядок переопределения.
George
Yaml без расширения - дурной тон (нарушение best practices).
manefesto
не факт
George
@Stan, пиши микропример (инвентори и роль с debug'ом).
manefesto
Nklya
а за засовывание переменных в инвентори нужно бить по голове
George
@Nklya, не согласен. environment-specific переменные в inventory быть и должны. Например, если есть production & staging, то где хранить имя окружения?
Salem
Да, я бы не отказался от более strict правил для ansible. Слишком много путей сделать одно и то же
George
Хорошо написанные плейбуки не требуют доработки (где-либо в переменных) при добавлении environment'а.
manefesto
ну вот