@puppet_ru

Страница 98 из 112
ptchol
19.09.2018
15:53:38
причём тут руби если рофлят на JS

Andor
19.09.2018
15:53:49
это ж про жс

ptchol
19.09.2018
15:54:20
Ксения как обычно, поверхам хватанула, и то мем пятилетней давности

Andor
19.09.2018
15:54:50
у них вообще клёвые доклады

Google
Andor
19.09.2018
15:54:58
глянь про жизнь и смерт жаваскрипта

Protos
19.09.2018
16:22:32
Господа

Никогда не работал с наследованием можете немного пояснить?

class test::test {$temp_dir = hiera('check::temp_dir')} class test2 inherits test::test { $test2 = $temp_dir file {"$test2" content => template('test/test.erb'), } }

Примерно такого типа конструкция

Где я не прав?

Суть положить в первый класс определения и в последующих их каждый раз переопределять

ptchol
19.09.2018
16:28:21
Inherits работает как включение

Protos
19.09.2018
16:29:43
Ну в принципе он же позволит переопределить несколько раз для каждого класса?

ptchol
19.09.2018
16:30:00
Нет, это как бы инклуд

Protos
19.09.2018
16:31:01
Ок хорошо инклюд но если я в каждом последующем классе буду инклюдить только один изначальный и переопределять $test3 = $temp_dir $test2 = $temp_dir

Это ок?

Или есть другой путь?

Google
Andor
19.09.2018
16:33:12
Ну попробуй

ptchol
19.09.2018
16:33:36
Я не понимаю зачем тебе тогда наследоваться если можно просто параметризировать

У тебя ресурсы классов все равно потом выпадут в общий каталог и если что приведут к дупликейт деклорейшн

Protos
19.09.2018
16:35:08
Не не суть этой балалайки в екзеке питон файла потом

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

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

Может можно как-то проще но я хз

ptchol
19.09.2018
16:38:13
Ну так зови из каждого класса , параметры положи в хиеру в хиере в иерархии используй коллинг класс переменную

У тебя в результате изнутри класса каждый раз экзеку этому будут разные параметры переданы.

ptchol
19.09.2018
16:46:07
У тебя к примеру 2 класа , тест 1 и тест 2. Ты в классе формируешь строку аля $args которая делает всегда lookup(::var). В хиере в иерархии ты добавляешь слой в котором используешь переменную calling_class_path и раскладываешь в test1.yaml одно значение vars в test2 другое

У тебя получается что вызов везде одинаковый но из за контекста переменные разные приезжают.

Protos
19.09.2018
16:47:41
Да я понял здесь у меня один ямл

ptchol
19.09.2018
16:47:53
Но сразу говорю это депрекейтид с 5й версии хиеры

Protos
19.09.2018
16:48:08
Ничего страшного у меня 3.6 папет

ptchol
19.09.2018
16:48:14
У тебя ж там старье какое то ?

Protos
19.09.2018
16:48:56
Короче идею я конечно понял

Но несколько ямл файлов не вариант в данном случае

ptchol
19.09.2018
16:49:42
Аха, потому и советую...

Google
ptchol
19.09.2018
16:50:04
Тогда как ты хочешь ?

Protos
19.09.2018
16:50:41
Да видимо буду дрочить inherits или include

ptchol
19.09.2018
16:50:42
Звать разные куски хеша огромного в разных местах ? Так вобще не проблема если знаешь ключ

В 3.6 был advanced syntax со звёздочкой? Что бы хеш передать в ресурс и таким образом параметризировать его ?

ptchol
19.09.2018
16:57:13
$file_ownership = { "owner" => "root", "group" => "wheel", "mode" => "0644", } file { "/etc/passwd": ensure => file, * => $file_ownership, }

Protos
19.09.2018
16:57:52
Но не понятно как тут запилить переопределение

ptchol
19.09.2018
16:58:51
Ты можешь дергать хеш и потом просто по ключу часть его как параметры в ресурс кидать

Зачем переопределение ? У тебя хеш огромный, каждый набор именован. И ты по ключу этот набор берешь.

