
Andor
29.08.2018
06:48:00
ты вроде ещё смотрел в каталог-диффы ещё
импорты это когда можно было файл напрямую заинклюдить?

Freddie
29.08.2018
06:48:52
я-то смотрел, но у нас инфра для тестов была уже :)

Andor
29.08.2018
06:49:21
ну там всё равно наебались при миграции на parser=future

Google

Andor
29.08.2018
06:49:23
но вроде минорно
не помню подробностей

ptchol
29.08.2018
06:49:33

Freddie
29.08.2018
06:49:34
да, с хиерой, но точнее не помню

ptchol
29.08.2018
06:49:47

Freddie
29.08.2018
06:49:50
ну, можно было сделать нормальный ENC, но на это подзабили, и просто разложили ноды по десятку файлов в manifests

ptchol
29.08.2018
06:51:01

Freddie
29.08.2018
06:51:30
пока паппету нельзя было скормить диру с файлами, там были импорты, мы их спилили как только смогли включить future

ptchol
29.08.2018
06:51:57
А как инклуды и enc связаны ?

Andor
29.08.2018
06:52:15
никак, енц связан с включением parser=future

Freddie
29.08.2018
06:52:26
с нормальным ENC в manifets/ вообще ничего не было бы

Google

Freddie
29.08.2018
06:52:46
ну, на самом деле пару глобальных переменных и node defaut{}

ptchol
29.08.2018
06:54:20
Просто в паппете нет до сих пор удобных функций для работы с pdb
В стдлиб

Freddie
29.08.2018
06:54:38
родных нет, есть puppetdbquery

Andor
29.08.2018
06:54:39
угу
есть сторонний модуль
вот-вот вот этот вот да

Freddie
29.08.2018
06:55:11
https://forge.puppet.com/dalen/puppetdbquery

ptchol
29.08.2018
06:56:43
И он не очень то удобный на мой взгляд
query_facts('Class[Apache]{port=443}', ['osfamily', 'ipaddress'])
Понятно что привыкаешь ко всему... Но...

Andor
29.08.2018
06:57:04
да понятно что не очень удобный
он возможно ещё устаревший, не?

Freddie
29.08.2018
07:07:18
https://puppet.com/docs/puppetdb/5.1/api/query/tutorial-pql.html#querying-with-puppet-code
но это только в 5.x, кажется
хотя нет: https://puppet.com/docs/puppetdb/4.2/api/query/tutorial-pql.html#querying-with-puppet-code
у меня puppetdb 4.4 и мастер 4.10
надо бы попробовать где-нибудь что ли

Andor
29.08.2018
07:08:32
ну это от версии терминуса зависит больше, чем от версии пупетдб

Freddie
29.08.2018
07:08:43
и паппета

Google

Максималист
29.08.2018
07:10:51
незнал о puppetdb
его отдельно смотрю ставит надо

Andor
29.08.2018
07:11:07
а кто юзает mco в этом чяте?
поднимите руки

Freddie
29.08.2018
07:13:15
мне чота кажется, что двое нас тут

Максималист
29.08.2018
07:13:39
:D

Freddie
29.08.2018
07:14:02
с натсом збс будет, но в этой конторе я на него не перееду

Andor
29.08.2018
07:14:06
ну и половина из нас поюзали choria?
а choria-сервер нынче имеет натс внутри себя

Freddie
29.08.2018
07:14:23
половина? ты же вроде завёл вчера?

Andor
29.08.2018
07:14:23
отдельно ставить не надо
ну да
я поюзал, а ты вроде нет
или ты тоже?

Freddie
29.08.2018
07:14:36
значит все юзали :)

Andor
29.08.2018
07:14:44
ну я в прод накатил вчера

Freddie
29.08.2018
07:14:51
у меня мои песочницы с ней личные

Andor
29.08.2018
07:14:59
хуярь в прод

ptchol
29.08.2018
07:15:13
Странно выглядит там запрос как будто это ресурс декларейшон а не функция возвращающая результат

Andor
29.08.2018
07:15:32
ну этот декларейшн по-сути - фильтр в бд

Google

Freddie
29.08.2018
07:15:37
пара железок и десяток виртуалок дома, и ещё с десяток по хетцнерам всяким и скейлвеям

