Bagaimana cara mengaktifkan layanan instantiated systemd dengan boneka?


9

Saya mendapatkan layanan boneka berikut:

service { "getty@ttyUSB0.service": 
    provider => systemd,
    ensure => running,
    enable => true,
}

Ketika saya mencoba menerapkan konfigurasi ini pada klien saya, itu menimbulkan kesalahan berikut:

err: /Stage[main[//Node[puppetclient[/Service[getty@ttyUSB0.service[/enable: perubahan dari false ke true gagal: Tidak dapat mengaktifkan getty@ttyUSB0.service:

Layanan ini berjalan dengan baik dan saya dapat memastikan itu dimulai pada boot sistem dengan menambahkan symlink ke getty.target.wants:

ln -s /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyUSB0.service

Dari sumber, saya bisa melanjutkan dan menghapus "enable => true" dari definisi layanan dan menyertakan symlink secara manual dalam konfigurasi boneka, tetapi bukankah boneka harus mengurus ini? Apakah saya melakukan sesuatu yang sangat salah?

Jawaban:


6

Penyedia systemd di Puppet hari ini hanya menggunakan dua perintah untuk status layanan enable:

  • systemctl is-enabled <unit>, memeriksa kode kembali untuk keadaan aktif saat ini
  • systemctl enable/disable <unit> untuk mengubahnya

Perintah aktifkan membuat kesalahan ketika Anda mengaktifkan sebuah instance dari getty @ service yang belum ada:

$ sudo systemctl enable getty@ttyUSB0.service
Failed to issue method call: No such file or directory

Ini kemudian menyebabkan kesalahan yang ditampilkan dalam Wayang (meskipun stderr tampaknya tidak ditampilkan).

Bagi saya sepertinya ada celah dalam systemd bahwa Anda tidak dapat mengaktifkan instance template baru. Sudah ada BZ # 752774 di Fedora , tetapi komentar menyarankan itu mungkin tidak ditambahkan dalam waktu dekat.

Anda mungkin lebih baik mengajukan permintaan fitur terhadap Wayang untuk menambahkan dukungan khusus untuk mengaktifkan instance baru. Dalam permintaan fitur Anda, saya sarankan menghubungkan ke penjelasan Lennart tentang instance unit untuk latar belakang.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.