@puppet_ru

Страница 58 из 112
Blue_Wolf
02.04.2018
05:06:59
Hello,

cant make the puppet agent run the site.pp that located in the puppetmaster the site.pp run correctly in master but looks like the agent ignore it any suggestions ?

Max
02.04.2018
17:00:16
Blue_Wolf проверь хостнейм агента

это самое простое что может быть

Google
dk
09.04.2018
07:00:42
А кто-то сталкивался с тем, что гит-репы в окружениях корраптятся и р10к радует сообщением "fatal: unable to read tree ..." (точнее, это гит пишет при выполнении команды checkout <hash> --force)?

Воткнул сейчас в выкатывалку rm -rf /tmp/r10k-cache/*, возможно, что это поможет

ptchol
09.04.2018
07:05:39
в 2к18

dk
09.04.2018
07:12:14
в 2к18
А чем плохо использование р10к в 2018 году?

Айтуар
09.04.2018
07:23:48
Привет. Подскажите как вы маштабируете паппет? Начал тормозить. У меня сейчас 16 цпу и 6ГБ. Хостов около 2000. Запущен через Passenger. Не хотелось бы нарасщивать вверх, есть ли возможность горизонтального маштабирования?

Айтуар
09.04.2018
07:26:19
а серты, чтобы общие были, через NFS кидать?

dk
09.04.2018
07:26:53
Там можно только одну ноду на ца

Айтуар
09.04.2018
07:27:28
О, значит не всё так просто получается.

Кстати, а если вместо ruby на java запустить, быстрее будет?

dk
09.04.2018
07:30:17
Так мастер и так на жруби

Для каждой группы агентов можно сделать свой мастер

Айтуар
09.04.2018
07:39:21
Спасибо. Будем думать.

Google
ptchol
09.04.2018
17:55:08
Господа у меня вопрос

как залукапить undef ключ хеша из хиеры чтобы потом по нему чекать условие if $var { lalala }

нэ ?

ясно понятно

Забавная история получается.

В модуле в инит классе, объявлена переменная как Optional[String] $var = undef далее в модуле чекается эта переменная прсотейшим образом типа if $var { action } Мы значит берем, и определяем её для диапазона нод. конечно у нас свой класс враппер небольшой который лукапит из хиеры структурки данных и дип мерджем мерджит их, и передает сразу на вход модулю хеш целиком с именами параметров. Что имеем на выходе. undef при лукапе из хиеры восприниматся почему то как empty string хотя в доке написано что наоборот, empty string = undef

ptchol
10.04.2018
05:17:19
dk
10.04.2018
05:24:39
class test1 ( Optional[String] $var1 = undef, Optional[String] $var2 = "", ) { if $var1 =~ String { notify { "var1_String": } } else { notify { "var1_Undef": } } if $var2 =~ String { notify { "var2_String": } } else { notify { "var2_Undef": } } } Info: Applying configuration version '1523337815' Notice: var1_Undef Notice: /Stage[main]/Test1/Notify[var1_Undef]/message: defined 'message' as 'var1_Undef' Notice: var2_String Notice: /Stage[main]/Test1/Notify[var2_String]/message: defined 'message' as 'var2_String' Notice: Applied catalog in 0.25 seconds

ptchol
10.04.2018
05:25:49
ты из хиеры задай 2 хеша

в одном задаю ключ

в другом оверрайтни андефом

и лукапни это дип мерджем

dk
10.04.2018
05:28:37
У тебя 5-й паппет?

ptchol
10.04.2018
05:28:40
причём важно лукапнуть хеш

да

dk
10.04.2018
05:37:02
[root@puppet data]# grep hash1 -rA2 . ./common.yaml:hash1: ./common.yaml- nullvar1: null ./common.yaml- -- ./common2.yaml:hash1: ./common2.yaml- nullvar1: "" ./common2.yaml- nullvar2: null [root@puppet data]# cat ../modules/test1/manifests/init.pp class test1 ( Optional[String] $var1, Optional[String] $var2, ) { $hash1 = lookup({ 'name' => 'hash1', 'merge' => { 'strategy' => 'deep' }, }) if $hash1['nullvar1'] =~ String { ...

Вот такое?

Но оно все равно получилось ожидаемо - undef и string

Google
ptchol
10.04.2018
05:40:37
Лукапни хеш, и передай его как * => $hash в этот класс

dk
10.04.2018
05:42:15
Или ты про замену "" на null? Такое не прокатит т.к. оно никогда не выберет андеф

ptchol
10.04.2018
05:44:43
Любой строки

Да

Нужно сделать её undef

dk
10.04.2018
05:56:12
Попробуй заменить deep на first для этих переменных

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

ptchol
10.04.2018
06:06:48
Немогу

Там дефолтные значения из врапера местами приедут

Придется все параметры переопределять явно

И как жить непонятно

dk
10.04.2018
06:55:34
Ну как же... Кубернетесы же :)

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

ptchol
10.04.2018
06:59:46
Да мы начинаем уже, но это время некоторое что бы бутстрапинг автоматический сделать

А тут модуль обновил и нате

dk
10.04.2018
14:01:39
А товарищи, которые мейнтейнят apt.puppetlabs вс уплс?

Нафига они агент заводят сразу в пост-инсталле деб-пакета?

ptchol
10.04.2018
14:12:16
потому что пакеты это хорошо

dk
10.04.2018
14:14:17
В центоси все норм же

Dmitriy
10.04.2018
14:23:45
Кстати, а если вместо ruby на java запустить, быстрее будет?
НЕТ! не быстрее. Сейчас в процессе перехода от puppet3 на passenger до puppet4 на jruby - и это жесть. на одном и том же каталоге - разница в перформансе почти в 2 раза, puppet4 медленнее

Google
Dmitriy
10.04.2018
14:27:11
Спасибо.
А по поводу масштабирования - завидите один CA, а уже сами сервера хоть сколько сетапьте. Главное чтобы они были зацеплены на один CA. Ну и каталог синхронизировать надо.

Dmitriy
10.04.2018
14:29:05
Через NFS?
Неа, у нас своя поделка на гит хуках, инкронах и прочем. На каждом мастере локальная копия гит репы

Если делать через NFS - кэширование будет мешать. На наших нагрузках это критично

Admin


dk
10.04.2018
14:31:00
Чего только не придумают, лишь бы на ансибль не переходить

dk
10.04.2018
14:43:44
На всех мастерах после пуша

Dmitriy
10.04.2018
14:45:10
А зачем так сложно, ведь можно просто р10к пинать
можно, в планах. Но пока - переход на puppet4, апдэйп puppetdb, переход на puppet 5 hiera 5 и опять апгрэйд puppetdb. И только потом r10k и прочее =)

dk
10.04.2018
14:45:52
можно, в планах. Но пока - переход на puppet4, апдэйп puppetdb, переход на puppet 5 hiera 5 и опять апгрэйд puppetdb. И только потом r10k и прочее =)
Что-то заморочно с паппетбд выходит, вы экспортируемые ресурсы используете? В чем ценность?

Dmitriy
10.04.2018
14:46:45
Что-то заморочно с паппетбд выходит, вы экспортируемые ресурсы используете? В чем ценность?
puppet query используем, + да, экспортируемые ресурсы. Много для всего. SSL сертификаты, линковка заббикса и прочее.

dk
10.04.2018
14:47:50
Похоже

Я наоборот стараюсь по паппетбд особо не завязываться, пусть будет лишь кэшом для каталогов и логом репортов

Dmitriy
10.04.2018
14:50:30
Я наоборот стараюсь по паппетбд особо не завязываться, пусть будет лишь кэшом для каталогов и логом репортов
удобная штука, не знаю зачем ты ей так пренедрегаешь. особенно когда у тебя овердохрена хостов, куча мастеров и одна puppetdb на все это.

dk
10.04.2018
14:51:53
Тем, что это все сильно усложняет

Google
dk
10.04.2018
14:54:25
чем ?
Тем, что если у вас паппетбд кораптнется/упадет - будет чп

А если у нас она упадет - и хрен с ней, новую раскатаем

Dmitriy
10.04.2018
14:55:14
Тем, что если у вас паппетбд кораптнется/упадет - будет чп
Админы делятся на тех кто еще не делает бэкапи и уже делает бэкапы. Но по большому счету - пошатает систему и все восстановится за пару паппетранов

dk
10.04.2018
14:55:15
Ну да, есть бекапы, реплики... Но зачем?

Ради чего?

Dmitriy
10.04.2018
14:56:31
Ради чего?
ну допустим поднимаешь ты еще один NTP сервер, а он сразу раз и на все ноды прописался. удобненько.

dk
10.04.2018
14:56:44
В 5-м паппете есть автолукап из хиеры и широкие возможности по его тюнингу (правда, с дипмерджем боль у Пчела случилась)

Ты поднимаешь еще один NTP сервер, прописываешь его в includes/ntp.yaml и он раскатывается по конфигам на все ноды

dk
10.04.2018
15:00:11
фу фу фу. вот от этого и уходили
А как триггерите агенты?

Или они с ранинтервалом запущены?

Dmitriy
10.04.2018
15:01:22
Или они с ранинтервалом запущены?
с ранинтервалом конечно же + splay чтобы мастер не укладывали

dk
10.04.2018
15:05:06
И не боитесь?

Dmitriy
10.04.2018
15:05:34

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