
Pavel
11.03.2017
15:50:33
2 commits
?

Phil
11.03.2017
15:50:45
git clone
make install

Pavel
11.03.2017
15:53:37
Это самое крутое что я видел по соотношению звезд и функциональности.
В репе лежат 3 файла gitignore, readme, license
......... => ?60

Dmitrii
11.03.2017
16:38:20
Снова ансибл хуесосили?

Google

Pavel
11.03.2017
16:39:21
скорее джангу ?

Paul
11.03.2017
16:43:21
с удовольствием посмотрю на инструмент, который не хуесосят. И который при этом реально используется.


Serge
11.03.2017
22:08:11
Кстати, вот как надо относиться к сообществу https://twitter.com/GitHubHelp/status/840675186802319361
А вот другой мой любимый тредик.
https://twitter.com/lig1/status/801483475656310786
Краткое содержание:
- исправьте баги
- помоги
- так вот же PRы, осталось только смержить
- если с чем-то не согласен, иди в IRC
...
Ладно, пойду багу в Pyventory исправлю.
Кстати, я придумал как его сделать вообще офигенным.
Короче, стабилизирую, добавлю фичу изоляции скоупов разных переменных и тогда загоню всё снова в yaml.
Только тогда название Pyventory теряет смысл, но что же делать, так исторически сложится;)
Идея со скоупами растет отсюда https://speakerdeck.com/lig/efficient-ansible-host-groups-organization
Смысл в том, чтобы контролировать, что переменная используется только в своем контексте.
То что относится к области проведения приложения не должно переопределяться в области конфигурации окружения, например


Albert
11.03.2017
22:28:40
Мы решили проблему с разными env с помощью плейбуков. Просто готовим роли под продакшен, а на стейджинг просто еще один плейбук делаем и rewrite на нужные параметры
А в многих случаях такой надобности нет... Просто отличий между прод и стейдж практически нет

Google

Serge
11.03.2017
22:48:56

Albert
11.03.2017
22:50:11
А кто петин код смерджил?

Serge
11.03.2017
22:50:11

Albert
11.03.2017
22:50:43
Нехерь Пете херню писать. На это конвенции пишутся
А если по конвенции не пишешь, то пусть свою херню в другом месте пишет

Serge
11.03.2017
22:51:23
А кто петин код смерджил?
Ну, так лучше иметь явное ограничение на уровне Пети, чем надеяться, что ревьювер не забыл употребить свои утренние вещества

Albert
11.03.2017
22:51:59
Ансибл не говорит тебе как писать
В этом то и преимущество

Serge
11.03.2017
22:52:16

Albert
11.03.2017
22:53:48

Serge
11.03.2017
22:53:56
В этом то и преимущество
Я согласен. И нисколько не собираюсь заставлять кого-то писать как я. Просто хочу сделать полезный инструмент, который поможет автоматизировать проверку некоторых конвенций, в том числе той, которую я успешно использую
А я говорю про конкретную фичу, которая решает конкретную проблему
Не надо делать?
Вредно?

Albert
11.03.2017
22:56:18
Ну посмотрим что получится...
Хотя если проект как стоник напишет то же что и сам ансибл делает, то смысла я в нем мало вижу

Serge
11.03.2017
22:57:52

Albert
11.03.2017
22:58:19
Я бы хотел видеть что то вообще другое. Например то что ансибл не позволяет делать - использовать jinja2 полностью везде, а не только в темплейтах

Google

Serge
11.03.2017
22:58:23
Так то и в ансибле смысла тогда нет. Он же то же самое, что fabric делает

Albert
11.03.2017
22:59:24
Как тут уже говорили - ансибл лучшее из всего что есть
хоть и сам го***

Serge
11.03.2017
22:59:40
Вот, кстати, в fabric именно так

Albert
11.03.2017
23:00:04

Serge
11.03.2017
23:00:17
Это императивный код

Albert
11.03.2017
23:00:43
Убрать when, block, и похожее, и использовать просто jinja2

Serge
11.03.2017
23:02:03
Вот чего в ансибле действительно не хватает, чтобы на новый уровень перейти - это работы с состоянием. Но это уже отдельный очень жирный разговор за многие куски его архитектуры и разные возможные понимания стейта.

