
Konstantin
12.04.2018
06:38:32
Atom. И там реально пробелы, в гите и в консоле все норм

Maksim
12.04.2018
06:39:19
у меня циклов нет. но мне кажется виноват редактор
ну никак не for

Konstantin
12.04.2018
06:42:27
Не думаю что редактор. У знакомого такая же проблема была, у него не Атом.

Google

Maksim
12.04.2018
06:43:01
я честно не сталкивался с таким

Konstantin
12.04.2018
06:43:59
вот пример с пустой строкой
буду копать дальше

Alex
12.04.2018
06:53:16
Пробелы перед jinja тегами убери

Konstantin
12.04.2018
06:58:35
http://jinja.pocoo.org/docs/2.10/templates/#whitespace-control

Asten
12.04.2018
07:09:08
Именно поэтому проще поставить через pip и не отрубать репы...

Sergey
12.04.2018
07:18:00
буду копать дальше
Не надо копать (хотя если ты хочешь копать - я тебя, конечно, не отговорю никак). Просто оставлю это здесь - http://jinja.pocoo.org/docs/2.10/templates/#whitespace-control.
и вот ещё вкусняшка: https://ansiblemaster.wordpress.com/2016/07/29/jinja2-lstrip_blocks-to-manage-indentation/

Konstantin
12.04.2018
07:54:32

Ievgen
12.04.2018
08:14:49
Я когда генерил то же самое, форы выровнял по левому краю, а вставки оставил форматированными относительно окружающего xml получилось норм
Но это костыль конечно

Google

George
12.04.2018
08:51:02
Скажите, а кто-то с debops'овыми ролями работал? Они выглядят как очень тщательно написанные, но как их начать использовать не понятно.

Nklya
12.04.2018
08:52:31
Их много, и они сильно завязаны друг на друга как я помню

Stannis
12.04.2018
09:05:20
Господа, есть такое инвентори:
[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 переменные не импортируются.
Или это нормальна практика и все переменные нужно прятать в vars/ ??

Stas
12.04.2018
09:05:57
друзья, можно как нибудь удалить 1 таской все файлы в директории не удаляя её саму?
[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.
если сделать rm -rf /path/*
он ворнинги сыпет
а делать 2 таски, одной которой файндом собираешь каталоги внутри а второй удаляешь
в цикле
я считаю зашкварчик

Andrey
12.04.2018
09:08:26
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.
в чем проблема-то

Maksim
12.04.2018
09:10:46
with_items тут реально неожиданное применение нашло

Ievgen
12.04.2018
09:13:13
вообще внезапный with_items
спасибо за идею

Stas
12.04.2018
09:13:38
спасибо)

Maksim
12.04.2018
09:13:52
я сам где то взял её на просторах интернета
мне надо кэш было чистит у ларавела

Google

Maksim
12.04.2018
09:14:02
и тут на тебе, кошерное решение

Stas
12.04.2018
09:14:13

Andrey
12.04.2018
09:15:06
а еще можно не доводить все до абсурда

Maksim
12.04.2018
09:15:19
ну шел шелом, но надо правильно уметь готовить ансибл. Думаю можно что-то придумать и гитом
у меня тоже было на шеле кое что, например копирование с хоста на хост через rsync, потом почитал мануалы и сделал правильно через synchronize

George
12.04.2018
09:16:21
@Stan, ты что-то странное говоришь. Перменные из инвентори в import_role должны быть доступны, если они не переопределяются где-то внутри самой роли (role/vars, например).

Maksim
12.04.2018
09:17:04
читаю best practice и возник вопрос, как сделать глобальные переменные для всех ролей ? при этому плейбуков у меня с десяток уже

George
12.04.2018
09:17:35
Для "всех ролей" неправильная форулировка. "Для всех плейбуков"?

Maksim
12.04.2018
09:17:44
ну да
group_vars ?

George
12.04.2018
09:17:55
Тогда положи их в group_vars/all для хостов.
Или даже в инвентори, в районе [all:vars].

Maksim
12.04.2018
09:18:30
ну инвентори колпуать не охота, то есть в принципе достаточно group_vars/all/main.yml или как ?
аааа
нашел
all.yaml

Nklya
12.04.2018
09:19:06
можно даже без расширения

George
12.04.2018
09:19:10
Ага. Учитывай только порядок переопределения.

Stannis
12.04.2018
09:19:15

George
12.04.2018
09:19:36
Yaml без расширения - дурной тон (нарушение best practices).

Google

Maksim
12.04.2018
09:19:53
не факт

George
12.04.2018
09:20:08
@Stan, пиши микропример (инвентори и роль с debug'ом).

Maksim
12.04.2018
09:20:14

Nklya
12.04.2018
09:20:26
а за засовывание переменных в инвентори нужно бить по голове

George
12.04.2018
09:21:21
@Nklya, не согласен. environment-specific переменные в inventory быть и должны. Например, если есть production & staging, то где хранить имя окружения?

Salem
12.04.2018
09:21:22
Да, я бы не отказался от более strict правил для ansible. Слишком много путей сделать одно и то же

Nklya
12.04.2018
09:21:58

George
12.04.2018
09:22:10
Хорошо написанные плейбуки не требуют доработки (где-либо в переменных) при добавлении environment'а.

Maksim
12.04.2018
09:26:42
ну вот
точно кто-то рекламу канала запустил
а есть best practices по названию ролей и блейбуков ?
я использую что то типа {{action}}_{{type}}_{{group}}
то есть update_db_production
или deploy_test
Role Naming Conventions
Role names - Terse, one word if possible, use underscores if necessary.
Role task names - Terse, descriptive, spaces are OK and should be prefixed with the role name.

Stannis
12.04.2018
11:18:17
Господа
Подскажите все таки как импотироваить роль со всеми переменными?

Ievgen
12.04.2018
11:18:22
А короче в шоке, пора открывать issue "да вы ебанулись 2"
ну вот как так?
2 абсолютно разных модуля, с абсолютно разным назначением и параметрами

Google

Ievgen
12.04.2018
11:19:45
при этом в changelog ни слова об этом
не, отбой, походу с докуемнтацией косякнули

Mike
12.04.2018
11:23:59
ребят, а можно как-то без delegate_to в модуле syncronize задать пусть на ремоут хосте? типа
synchronize:
mode: pull
src: "ip_host:/tmp/test"
dest: "tmp/test"
просто если так делаю, то естественно он не находить сурс, а делать delegate_to на сорс хост не вариант, потому что впн и назад он не пушит данные... вариант только юзать shell: rsync?

Maksim
12.04.2018
11:24:31
Укажи через rsync
Src: rsync://
Я так делаю
Говорят можно даже через ssh прикрутить

Mike
12.04.2018
11:31:44
через rsync:// тоже пробовал возвращает
nrsync: did not see server greeting\nrsync error: error starting client-server protocol (code 5)
я ж так понял тогда надо rsync демон сам поднять?

Maksim
12.04.2018
11:32:11
Поставь значит rsync ну или включи его
Какая ос?

Mike
12.04.2018
11:32:56
центос 7

Dorian
12.04.2018
11:33:39
И вообще хранить переменные в инвентори это так себе идея ?

Sergey
12.04.2018
11:36:22
нормальная идея
в инвентори живёт всё то, чем конкретный инвентори отличается от другого такого же

Maksim
12.04.2018
11:39:52
центос 7
ну можешь тогда поверх ssh, что-то типа rsync -e "ssh"