
Max
04.12.2016
17:30:17
не надо ))

Александр
04.12.2016
17:30:41

Max
04.12.2016
17:30:47
а зачем? )))

Александр
04.12.2016
17:30:56
Кругозор

Google

Max
04.12.2016
17:31:03
ну попробуй )
вдруг понравится
они по идеологии похожи

Александр
04.12.2016
17:32:21
Тут просто кто-то хвалил его

Max
04.12.2016
17:34:48
он меньше всего умеет
но зато умеет быстро

Pavel
04.12.2016
17:37:33
А кто как реюзает роли на своих проектах? Я щас через ansible-galaxy делаю, но неудобно что на каждую роль надо создавать отдельный репозиторий. Может есть какой-то более прямой путь?

Phil
04.12.2016
17:41:46
А еще есть фабрик. Он прикольный

Александр
04.12.2016
17:45:12

Serge
04.12.2016
18:19:35

Александр
04.12.2016
18:23:40
Если требуется повторяемость конфигурации на одних и тех же хостах и именно возможность повторения, то да, согласен.

A
04.12.2016
18:30:35
у меня есть shoutcast, ансиблем не менеджу, пофиг.

Google

zhag
04.12.2016
21:05:54
Там поддержка 3 питона не появилась,
?

Vlad
04.12.2016
21:14:42
в 2.2 начальная появилась:
ansible localhost -m ping -e 'ansible_python_interpreter=/usr/local/bin/python3'
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}

zhag
04.12.2016
21:19:41
То есть мне нужно обновиться с 2.0 до 2.2 и мне не придется устанавливать питон 2 в 16.04?
- hosts: all
gather_facts: False
tasks:
- name: Ставим ебучий второй питон!
raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)

Vlad
04.12.2016
21:25:44

zhag
04.12.2016
21:26:33

Serge
04.12.2016
21:40:35
Они этим два модуля сломали, пока пилили

zhag
04.12.2016
21:42:30
Медленно они как-то

Dmitry
04.12.2016
23:39:09

Max
05.12.2016
05:22:10
Так шо лучше отдельный плейбук сделать на hosts:all с установкой пейтона

Dmitriy
05.12.2016
07:00:21
Про defaults, vars, все остальные места, где можно задать variables и линтер.
Нет разницы, какие конкретно места вы используете для задавания переменных. Есть разница, если все пользователи НЕ используют одни и те же места. В некотором идеале есть defaults у роли - и ещё только одно место, где вы переменные переопределяете. Если этих мест больше - вы сами себе злобный буратино

Serge
05.12.2016
07:31:34

Dmitriy
05.12.2016
07:40:59
Использование... многоточий... делает любую хуйню... глубокомысленной...
И загадочной... непременно загадочной...

Serge
05.12.2016
07:47:58
Никакой загадки. Просто много кода - следствие большого количества бизнес требований, площадок, хостов и легаси, накопившегося за время написания. А также необходимости иметь некоторую изоляцию.
Поэтому, в реальной жизни используется всё: и варс, и дефолты, и переменные групп, и хостов
Просто всему своё место
А вот переменные и правда не стоит путать, а задавать каждую в каком-то одном месте. Как-то так.

Google

Serge
05.12.2016
07:51:57
This is still the best way to organize hosts and groups in Ansible for me https://speakerdeck.com/lig/efficient-ansible-host-groups-organization

Dmitriy
05.12.2016
07:57:08
> Поэтому, в реальной жизни используется всё: и варс, и дефолты, и переменные групп, и хостов
я вот этого наелся в своё время - поэтому сейчас использую только defaults и group_vars

Alexander
05.12.2016
07:57:33
и хост варс
иногда надо)

Dmitriy
05.12.2016
07:57:57
вот из-за таких послаблений потом можно огрести
есть defaults - есть group_vars

Alexander
05.12.2016
07:58:30
ну а что делать если мне надо только на 2 хоста из 10 разлить 2ух юзеров?
например