Albert
11.03.2017
23:02:16

Serge
11.03.2017
23:03:10

Albert
11.03.2017
23:03:16
Ыместо when и with_* использовать if и for

Serge
11.03.2017
23:04:05
В свое время в Позитиве об это много копий поломали
В if у джинжи в общем случае слишком большая свобода. Там можно что-то вычислять.
With_items - синтаксический сахар для декларативного кода
Вообще, я бы совсем убрал джинжу из плейбуков. Оставил бы возможность обращаться к элементам и всё.
Там бы иметь возможность переменные дергать по имени из переменной и достаточно.
Надо смотреть на разные кейсы, конечно, но идти надо в усиление декларативности и облегчение написания своих модулей.
Декларативный и императивный код надо разделять как можно более явно.

Dmitry
12.03.2017
04:56:23
программирования на конфигах срач? одобряю! :)))

Magistr
12.03.2017
06:56:38
@lig11 а вы фичу ансибла с тем что переменные можно в 16 местах объявить будете реализовывать или порядок там наведете ?

Google

Serge
12.03.2017
07:54:03
Но точно будет четкая область видимости

here1am
12.03.2017
16:36:21
чуваки, а как вы одну и ту же роль растягиваете на несколько наборов тэгов? к примеру, я хочу сделать так, чтобы один и тот же демон запускался в несколько инстансов с разными конфигами и на разных портах
хотел ещё спросить, а смотрю, уже всё на месте https://docs.ansible.com/ansible/letsencrypt_module.html

Serge
12.03.2017
16:49:51

Admin
ERROR: S client not available

here1am
12.03.2017
16:53:04
не, второе не нравится
есть пример реализации второго варианта? каждому шагу скармливать with_items не очень хочется

Serge
12.03.2017
16:53:57
Тогда учить роль тому, что сервиса N копий
не, второе не нравится
Ну оно бывает полезно не для одного сервиса, а когда правда два разных окружения в один хост пихаешь. Если сможешь изолировать, то оно даже работать так будет
Типа в main.yml инклюдишь item.yml, который рядом лежит
В main можно приготовить что-то общее перед или после include, может быть полезно

here1am
12.03.2017
17:00:16
хм. что-то я за полгода совсем ансибль забыл. спасибо, кажется понял, что делать

Serge
12.03.2017
17:04:50
Только помни, оно будет выполнять каждую операцию внутри этого файла, как будто на неё наложили этот with_items, а не по порядку всё для каждого.
Это не for, это размазывание with_items по каждой инструкции внутри включаемого файла

here1am
12.03.2017
17:06:10
чем это чревато? медленнее или мне обязательно переменную принимать в каждой инструкциия?

Serge
12.03.2017
17:16:35

Lomakin
12.03.2017
17:33:37
Привет всем помогите с докером, лабу надо сделать...?

Google

Lomakin
12.03.2017
17:33:54
Знаю что не по теме

Serge
12.03.2017
17:41:37

Алексей
12.03.2017
17:42:10
Чобы не задать вопрос с @ru_docker ?

Lomakin
12.03.2017
17:42:37
Алексей Большое спасибо

here1am
12.03.2017
18:06:52

Igor
13.03.2017
08:00:56
Коллеги, а как копировать файл на удалённом хосте с одного места на другой?)
copy - с локального сервера на удалённый
fetch - с удалённого на локальный

Pavel
13.03.2017
08:10:25

Igor
13.03.2017
08:10:55
Command не индемпотентен

Pavel
13.03.2017
08:13:54
copy: remote_src=true... (added in 2.0)

Igor
13.03.2017
08:20:05

Anatoly
13.03.2017
08:20:29
synchronize еще есть

Pavel
13.03.2017
08:20:49

Anatoly
13.03.2017
08:23:00

Pavel
13.03.2017
08:23:57
и все... если просто скопировать надо, зачем что-то еще?
я ж не спорю, можно всегда рсинком пользоваться

Anatoly
13.03.2017
08:25:02

Hackru
13.03.2017
10:08:06