
Andor
31.08.2018
07:34:27
каких рисков?
при чём тут mkdir, если речь про replace => false?

Максималист
31.08.2018
07:35:09
что может произойти если ему не поставить replace => 'no',
mkdir был про создание директории через команду

Google

Andor
31.08.2018
07:36:02

ptchol
31.08.2018
07:45:25
@Andorka а как ты предлагаешь депенденси у ресурсов Аля конфиг паттерн + сервис выстраивать ?

Andor
31.08.2018
07:45:48
да как хочешь :)
где-то они на классы разбиты, где-то в одном классе всё в кучу

ptchol
31.08.2018
07:48:46
А причем тут классы и чейнинг ресурсов ?

Andor
31.08.2018
07:49:00
ну классы же так же чейнятся
какая разница

ptchol
31.08.2018
07:49:06
Классы с точки зрения депенденси такой же ресурс

Andor
31.08.2018
07:49:34
чота я уже упустил мысль, что мы обсуждаем

ptchol
31.08.2018
07:49:47
Так. И почему тогда классы можно чейнить а ресурсы нет ? )
Ты говорил вроде что чейнинг ресурсов это плохо

Andor
31.08.2018
07:50:02
чоо
не говорил

Google

ptchol
31.08.2018
07:52:00
А, ты имел ввиду что чейнинг лучше не у самих ресурсов делать а через ресурс тайпы где то внизу манифеста или через обращение через инстанцированное имя (квадратные скобки, большие буквы)
Д ?

Andor
31.08.2018
07:52:23
да, но нет
не всегда

ptchol
31.08.2018
07:53:27
Ну всмысле вцелом это убирает слепоту, когда стрелочки не замечаешь.

Andor
31.08.2018
07:53:46
зависит от сложности класса и вообще common sense

ptchol
31.08.2018
07:56:21
Там проблемы часто если ты сторонние модули юзаешь и делаешь несколько таких чейнов, можно словить цыклы когда в модуле каком нить умники запихали нотифай в иф какой нибудь

Protos
31.08.2018
07:56:51
А еще можно заебаться с неймингом
Так то

ptchol
31.08.2018
07:56:57
Живёшь и думаешь что всё ок а потом выстреливает из глубины

Andor
31.08.2018
07:57:10
бывает
в хороших модулях редкость

ptchol
31.08.2018
07:57:34
Ой...

Andor
31.08.2018
07:57:37
но и сами такие модули тоже редкость

AHPyXA
31.08.2018
08:37:45

ptchol
31.08.2018
08:51:07
В хороших модулях другие ситуации бывают, когда переменную в ифе объявят, а потом реализацию шаблона сделают в том числе и в else ветке.
и получается в 3\4 случаев всё собирается , а в одном каком то особенном варианте пересечения параметров вылетает undefined var

Georgii
31.08.2018
09:25:11

Andor
31.08.2018
09:25:51
я не говорил что совсем не существует

Georgii
31.08.2018
09:26:05
но оно вообще расстроило тогда

Google

Georgii
31.08.2018
09:26:14
сидел сам писал по итогу аналог

Andor
31.08.2018
09:26:25
а не проще было запатчить?

Freddie
31.08.2018
09:27:47
или унаследовать и переопределить
я очень жалею, что раньше этого делать не начал, и сначала пытался модули патчить или свои велосипедить

Andor
31.08.2018
09:28:58
а так можно оторвать зависимость в классе который наследуешь?

Georgii
31.08.2018
09:29:06
почитаю
еще не делал такого

Freddie
31.08.2018
09:29:58

dk
31.08.2018
09:30:06
А я уже привык делать обертки к модулям :) боль-страдания
@ptchol твой выход

Freddie
31.08.2018
09:31:55
обёрткам не обязательно быть жирными просто. совсем без них не выйдет. но когда модуль нормально разбит на классы, можно выебнуться и вместо обёртки сделать попроще:
include ::module
include ::fixes::module::foo
чаще всего, правда, всё равно жирные врапперы, конечно
вот на такую репку
$ find site -type f | wc -l
2035
вот столько "умных" маленьких фиксов с inherits:
$ g grep -l lint:ignore:inheri | wc -l
8

