"Después del juego es antes del juego"
Sepp Herberger

miércoles, 21 de diciembre de 2016

Sobreescribir una regla puppet

Estaba escribiendo una regla puppet que necesitaba para instalar un paquete de mi compañero Esteban Navas de forma local y me he encontrado que ya hay otra regla puppet puesta por la Sección que choca con la mía:
package { "pkgsync": 
        ensure => latest 
}
Evidentemente, no puedo borrar la regla puppet de la Sección ya que su puppetmaster reina y tiraniza el mío, lo cual es lo correcto. Pero he descubierto que si puedo sobreescribirla/anularla ("override") para que ignore la suya y tenga en cuenta la mía, en una suerte de disidencia limitada. Es un concepto parecido al overriding de métodos en POO al definir una clase que hereda de otra.

Mi idea era poner esto:
package { "pkgsync" :
                  provider => dpkg,
                  ensure => latest,
                  source => "/var/cache/pkgsync_1.35-1_all.deb",
                  configfiles => replace,
}
Pero claro, me da un conflicto con lo anterior y el puppet peta a lo grande. En cambio si lo pongo con esta curiosa sintaxis:
Package  <|title == "pkgsync"|> {
                  provider => dpkg,
                  ensure => latest,
                  source => "/var/cache/pkgsync_1.35-1_all.deb",
                  configfiles => replace,
}
El puppet lo acepta, ignora lo de la Sección y coge mi regla. Estupendo.

Bueno nos vamos pero no sin compartir la noticia de la semana-mes-año-siglo: el EMDrive parece que funciona, según las pruebas que han hecho los chinos en su estación espacial. Es poco probable que sea cierto, pero como funcione me voy a dar un viaje a Marte, sin que me frían las neuronas como a Arnie, y una vez alli que me busque Rita:





No hay comentarios:

Publicar un comentario en la entrada