@pro_ansible

Страница 223 из 625
Anatoly
21.06.2017
11:56:17
изложите плиз тогда, а какую проблему Вы решаете?
выше говорили про то что можно разделять пер юзер. я спросил как.

Pavel
21.06.2017
11:58:20
тут сначала надо понимать в чем задача...

lastsky
21.06.2017
11:59:19
пока я увидел потребность разделять per-user. а проблема сходу не видна.

Google
Pavel
21.06.2017
11:59:23
у нас, например, валут нужен для того чтобы хранить ключи-сертификаты в свн (понятно, что в открытом виде - это дичь)

так вот те, кто занимается деплоем имеют ключи для ваулта и без проблем имеют доступ к "секуре данным"

реально фируются только те данные, которые "приватные"

lastsky
21.06.2017
12:01:29
ну можно при этом и в CI заряжать перешифрованный файл с переменными, поменял переменные - прошел скриптом перешифровал - передал CI свой (собственный, отдельный для неё) vault pass.

и вполне можно проверять на дубли этот файл, простейшим плейбуком перед запуском. если инженеры не хотят между собой общаться и договариваться об именах переменных.

но всё это кривые решения по большому счету и страшные костыли. проблем нет когда файл с сенситив датой один, пароль vault знают все кто работает с этим репозиторием. если прям нужно разделять разрабочтиков - можно разделить их по репозиториям, пароль на один репозиторий ansible останется один, всё тупо и просто.

короче, упрощайте (с)

Pavel
21.06.2017
12:20:59
короче, упрощайте (с)
вот из детства, почитайте... http://www.lib.ru/RUFANT/ROSOHWATSKIJ/nadezhnost.txt_with-big-pictures.html

как-то запало.... в "технике молодежи" вроде было

не знаю помнит ли кто еще такой журнал....

@lastsky ни в коем случае, не с подъебом, просто во всем нужна мера сам не сторонник слишком сложных выебосов....

lastsky
21.06.2017
12:26:20
не, я ничего нового не сказал вообще

Pavel
21.06.2017
12:26:57
Google
lastsky
21.06.2017
18:27:26
попробовал ANSIBLE_USE_PERSISTENT_CONNECTIONS=True, среднее время выполнения 15-минутного плейбука осталось таким же. а кто-нибудь получил ощутимый результат?

Pavel
21.06.2017
19:09:49
почитай про ssh pipelining

lastsky
21.06.2017
19:16:08
ага, спасибо. у меня он включен по дефолту везде. [ssh_connection] ssh_args = -o StrictHostKeyChecking=no pipelining = True

Hackru
21.06.2017
19:17:28
ну так у тебя время тратится видать не на хендшейк ssh-ный, а на последовательное(синхнронное) выполнение ролей

пока все хосты в группе таск не выполнят, ансибл дальше не бежит

lastsky
21.06.2017
19:22:49
да, таски синхронно на всех серверах выполняются.

lastsky
21.06.2017
19:25:39
в общем-то я и так рефакторю, уменьшая количество тасков, ролей, группируя через with_items, операции копирования / темплейтинга в одну задачу (однако иногда требуется всё таки не перемешивать вообще всё)

Алексей
21.06.2017
19:25:42
для серверов не работает вроде как

lastsky
21.06.2017
19:27:32
ага, спасибо, понятно теперь

и дока нужная сразу отгуглилась



Алексей
21.06.2017
19:30:51
я тоже надеялся на ускорение

увы

ускорение конечно произошло. но пока я не замерял... :)

Hackru
21.06.2017
19:31:26
а что мешает пуллить, а не пушить?

Алексей
21.06.2017
19:31:46
пулл это про солт и паппет

Hackru
21.06.2017
19:32:06
а что мешает тебе запустить ансибл локально на каждой тачке?

через pdsh какой-нибудь

lastsky
21.06.2017
19:33:11
интересная мысль, надо обдумать. однако для этого придётся много переписать :)

Google
Wom
21.06.2017
19:41:14
fact_caching_timeout - кто в какой ставит?

Hackru
21.06.2017
19:41:14
в целом ты можешь вызывать ансиблом удаленный ансибл



lastsky
21.06.2017
19:42:06
да я чот весь день сегодня гоняю простой плейбук, и устал ждать по 15 минут. не знаю, salt чтоли попробовать ещё раз поплеваться.

Hackru
21.06.2017
19:42:37
может тебе обмазаться тегами и гонять только то что изменилось по тегам?

Matvey
21.06.2017
19:43:17
а как асинхронное выполнение включить?

lastsky
21.06.2017
19:44:40


