@puppet_ru

Страница 81 из 112
Max
28.08.2018
20:31:02
да, но для демо … тиоп не надо поутнить, а подключать еще один клас тоже не хочется. Тогда проще создать 1 профайл для все-го этого треша и дернуть с роли

Andor
28.08.2018
20:31:05
повторюсь: получается развесисто, но на удивление удобно и консистентно

Холм
28.08.2018
20:31:09
я исходил из того что модули совершенно разные и тебе сложно на них влиять.

Andor
28.08.2018
20:31:13
можешь ваще отдельный модуль dirs сделать

Google
Andor
28.08.2018
20:31:29
да даже если сложно влиять - можно инклюдить в профиле то и то

ой, надеюсь тут материться можно

Холм
28.08.2018
20:32:31
Max
28.08.2018
20:32:46
да - но франкенштейн получается. Ну ок - думаю будет лучше тогда запилить какой-нить клас мониторинг (профайл) и включить в него например графану и еластиксерч. Тогда не надо отделоьно ластик и отдельно графану …

Andor
28.08.2018
20:33:05
я когда с терраформом ковырялся - специально уточнял в чяте хашикорпов, хотя там в правилах чата разрешено

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

Max
28.08.2018
20:34:01
ну без мата сейчас не куда. И на работу могут не взять если не умеешь. Но да - отдельная тема и культурней и правильней без

Холм
28.08.2018
20:34:04
разве что для теста.

Max
28.08.2018
20:37:45
Ок. попробую

Холм
28.08.2018
20:38:57
ptchol
28.08.2018
20:39:57
я наоборот стремился везде идти к тому чтобы во всех модулях логика сводилась к лукапу файлов + create/ensure ресурсов

Google
ptchol
28.08.2018
20:40:10
и они ж как раз завезли таки разные иерархии в 5й

это тебе позволяет просто всё по факту делать через хиеру, аля диры созадвать при необходимости относящиеся "к нужным сервисам"

Andor
28.08.2018
20:40:48
лично моя практика показывает что это не сильно полезно

ptchol
28.08.2018
20:42:12
казалось наоборот. у тебя модули по факту все набор копипасты аля esnure_dirs lookup $module_name:dirs / create resource (resource name, lookup)

Max
28.08.2018
20:42:29
@ptchol да разные подходы есть … вот я прыгаю с 4 на 5 … одни говорт что хаира это последнее место где дефайн нужно делать, другие наоборот - дефайнять все в хаире и срут с горы на то что в профайле или модуля - переписать все и без вопросов…

ptchol
28.08.2018
20:42:57
и по факту ты просто ресурс объявляеш ьв разных ямл файликах и он создаётся просто на разных уровнях.

Max
28.08.2018
20:43:01
и эти “говорят” оба от папита )))

Andor
28.08.2018
20:43:15
/etc/puppetlabs/code/environments/production/modules ├── apt_mirror (???) ├─┬ gdsoperations-aptly (v0.9.0) │ ├── puppetlabs-stdlib (v4.25.1) invalid │ └── puppetlabs-apt (v6.0.0) ├── puppet-bird (v1.2.0) ├── puppetlabs-catalog_preview (v2.2.0) ├─┬ choria-choria (v0.10.0) │ └─┬ choria-mcollective_choria (v0.10.0) │ ├── choria-mcollective (v0.7.0) │ ├── choria-mcollective_agent_puppet (v2.2.0) │ ├── choria-mcollective_agent_package (v5.0.1) │ ├── choria-mcollective_agent_service (v4.0.1) │ ├── choria-mcollective_agent_filemgr (v2.0.1) │ └── choria-mcollective_util_actionpolicy (v3.0.0) ├─┬ elastic-elasticsearch (v6.3.1) │ ├── UNMET DEPENDENCY elastic-elastic_stack (>= 6.1.0 < 7.0.0) │ └── richardc-datacat (v0.6.2) ├── cristifalcas-etcd (v1.12.2) ├─┬ theforeman-foreman_proxy (v8.0.0) │ ├── UNMET DEPENDENCY theforeman-dns (>= 1.3.0 < 6.0.0) │ ├── UNMET DEPENDENCY theforeman-dhcp (>= 1.3.0 < 5.0.0) │ ├─┬ theforeman-foreman (v9.2.0) │ │ ├─┬ puppetlabs-apache (v3.2.0) │ │ │ └── puppetlabs-concat (v4.2.1) │ │ ├── puppetlabs-postgresql (v5.8.0) │ │ └── puppet-extlib (v2.0.1) │ ├─┬ theforeman-puppet (v9.1.0) │ │ └─┬ puppetlabs-puppet_authorization (v0.4.0) │ │ └── puppetlabs-hocon (v1.0.1)

как ни пиши, зависимости между модулями всё равно будут

извините за многабукав

ptchol
28.08.2018
20:44:43
да будут конечно. просто плейсменты директорий \ пользователи \ пэкеджи для таких стандартных "ресурсов" создавать каждый раз "коммон" модуль.. хрен знает

я пробовал он всегда вырождался вконце концов в модул ьв котором одна дира блин

Max
28.08.2018
20:44:58
в моем случаее все намного проще или сложнее - у коиента катомные модули писать надо (и все с локальног орепа и фордж чуть-ли не задеприкейтили). По этому и пать хотелось бы правильно, чтобы клинет не был завязан на мне и на Боге, а после меня только на Боге

ptchol
28.08.2018
20:45:08
и тебя уже настока это бесит что ты в коммонсы глобальные просто уносишь )

Max
28.08.2018
20:46:02
надо обмозговать, переспать с мыслей… но пищу получил ))

не … 5 … плюс ПДК, который за тебя все делает. Конечно ВС Коде шлак - пишу в Идее

