¿Cómo habilitar el servicio instanciado systemd con puppet?


9

Tengo el siguiente servicio de marionetas:

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

Cuando trato de aplicar esta configuración en mi cliente, arroja el siguiente error:

err: /Stage[mainfont>//Node[puppetclientfont>/Service[getty@ttyUSB0.servicefont>/enable: cambio de falso a verdadero fallido: No se pudo habilitar getty@ttyUSB0.service:

El servicio funciona bien y puedo asegurarme de que se inicia en el arranque del sistema agregando un enlace simbólico a getty.target.wants:

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

De origen, podría continuar y eliminar "enable => true" de la definición del servicio e incluir un enlace simbólico manualmente en la configuración de la marioneta, pero ¿no debería la marioneta ocuparse de esto? ¿Estoy haciendo algo terriblemente mal?

Respuestas:


6

El proveedor systemd en Puppet hoy solo usa dos comandos para el enableestado del servicio :

  • systemctl is-enabled <unit>, comprobando el código de retorno para el estado de habilitación actual
  • systemctl enable/disable <unit> para cambiarlo

El comando enable arroja un error cuando habilita una instancia del servicio getty @ que aún no existe:

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

Esto está causando el error que se muestra en Puppet (aunque parece que stderr no se muestra).

Me parece un vacío en systemd que no puede habilitar nuevas instancias de una plantilla. Ya hay BZ # 752774 en Fedora , pero los comentarios sugieren que podría no agregarse pronto.

Es mejor que presente una solicitud de función contra Puppet para agregar soporte específicamente para habilitar nuevas instancias. En su solicitud de características, sugeriría vincular a la explicación de Lennart de instancias de unidad para el fondo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.