Andor
31.08.2018
09:36:48
вангую что половину уже можно грохнуть
ну и это всё-таки с шаблонами и типами
find site -name '*.pp' | wc -l

Freddie
31.08.2018
09:37:27
очень много вещей было бы проще, если б так делал сразу. а то уже три года не могу съехать на апстримный puppetlabs-rabbitmq, потому что мне понадобилось в самом начале пару мелочей "улучшить" там
find site -name '*.pp' | wc -l
1433
там темплейтов ещё куча :)

Максималист
31.08.2018
09:39:39
господа - как вам класс

Google

Максималист
31.08.2018
09:39:43
file { "$isdns_dir":
ensure => 'present',
replace => 'no', # this is the important property
content => "From Puppet\n",
owned => '$ora_user',
group => '$ora_group',
mode => '0644',
}

Andor
31.08.2018
09:39:45
говно

Максималист
31.08.2018
09:39:50
)))))))))))))))))))))))))))))))

Andor
31.08.2018
09:39:54
syntax error

Максималист
31.08.2018
09:39:56

Andor
31.08.2018
09:40:20
lint ругаться будет минимум на 3 строчки

Freddie
31.08.2018
09:40:30
а точно надо переменные в одинарные кавычки?

Andor
31.08.2018
09:40:43
и тайтл тоже

Freddie
31.08.2018
09:40:50
а replace - разве не true/false?

Andor
31.08.2018
09:41:01
там можно on/off
и в puppet cookbook почему-то это рекомендуют

Freddie
31.08.2018
09:41:20
и тайтл тоже
ну это хотя бы просто линтер ругнётся, оно хоть работать будет как ожидают

Andor
31.08.2018
09:41:34
на одинарные же вроде тоже ругается

Freddie
31.08.2018
09:41:50

Andor
31.08.2018
09:41:56
хз

Айтуар
31.08.2018
09:41:57
говно
А как по феншую будет?

Andor
31.08.2018
09:42:05
код не читал

Freddie
31.08.2018
09:42:08

Andor
31.08.2018
09:42:08
сразу говном назвал

Айтуар
31.08.2018
09:42:55

Google

Freddie
31.08.2018
09:43:09
только мне странным кажется, что переменная в тайтле называется isdns_DIR, а ensure => file, да ещё и с контентом?

Andor
31.08.2018
09:43:50
т.к. паппет ?
ну лично мне папет как язык нравится больше чем например salt или terraform

Айтуар
31.08.2018
09:45:32
Ну вобщем все написали что код не очень (говно), но никто не предложил своё. У меня кстати такое же "гавно" работает.

Andor
31.08.2018
09:45:56
ты точно читал сообщения?

Freddie
31.08.2018
09:46:12
все (ха-ха), написали, что выглядит подозрительно, и может потом взорваться

dk
31.08.2018
09:47:35

Максималист
31.08.2018
09:48:14
??? спасибо всем

Andor
31.08.2018
09:48:15
причём "давно" нередко начинается с получаса

Айтуар
31.08.2018
09:48:42

Protos
31.08.2018
09:50:22
Все говно все сломать

ptchol
31.08.2018
10:12:38

dk
31.08.2018
10:13:16
Я про то, что надо все докеризовать

ptchol
31.08.2018
10:13:37
Только люди не понимают часто разницы между враппером модуля и каким нить профилем
А. Это да
Уменьшает объем кода где то раз в 8

Andor
31.08.2018
10:17:13

dk
31.08.2018
10:18:04

Максималист
31.08.2018
10:25:19

dk
31.08.2018
10:26:10
Да, докеризовать и кубернетизировать

Максималист
31.08.2018
10:26:23
Спасибо всем написал через файлы ГОВНО код который работает без екзеков