у другого 4 …. там вообще зло ))) так и живу - что хорошо для одного - плохо для другого

Andor
28.08.2018
20:48:13
главное что не 3

Google
Max
28.08.2018
20:48:27
в 5 там все просто - 4 класса - инит, инстал, конфиг, сервис. Все - гов в продакшн

Andor
28.08.2018
20:48:37
а решение "надо писать всё самим, готовые модули использовать нельзя" принимал отдел ИБ, как обычно?

Max
28.08.2018
20:48:39
Угу )) намучился и с 3 …

Не … у меня банк и … а там “нужно иметь свое” и на тебе инструкцию

Andor
28.08.2018
20:49:38
ну это то же самое

Max
28.08.2018
20:51:09
там простой иф - если вендор = тру - или на фордж и забери ориджтинал, если вранье - юзай свой класс с блекджеком и шлюхами. Все просто - главное не использовать кастомные переменные отсутствующие в вендоровском (с форджа) репо ))

вендор с хаиры приходит ) чувак с папита тоже не заморачивался … я больше заморачиваюсь чем он… Тот наговнил и свалил )

Максималист
29.08.2018
05:38:05
EW

Утро демоны

просыпайтесь :D или востанте

)

Andor
29.08.2018
05:39:59
"востаньте"

Максималист
29.08.2018
05:40:54
верно

пардон

больш не буду

Странность: Класс 1 с переменной class java_install::check_java_class( $oracle_folder = undef, ) {... undef должен прочитать переменную снова с файла. Но он ее не читает в логах там где должна быть папка пусто. Потому и ошибка. но если прописана зависимость от другого класса (который должен выполниться до) класс срабатывает. Класс на который ссылается не использует данную переменную на прямую

Andor
29.08.2018
06:07:51
> undef должен прочитать переменную снова с файла что это значит?

folder

Максималист
29.08.2018
06:09:39
правильно ли я понял - если мы переменной говорим undef в начале файла, то она должна быть считана из hiera

Freddie
29.08.2018
06:10:20
НЕТ

Google
Максималист
29.08.2018
06:10:49
окз

запишу так

$oracle_folder = hiera('java_installl::extract::java'),

сеньку

Freddie
29.08.2018
06:11:15
да тоже не обязательно

для *каждого* параметра *каждого* класса всегда будет делаться автолукап, если значение не передаётся явным образом в каком-нибудь манифесте

если где-то в хиере есть ключ java_install::check_java_class::oracle_folder, то это значение подставится туда, если нет - будет дефолт (в твоём случае undef)

Andor
29.08.2018
06:14:19
ещё это от версии папета зависит

к сожалению даже 3.6 ещё в ходу

Максималист
29.08.2018
06:14:57
в hiera есть ключ - но без тега hiera переменные просто игнорит. puppet 3.6

Freddie
29.08.2018
06:15:00
там тоже работают автолукапы

ключ точно правильный?

Максималист
29.08.2018
06:15:20
смотрю

Andor
29.08.2018
06:15:34
тут вон на 3.6 склеивание строк в другую строку не работало

Freddie
29.08.2018
06:15:40
а то я вижу java_install::check_java_class и почему-то hiera('java_installl::extract::java')

Andor
29.08.2018
06:15:51
я бы так сразу не утверждал, что автолукап работает и работает корректно

Freddie
29.08.2018
06:15:58
тут вон на 3.6 склеивание строк в другую строку не работало
мы же так и не узнал, что там не работает :)

Максималист
29.08.2018
06:16:23
что за склеивание строк?)

Freddie
29.08.2018
06:16:28
мы ещё в 2.6, по-моему, автолукапы юзали ограниченно (но могу врать)

https://ttboj.wordpress.com/2013/02/20/automatic-hiera-lookups-in-puppet-3-x/

Google
Freddie
29.08.2018
06:17:26
похоже, всё-таки в третьем появилось

ptchol
29.08.2018
06:28:29
к сожалению даже 3.6 ещё в ходу
автолукап с ранних троек есть, его проблемы была в том что он мёрдж не умел, и сделали вобще помоему в 4й ветке.

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

или deeper не умел, а умел тока deep

Andor
29.08.2018
06:30:22
не, не умел

научили только в hiera3 и выше

если не в 5

Freddie
29.08.2018
06:37:23
или deeper не умел, а умел тока deep
вообще не умел, всегда hiera(), никакого _hash() или _array(). потом уже появились lookup_options.

Максималист
29.08.2018
06:42:07
у папета версии 4 и выше обратная совместимость с 3 ?

Andor
29.08.2018
06:42:16
большей частью

есть отличия, но их не так уж много

если у вас никаких хаков не было, то миграция должна быть тривиальной

Freddie
29.08.2018
06:43:28
мы довольно долго готовились к переезду, но в основном так было: что компилится под 4.x - то 98% работает нормально. что не компилится - легко фиксится

правда в процессе нарвались на что-то эпичное, но это от долбоебизма больше

Andor
29.08.2018
06:44:08
угу, кроме моих хаков как раз

Freddie
29.08.2018
06:44:59
c 3.8 с parser=future на 4.10 вообще легко попёрло

Andor
29.08.2018
06:45:34
а его вроде как раз в 3.6 добавили?

Freddie
29.08.2018
06:45:53
не помню. включили мы его уже на 3.8

если хостов (или разных ролей) не очень много, можно просто параллельно ебануть environment с тем же самым кодом и датой, что в бою, только с parser=future в environment.conf

ptchol
29.08.2018
06:47:24
Фьюча парсер по-моему уже в 3.4 был и отрубал импорт при включении

Freddie
29.08.2018
06:47:38
и вручную посматривать, а что меняется, когда --environemnt меняешь

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