Hackru
21.06.2017
19:45:26
ну вот если ты поменял что-то оттеганное, гоняй только теги которые изменил

lastsky
21.06.2017
19:45:39
я просто хотел меньше контролировать мозгом что там делается, запустил плейбук, он всё что идемпотентно не поменял.

Max
21.06.2017
19:46:27
реальность против....

Hackru
21.06.2017
19:46:39
а как асинхронное выполнение включить?
псевдокод: for element in inventory do ansible --limit=element & done

lastsky
21.06.2017
19:46:58
был инцидент, я обычно и гонял с тегами как всегда, и с лимитами по серверам. внезапно... выяснилось что на части серверов конфиги несвежие.

как и когда это произошло - не разобрать. ну, точнее, разобрать конечно, но цель не оправдывает средства.

Hackru
21.06.2017
19:50:01
но если принять во внимание твою попоболь выше, то наверное стоит всё же синхронно гонять, лол

чтобы хендлеры синхронно срабатывали

lastsky
21.06.2017
19:52:57
а как асинхронное выполнение включить?
http://docs.ansible.com/ansible/playbooks_async.html тута примеры

Matvey
21.06.2017
19:55:12
спасибули

Алексей
21.06.2017
20:00:58
плейбук закрытый ?

Google
Алексей
21.06.2017
20:01:08
дай почитать :)

lastsky
21.06.2017
20:01:09
угу, NDA.

Алексей
21.06.2017
20:01:13
эх

ну ладна

lastsky
21.06.2017
20:01:37
там по сути ставятся пакеты, деплоятся конфиги, правятся хосты, катится всякий стафф. стандартные модули, всё из stable.

Алексей
21.06.2017
20:01:53
по сути это 99% плейбуков такие

lastsky
21.06.2017
20:04:23
вот да. и в общем-то я там уже оптимизировал такие штуки как copy + template, можно template'ом копировать с тем же успехом и в with_items поместить списки. это всё ускоряет, но не особо. основное время уходит на копирование файла. ну и forks у меня заведомо больше чем серверов.

Admin
ERROR: S client not available

Max
22.06.2017
07:29:14
Идите в канал, и, не джойнясь, репортите на спам

dmage
22.06.2017
14:10:36
господа такой момент. есть строчка - debug: msg="{{ hostvars[groups [ ('hostgroupname') ][0]] }}"

только при ране в одной роли выдается куцый жсон

в ране другой - гигантский жсон с кучей инфы

в хостс в [hostgroupname] лежит 1 айпишник

подскажите, почему так?

+ момент: буквально поменял одну хостгруппу на другую в этой строчке, как поведение изменилось. полный WTF

Oleksandr
22.06.2017
14:26:23
очевидно у тебя в этой группе есть group_vars файл и там больше переменных

dmage
22.06.2017
14:26:32
групварс нет точно нигде

разница между жсонами колоссальная

Oleksandr
22.06.2017
14:27:38
а ну еще может быть что ты много set_facts юзаешь, которые выкинутся тебе в твоей строке - кстати.

Google
Oleksandr
22.06.2017
14:27:52
ну это должно быть неприлично много

dmage
22.06.2017
14:27:55
сет фактс не юзаю

буквально вынес эту строку первой таской в ролях

Oleksandr
22.06.2017
14:28:37
че за дичь тогда ? так не бывает... разный набор переменных может быть только тогда когда реально задаются групварс

НО

сделай диф по json выхлопу

и сразу обозначишься, откуда у тебя они берутся

dmage
22.06.2017
14:29:23
когда жсон большой - выводятся все факты про машинку, как и ожидается

когда жсон маленький - выводится буквально 10-20 строчек жсона

я не понимаю как на этих данных выяснить откуда берется маленький жсон и почему он берется

Oleksandr
22.06.2017
14:30:03
явно влияет место расположения и откуда ты ее вызываешь

dmage
22.06.2017
14:30:12
и почему простая замена имени хостгруппы на это влияет

Oleksandr
22.06.2017
14:30:13
из роли или pre_task or post_tasks

dmage
22.06.2017
14:30:23
в хостс 2 хостгруппы, по 1 айпишнику в каждой

Oleksandr
22.06.2017
14:30:30
если нет group_vars то не влияет

dmage
22.06.2017
14:30:46
групварс 100% нет и не используется тут

Oleksandr
22.06.2017
14:30:52
это логическая проблема

dmage
22.06.2017
14:31:05
вот и у меня WTF

Oleksandr
22.06.2017
14:31:12
диф блин сделай и усе увидишь откуда приплывают новые факты

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