@pro_ansible

Страница 112 из 625
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
есть в папка defaults/main.yml, где я могу писать переменные или даже массив с key->value есть папка vars, где я могу пистаь тоже самое, в чем смысл и разница? между папками defaults, vars.
defaults можно использовать для описания всех переменных роли и значений по умолчанию и кладется в гит. Когда тестируете новые значения или применяете на серверах, где нужно указать другие конкретные значения, то переопределяете их в vars и не портите историю в гит.

Александр
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
То есть мне нужно обновиться с 2.0 до 2.2 и мне не придется устанавливать питон 2 в 16.04?
Сначала нужно проверить работают-ли нужные модули под python3

zhag
04.12.2016
21:26:33
Serge
04.12.2016
21:40:35
Там поддержка 3 питона не появилась,
Говорят в 2.2 экспериментально

Они этим два модуля сломали, пока пилили

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

Dmitry
04.12.2016
23:39:09
- hosts: all gather_facts: False tasks: - name: Ставим ебучий второй питон! raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
чото как-то ниочинь. лучше бы в pre_tasks и не забыть - setup: а потом tasks: начинать

Max
05.12.2016
05:22:10
чото как-то ниочинь. лучше бы в pre_tasks и не забыть - setup: а потом tasks: начинать
Ток тогда в плейбуке не будут работать всякие переменные хоста

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

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

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
А чтобы задать переменную, которая нужна только в роли и вычисляется из остального контекста?

ip хоста и ansible - это о разном
А? Реальная жизнь... Напоминаю

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
я могу рассказать обратную сторону, когда реальная жизнь у вас случилась и вы раскидали варки по куче мест

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
Да, потому что DRY
но не KISS в вашем случае, к сожалению

Сложность 100 хостов и 20 окружений ведь.

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

Semyon
05.12.2016
08:11:36
если я мысль понял, то не надо усложнять

чем проще, тем лучше

пусть не драй, зато просто

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

Dmitriy
05.12.2016
08:12:56
котаны, а это я что-то не так делаю, или действительно в подавляющем большинстве случаев нет никакого смысла выдрачивать плейбуки под переносимость между дистрибутивами, делать их максимально "общими" и всё такое?
плейбуки сами по себе должны делать то, что от них требуется - и не больше :) если требуется уметь работать с двумя дистрами - ду ит, чо уж. Хотя у нас вся логика в ролях обычно, плейбуки только включают роли и пре\пост таски

Не понял мысль
Прости, это был переход на личности

Страница 112 из 625