Лялька - отримуйте список пакунків та версій


11

Чи можна сказати маріонетці скласти каталог для одного (або всіх) вузлів (-ів) і зберегти ці дані десь?

Мені спеціально цікаво отримати всі необхідні пакети та їх версії на вузол, але загальний підхід для отримання будь-яких даних також підходить.

Відповіді:


13

ОНОВЛЕННЯ

Ця оригінальна відповідь зараз застаріла. Оновлена ​​команда для Puppet 3.x:

puppet resource package

Якщо ви шукаєте всі пакунки та версії, встановлені на вузлі, незалежно від того, встановлені вони Puppet чи ні, вбудована наступна команда і може бути запущена на будь-якому ляльковому вузлі:

ralsh package

Це виведе дані у формі маніфестації ляльок для stdout.

Ralsh буде працювати для будь-якого типу ресурсів, у якому instancesреалізований метод (користувачі, групи тощо).

Якщо ви хочете централізовано перевірити каталог YAML для всіх ресурсів, визначених у маніфестах ляльок, ваш Puppetmaster вже кешує цю інформацію, /var/lib/puppet/client_yaml/catalogі вам просто потрібно розібрати її з вашим вибором YAML-аналізатора. Служба інвентаризації ляльок, яка була представлена ​​зовсім недавно, також може бути для вас хорошим варіантом; ви можете робити з storeconfigs, якщо ви працюєте на більш старій версії, наприклад 0.25.x.


Одна з проблем цього підходу полягає в тому, що він не дозволяє використовувати декілька версій одного пакета, як це властиво пакету ядра в дистрибутивах на основі Red Hat.
Пол Гір

Я не впевнений, що це дійсно відповідає на питання: Команда перераховує встановлені на даний момент пакети, а не пакети, необхідні Лялькові. Мене цікавить перелік останніх, до яких можна подати rpmorphan.
Тім Ландшайдт

@TimLandscheidt, ви запитуєте про повний список packageресурсів, який Маріонетка перераховує у каталозі для вузла? Якщо ви не хочете розбирати кешований каталог, найкращим варіантом буде запит у PuppetDB. API запитів доступний тут .
jgoldschrafe

@jgoldschrafe Нарешті обійшов встановлення PuppetDB, і він справді робить те, що я хочу. Я можу запитувати всі ресурси пакету, які мають "забезпечити", що не дорівнює "відсутній" для конкретного хоста, і використовувати результат JSON для подання списку на rpmorphan. Спасибі!
Тім Ландшайдт

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.