Puppet: Asegurar que un servicio está corriendo | Algo de Linux

martes, 18 de abril de 2017

Puppet: Asegurar que un servicio está corriendo

Si administráis un entorno de clientes Ubuntu Trusty y Xenial o incluso Debian mediante Puppet, habréis notado que en algún caso, al aplicar algún módulo que gestiona un servicio, Puppet no encuentra el servicio. 

En ese caso, lo más probable es que debamos cambiar el proveedor del servicio por defecto. Ésto es algo muy sencillo de lograr, puesto que el recurso puppet "service" nos proporciona una propiedad "provider" con la que podemos indicar al servicio qué proveedor debe utilizar.

Teniendo en cuenta lo anterior, en nuestros módulos podemos distinguir tipos de máquinas en función del facter $lsbdistcodename para asegurar que el servicio esté corriendo con un proveedor diferente para cada tipo de máquina. Por ejemplo:

   case $lsbdistcodename {
      'trusty': {
         service { "ntp":
            provider => 'upstart',
            ensure => running
         }
      }
      default: {
         service { "ntp":
            provider => 'systemd',
            ensure => running
         }
      }
   }
Ésto me permitiría usar "systemd" como proveedor de servicio por defecto (algo necesario para máquinas con Debian Jessie o Ubuntu Xenial, que utilizan systemd) y "upstart" como proveedor de servicio para "trusty".
Publicado por primera vez en http://enavas.blogspot.com.es

No hay comentarios: