Puppet: Clase especifica-miniportatil-2011 | Algo de Linux

miércoles, 14 de noviembre de 2012

Puppet: Clase especifica-miniportatil-2011

Algunos compañeros me han preguntado cómo tenía definida la clase específica de puppet para portátiles para distinguir entre portátiles de alumnos y portátiles de profesores. Bien, pues lo muestro a continuación:


# Cualquier regla debe estar comprendida entre las llaves 
# para poner reglas a los miniportatiles entregados en 2011 en los IES (apd)
# class especifica-miniportatil-2011 { }, nunca fuera.
 
class especifica-miniportatil-2011 {
   file {"/tmp/fichero.test11":
          ensure  => present, owner => root, group  => root
   }

   # aquí las reglas

   include "politicas-networkmanager"
   include "disable-warning-puppetmasterd"
   include "instala-flash"
   include "instala-firefox"
   include "instala-java-1_7"
   include "cambia-root-password"
   include "add-repositorio-local"

   case $use {
        "portatil-profesor-2011": { 
            include "backupHomeUser"
            include "instala-dropbox"
         }
        "portatil-alumno-2011": {
            # include "tarea-especifica-alumnos"
        }
        default: { }
   } 

   if $hostname == "cobaya" { 
      # include "tareas-en-pruebas" 
      # include "apt"
   }
} 

Como se puede ver, de este modo, dependiendo de donde coloque una nueva regla, se aplicará:
  • A todos los portátiles, si coloco el include "tarea" justo antes de la sentencia case.
  • A portátiles de profesores, si coloco el include en el caso de que la variable facter $use = "portatil-profesor-2011".
  • A portátiles de alumnos, si coloco el include en el caso de que la variable facter $use = "portatil-alumno-2011"
 Decir que en mi centro, tengo todos los portátiles clonados con la misma imagen, por lo que tan sólo tengo que definir tareas para portátiles en la clase "especifica-miniportatil-2011"

No hay comentarios: