Puppet: Clase clase-especifica-squeeze | Algo de Linux

jueves, 15 de noviembre de 2012

Puppet: Clase clase-especifica-squeeze

Aquí tenéis mi clase-especifica-squeeze, tal y como la tengo definida ahora mismo en el centro para tener todo un poco más organizado.

Como podéis ver, tengo cinco posibles clasos:
  • Tareas que van dirigidas a todos los servidores de terminales  
  • Tareas para servidores de terminales en aulas de portátiles.
  • Tareas para sevidores de terminales en aulas con thinclients.
  • Tareas para el servidor freeradius.
  • Tareas para un equipo de pruebas.


# Cualquier regla debe estar comprendida entre las llaves
# Para poner reglas a los servidores de aula con squeeze de los IES con la imagen de junio de 2012
# class clase-especifica-squeeze { }, nunca fuera.

class clase-especifica-squeeze {
   file {"/tmp/fichero.test12_ltsp":
          ensure  => present, owner => root, group  => root
   }

   include "add-repositorio-local"
   include "instala-iceweasel-backports"
   include "instala-iceweasel-backports-chroot"
   include "instala-java-1_7"
   include "gnome-mandatory-squeeze"
   include "adm_avisos"
   include "administracion2"
   include "add-opciones-arranque-terminal"

   case $hostname  {
      a01-pro,a02-pro,a03-pro,a08-pro,a09-pro: { include "tareas-aulas-portatiles" }
      a04-pro,a05-pro,a06-pro,a07-pro,a10-pro,a11-pro,a12-pro,a13-pro,a14-pro,a15-pro,a16-pro,a17-pro,a18-pro,a19-pro,a20-pro,a21-pro: { include "tareas-aulas-terminales" }
      a22-pro: { include "tareas-servidor-freeradius" }
     
      default: { }
   }

   if $hostname == "a01-pro" {
      # include "tarea-en-pruebas" 
   }
}

Las tareas para aulas de portátiles las incluimos dentro de un fichero .pp:

# cat /etc/puppet/manifests/classes/tareas-aulas-portatiles.pp

class tareas-aulas-portatiles {
   # include "tarea-para-aulas-de-terminales"
} 


Las tareas para aulas de thinclients las incluimos dentro de un fichero .pp:

# cat /etc/puppet/manifests/classes/tareas-aulas-terminales.pp

class tareas-aulas-terminales {
   # include "tarea-para-aulas-de-terminales"
}

Las tareas para el servidor freeradius las incluimos dentro de un fichero .pp:

# cat /etc/puppet/manifests/classes/tareas-servidor-freeradius.pp

class tareas-servidor-freeradius {
   # include "tarea-para-servidor-freeradius"
}

Las tareas para el servidor de terminales de pruebas las coloco directamente dentro del if:

if $hostname == "a01-pro" {
   # include "tarea-en-pruebas" 
}