@puppet_ru

Страница 85 из 112
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
что может произойти если ему не поставить replace => 'no',
конфигурация может стать неконтролируемой

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
но и сами такие модули тоже редкость

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
а так можно оторвать зависимость в классе который наследуешь?

Freddie
31.08.2018
09:29:58
а так можно оторвать зависимость в классе который наследуешь?
class own::foo inherits module::foo { Resource['title'] { require => [], } примерно так. не всегда, конечно, можно

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
и в puppet cookbook почему-то это рекомендуют
его вообще обновляют? он же появился ещё когда 0.24 был

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
причём "давно" нередко начинается с получаса

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

ptchol
31.08.2018
10:12:38
@ptchol твой выход
А чо мой, ты молодец , врапперы модулей часто полезны

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

ptchol
31.08.2018
10:13:37
Только люди не понимают часто разницы между враппером модуля и каким нить профилем

А. Это да

Уменьшает объем кода где то раз в 8

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
Спасибо всем написал через файлы ГОВНО код который работает без екзеков

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