Wayang - dapatkan daftar paket dan versi

11

Apakah mungkin untuk memberitahu boneka untuk mengkompilasi katalog untuk satu (atau semua) node dan menyimpan data tertentu di suatu tempat?

Saya secara khusus tertarik untuk mendapatkan semua paket yang dibutuhkan dan versi mereka per node, tetapi pendekatan umum untuk mendapatkan data apa pun juga cocok.

Michal Bryxí
sumber

Jawaban:

13

MEMPERBARUI

Jawaban asli ini sudah kedaluwarsa. Perintah yang diperbarui untuk Wayang 3.x adalah:

puppet resource package

Jika Anda mencari semua paket dan versi yang diinstal pada sebuah node terlepas dari apakah mereka diinstal oleh Puppet atau tidak, perintah berikut sudah ada di dalamnya dan dapat dijalankan pada simpul Puppet apa pun:

ralsh package

Ini akan menampilkan data dalam bentuk manifes Wayang ke stdout.

Ralsh akan bekerja untuk semua tipe sumber daya yang instancesmenerapkan metode (pengguna, grup, dll.).

Jika Anda mencari untuk memeriksa katalog YAML secara terpusat untuk semua sumber daya yang ditentukan dalam manifes Wayang, Puppetmaster Anda telah menyimpan informasi ini di cache /var/lib/puppet/client_yaml/catalogdan Anda hanya perlu menguraikannya dengan parser pilihan YAML Anda. Layanan Inventarisasi Wayang yang diperkenalkan baru-baru ini mungkin juga merupakan pilihan yang baik untuk Anda; Anda dapat puas dengan storeconfigs jika Anda menjalankan pada versi yang lebih lama seperti 0.25.x.

jgoldschrafe
sumber
Satu masalah dengan pendekatan ini adalah tidak memungkinkan untuk beberapa versi dari paket yang sama, seperti yang biasa terjadi pada paket kernel pada distro berbasis Red Hat.
Paul Gear
Saya tidak yakin ini benar-benar menjawab pertanyaan: Perintah ini mencantumkan paket yang diinstal saat ini , bukan paket yang diperlukan oleh Wayang. Saya tertarik pada daftar yang terakhir untuk diumpankan rpmorphan.
Tim Landscheidt
@TimLandscheidt, apakah Anda bertanya tentang daftar lengkap packagesumber daya yang didaftarkan Wayang dalam katalog untuk sebuah simpul? Kecuali Anda ingin menguraikan katalog cache, taruhan terbaik Anda adalah dengan query PuppetDB. API kueri tersedia di sini .
jgoldschrafe
@ jgoldschrafe Akhirnya sempat menginstal PuppetDB, dan memang itu yang saya inginkan. Saya dapat meminta semua sumber daya paket yang memiliki "memastikan" tidak sama dengan "tidak ada" untuk host tertentu, dan menggunakan hasil JSON untuk memberi makan daftar ke rpmorphan. Terima kasih!
Tim Landscheidt