Dmitriy
05.12.2016
07:58:48
отдельная группа заводится, например :)

Alexander
05.12.2016
07:59:08
чет не думал об этом

Dmitriy
05.12.2016
07:59:16
или, как мы сейчас решили
внутри группы отдельная варка с конкретными хостами

Serge
05.12.2016
07:59:18
А чтобы ip хоста прописать тоже группа?

Dmitriy
05.12.2016
07:59:54
ip хоста и ansible - это о разном

Serge
05.12.2016
07:59:56
А чтобы задать переменную, которая нужна только в роли и вычисляется из остального контекста?

Dmitriy
05.12.2016
08:00:54
Я тоже в реальной жизни живу, напоминаю
В любом коде можно наплодить говна, оправдывая это реальной жизнью

Serge
05.12.2016
08:01:32
Это может быть хостнейм, который резолвится только после прохода через ssh bastion, например
Id уникального хоста в aws

Dmitriy
05.12.2016
08:02:24
по-прежнему не понимаю, как тут может помешать разумное ограничение в хранении переменных в одном определенном месте

Google

Dmitriy
05.12.2016
08:02:49
я могу рассказать обратную сторону, когда реальная жизнь у вас случилась и вы раскидали варки по куче мест

Serge
05.12.2016
08:02:54

Dmitriy
05.12.2016
08:03:15
Г - логика

Serge
05.12.2016
08:03:16
Просто каждая переменная определяется один раз

Dmitriy
05.12.2016
08:03:19
я её не вижу всё еще

Serge
05.12.2016
08:04:00
Я вопрос задал. Куда пихать hostname конкретного хоста
Группа с одним хостом?
Тогда это будет усложнять только и делать неочевидным наличие этой группы

Admin
ERROR: S client not available

Serge
05.12.2016
08:05:14
А чтобы задать переменную, которая нужна только в роли и вычисляется из остального контекста?

Dmitriy
05.12.2016
08:05:17
А как у вас это решено?
У нас есть группы с одним хостом. Мастера в разных кафках и зк, например.

Serge
05.12.2016
08:06:10
Как я пишу. У переменных есть смысл. Каждая задается или вычисляется в своем месте. Естественно, для каждой переменной оно своё

Dmitriy
05.12.2016
08:06:47
Что мешает вычислять что-то в одном месте?

Serge
05.12.2016
08:06:51
Ну и смотри слайды выше

Dmitriy
05.12.2016
08:07:01
в тех же груп_варс _или_ в хост_варс?

Serge
05.12.2016
08:07:10

Dmitriy
05.12.2016
08:07:59
Ох
Ещё и зависимости ролей

Google

Serge
05.12.2016
08:08:16
Обязательно

Dmitriy
05.12.2016
08:08:19
Я всё понял.
Вот что бывает, когда программист берётся делать работу админа

Serge
05.12.2016
08:08:48
Или мне копипастить установку nginx для каждого типа хоста?

Semyon
05.12.2016
08:09:19
котаны, а это я что-то не так делаю, или действительно в подавляющем большинстве случаев нет никакого смысла выдрачивать плейбуки под переносимость между дистрибутивами, делать их максимально "общими" и всё такое?
у меня вот есть две инфры, одна на центоси, вторая на убунте

Dmitriy
05.12.2016
08:09:43
Сложность 100 хостов и 20 окружений ведь.

Semyon
05.12.2016
08:09:56
когда мне надо что-то раскатать на убунту из того, что я уже раскатывал на центось мне НАМНОГО проще написать новый плейбук

Serge
05.12.2016
08:10:15

Semyon
05.12.2016
08:11:36
если я мысль понял, то не надо усложнять
чем проще, тем лучше
пусть не драй, зато просто

Serge
05.12.2016
08:12:20
Сложность 5 окружений примерно и около 15 групп. Хостов больше, но там группами в основном, да

Dmitriy
05.12.2016
08:12:56

Serge
05.12.2016
08:13:36