Andor
29.08.2018
07:15:37
или скорее матчер

Freddie
29.08.2018
07:16:03
в бой тащить на работе - нах, никому оно всё равно не нужно больше :(
я там багу, кстати нашёл: она кеширует ключи/серты. если ты свой отозвал и перевыпустил, ничего работать не будет, пока не почистишь кеш на всех агентах
зарепортить руки не дошли пока, да

Максималист
29.08.2018
07:18:07
квешен - unless => 'grep -w \'1.8.65\' ${tmp_dir}/inventory.txt',
unless не понимает имя переменной как папку. Пробывал и ${tmp_dir} и $tmp_dir
в command ${tmp_dir} нормально преобразует в путь.
в логах вижу : Executing check 'grep -w '1.8.65' $tmp_dir/inventory.txt'ESC[0m

Freddie
29.08.2018
07:19:14
кавычки не те
в одинарные ничего не подставляется
unless => "grep -w '1.8.65' ${tmp_dir}/inventory.txt" должно быть ок

Protos
29.08.2018
07:20:13
Ощущение что вы тут половина из одной конторы

Freddie
29.08.2018
07:20:36
уже нет :)

Protos
29.08.2018
07:20:57

ptchol
29.08.2018
07:23:34

Максималист
29.08.2018
07:28:16
теперь все работает бибикает и мигает
красота
Puppet инструкции в классе выполняет последовательно?

Andor
29.08.2018
07:54:11
зависит от версии и настроек

Google

Andor
29.08.2018
07:54:25
в общем случае порядок недетерминирован, если не заданы зависимости явно

Максималист
29.08.2018
07:56:05
вот зависимости )))
сейчас будет интересная тема

Andor
29.08.2018
07:56:29
зависимости это require/before/after и стрелочки

Максималист
29.08.2018
07:56:40
Вопрос на логику puppet:
exec { "Action 1":
}
exec { "Action 2":
...
require => Exec['Action 1'],
unless => "grep -w '1.8.65' $tmp_dir/inventory.txt",
}
exec { "Action 3":
...
require => Exec['Action 2'],
unless => "grep -w '1.9' $tmp_dir/inventory.txt",
}
exec { "Action 4":
...
require => Exec["Action 3"],
}
4 действия. Action 3 выполниться если Action 2 вы полниться. Action 2 будет выполняться только если unless вернет true. Тоесть в файле inventory.txt не будет найдена нужная информация.
Но если она будет найдена то Action 2 выполняться не будет. Но так как у нас именно на выполнение Action 2 завязано выполнение Action 3 то и Action 3 будет пропущен. А из за этого и Action 4.
Зависимости прописываю что бы puppet последовательно их выполнял.
как же их тогда прописать что бы и последовательность сохранить и проверки выполнять


Andor
29.08.2018
07:58:20
https://puppet.com/docs/puppet/5.5/lang_relationships.html
в пупете нет понятия "выполнится", есть понятие типа "ресурс в нужном состоянии"

Freddie
29.08.2018
08:07:45
кстати, со свежими модулями из форжа (не все официально 5.x поддерживают), я дома с 4.10 на 5.5 переехал вообще без усилий

dk
29.08.2018
08:07:53


Freddie
29.08.2018
08:10:43
и переезжать очень больно, да.
и костыли продолжают копиться
я поэтому теперь думаю, что одна уберрепа - это плохо, и надо делать как в ЦЕРНе

ptchol
29.08.2018
08:13:27
у меня есть решение )))

dk
29.08.2018
08:13:29
Это да, обычно ресурсов на апдейта выделяется очень мало (ведь новые проекты, куча текучки и тд). А нужно много - переписать и проверить, что ничего не сломается.
А потом нанимают новых админов, которые становятся "специалистами по выпиливанию паппета" и считают, что паппет - это треш и угар (глядя на накопившуюся кодовую базу)

ptchol
29.08.2018
08:13:39
как избавиться от этого гемороя ))

Andor
29.08.2018
08:13:50
главное salt не предлагай

ptchol
29.08.2018
08:13:58
лучше )

Andor
29.08.2018
08:14:06
пойти в проститутки?