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.
Не хотелось бы нарасщивать вверх, есть ли возможность горизонтального маштабирования?
dk
09.04.2018
07:25:24
Айтуар
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
dk
09.04.2018
21:09:51
if $var { ... } - это не чек на андефайн, а чек на наличие данных, пустая строка - это false
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
Google
Айтуар
10.04.2018
14:24:51
Dmitriy
10.04.2018
14:27:11
Спасибо.
А по поводу масштабирования - завидите один CA, а уже сами сервера хоть сколько сетапьте. Главное чтобы они были зацеплены на один CA. Ну и каталог синхронизировать надо.
Айтуар
10.04.2018
14:28:18
Dmitriy
10.04.2018
14:29:05
Через NFS?
Неа, у нас своя поделка на гит хуках, инкронах и прочем. На каждом мастере локальная копия гит репы
Если делать через NFS - кэширование будет мешать. На наших нагрузках это критично
Admin
dk
10.04.2018
14:31:00
Чего только не придумают, лишь бы на ансибль не переходить
Dmitriy
10.04.2018
14:32:32
dk
10.04.2018
14:43:44
На всех мастерах после пуша
Dmitriy
10.04.2018
14:45:10
dk
10.04.2018
14:45:52
Dmitriy
10.04.2018
14:46:45
dk
10.04.2018
14:47:29
Dmitriy
10.04.2018
14:47:41
dk
10.04.2018
14:47:50
Похоже
Я наоборот стараюсь по паппетбд особо не завязываться, пусть будет лишь кэшом для каталогов и логом репортов
Dmitriy
10.04.2018
14:50:30
dk
10.04.2018
14:51:53
Тем, что это все сильно усложняет
Dmitriy
10.04.2018
14:53:17
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 и он раскатывается по конфигам на все ноды
Dmitriy
10.04.2018
14:58:42
dk
10.04.2018
15:00:11
Или они с ранинтервалом запущены?
Dmitriy
10.04.2018
15:01:22
dk
10.04.2018
15:05:06
И не боитесь?
Dmitriy
10.04.2018
15:05:34