Xeniya MTS
19.09.2018
17:01:05
Ничего страшного у меня 3.6 папет
хм, много модулей уже не работают?

ptchol
19.09.2018
17:01:18
В паппете нет наследования с переопределением. Это ломает логику стейт машины. Все переопределения только через хиеру

ptchol
19.09.2018
17:03:04
можно через промежуточную переменную же
Это новая переменная ничего не переопределяется

Xeniya MTS
19.09.2018
17:03:16
а импортированную нет

Protos
19.09.2018
17:04:14
а импортированную нет
Ну вот примерно так

Google
Xeniya MTS
19.09.2018
17:04:26
вставляешь там иф импортерт перменная столько-то, то тогда присвоить используемой, иначе другое :)

Ну вот примерно так
так лучше не делать, а через хиеру переопределять

как вообще жизнь на 3.6?

мне кажется, всё сломалось уже, или нет?

Protos
19.09.2018
17:05:25
так лучше не делать, а через хиеру переопределять
Очень хорошо у меня мелкий питон скрипт такого типа with open('<%= @filename -%>', 'U') as f:

Я хочу в него из одного манифеста передавать много значений

Xeniya MTS
19.09.2018
17:05:38
наверное, почти все модули переопрелелены в паппет файлы на старые версии?

или нет?

Protos
19.09.2018
17:05:53
Xeniya MTS
19.09.2018
17:06:00
кастом факт

Protos
19.09.2018
17:06:50
совсем ужас. Это надо через факт делать
Предлагаешь мне нафигарить фактов на одну ноду?

Xeniya MTS
19.09.2018
17:07:14
Protos
19.09.2018
17:07:36
зачем делать из паппета... солт?
Вопросы к небу проблему не решают

Xeniya MTS
19.09.2018
17:07:54
просто если делать через Ж, потом будут новые проблемы :(

Protos
19.09.2018
17:09:54
Поэтому я и спрашиваю насколько я прав в следующей логике Есть хиера с параметрами. Параметр забираем в один манифест в котором лежит изначальный класс где обьявляем параметр типа $test В манифест кладем второй класс который наследует первый класс и где переопределяем параметр как $test2 = $test Добавляем третий класс и поступаем схожим образом $test3 = $test

Заведется нет?

просто если делать через Ж, потом будут новые проблемы :(
Подоплека в том что это инсталляция в которой правятся конфиг файлы инсталляция единичная но конфиг файл зависит от количества продуктов их число и что править известно но обьем может разница в зависимости от инсталляции

ptchol
19.09.2018
17:13:38
а импортированную нет
Тогда тебе придется в каждом модуле уникальный кусок кода держать с генерацией новой переменной

Google
Protos
19.09.2018
17:13:43
почему не факты?
Инсталляция может лежать по разному пути тоесть это мне еще сверху чекер для фактов писать?

Пути задаются в большом ямле

Xeniya MTS
19.09.2018
17:14:29
Тогда тебе придется в каждом модуле уникальный кусок кода держать с генерацией новой переменной
В паппетфордже в популярных модулях при импорте переменных так часто и делают - например, чтобы проверить на валидность

Protos
19.09.2018
17:15:15
Логично просто если это коненчо возможно напилить инклюды а содержимое для реплейса в питон скрипте подпихивать из ямла

Xeniya MTS
19.09.2018
17:15:16
часть через кастом факты

часть через ямл

кастом факты для того и сделали - динамически получить переменную

точнее факт :)

Protos
19.09.2018
17:15:58
точнее факт :)
Какой факт?

Xeniya MTS
19.09.2018
17:16:09
Protos
19.09.2018
17:16:09
Что у меня есть blalbalba.xml?

Так я и так это знаю

Xeniya MTS
19.09.2018
17:16:17
ptchol
19.09.2018
17:16:17
Protos
19.09.2018
17:17:11
У тебя этот скрипт один реализуется или их 10 на одной ноде должно получиться ?
Хочу только одни скрипт который просто забирая последовательно в каждом классе параметры из хиеры пробегает по нужным конфигам

Точнее он есть этот скрипт он простой как топор

Тупой серч с реплейсом

Суть не плодить дохера манифестов с россыпью классов

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