Saya mencoba menjalankan satu modul seperti ini:
puppet apply --verbose --modulepath=moduleshere --noop -e 'include myclass'
Namun, saya mendapatkan kesalahan semacam ini, menunjukkan jalur tidak disetel
Parameter unless failed: '[ -e "${logfile}" ]' is not qualified and no path was specified. Please qualify the command or specify a path.
Saya tidak ingin secara eksplisit menentukan jalur di setiap lokasi tersebut, dan itu berfungsi dengan baik ketika dijalankan sebagai bagian dari boneka penuh. Bagaimana saya bisa menentukan jalur ketika menjalankan satu modul?
Jawaban:
Perintah dalam
Exec
sumber daya harus sepenuhnya memenuhi syarat (yaitu/usr/bin/test
alih-alihtest
) ataupath
atribut dariExec
sumber daya itu harus ditetapkan.Jika Anda dapat memodifikasi manifes Wayang, Anda dapat menambahkan definisi berikut untuk mengatur
path
atribut default untuk semuaExec
sumber daya ke/bin
:Sebagai solusi (kurang lebih) kotor Anda juga dapat hanya menetapkan default
path
untukExec
sumber daya apa pun di baris perintah:Petunjuk dokumentasi:
sumber
Itu .. seharusnya tidak berfungsi sebagai bagian dari full run. Perlu path lengkap ke executable dalam
unless
perintah. Mungkin Anda memiliki set path dalam file global yang merupakan bagian dari menjalankan penuh Anda?Coba
unless => '/usr/bin/[ -e "${logfile}" ]'
saja.sumber
Saya setuju dengan Shane bahwa jalur default mungkin diatur dalam manifes yang tercakup secara global. Anda bisa melakukan hal yang sama tetapi Anda tidak bisa meneruskannya sebagai argumen, jadi gunakan stdin:
atau letakkan Exec dan sertakan baris ke dalam
example.pp
lalu gunakanpuppet apply -v ... example.pp
.sumber
Anda perlu menggunakan jalur yang sepenuhnya memenuhi syarat.
Sebagai contoh:
atau:
sumber