pkgsync-ies: Módulo puppet para distribuir ficheros mustave, mayhave y maynothave a clientes | Algo de Linux

domingo, 5 de febrero de 2017

pkgsync-ies: Módulo puppet para distribuir ficheros mustave, mayhave y maynothave a clientes

En el post anterior hice un resumen de las herramientas que utilizamos para gestionar configuraciones y software en los equipos de los IES.

Esta semana me han preguntado varias veces sobre la gestión de los ficheros musthave, mayhave y maynothave y, a los compañeros que me han preguntado, les he respondido que desconozco cómo gestiona cada uno estos ficheros en sus centros. Por lo que he podido ver, hay gente que gestiona los ficheros mediante un módulo puppet, pero también hay muchos otros que los gestionan manualmente. Por lo que considero que sería importante  estandarizarlo.

pkgsync-ies es un módulo puppet que escribí para distribuir los ficheros mayhave, musthave y maynothave a todas las máquinas del centro en función del tipo de máquina. 
/etc/puppet/modules/pkgsync-ies/
├── files
│   ├── add-apt-key
│   ├── nightly-pkgsync
│   ├── setrepositories.trusty
│   └── ubuntu
│       ├── infolab
│       │   ├── pkgsync_amd64
│       │   │   ├── mayhave.ies
│       │   │   ├── maynothave.ies
│       │   │   ├── musthave
│       │   │   ├── musthave.d
│       │   │   │   ├── kernel
│       │   │   │   ├── programacion
│       │   │   │   ├── refind
│       │   │   │   └── virtualbox
│       │   │   └── musthave.ies
│       │   └── pkgsync.default
│       ├── ltsp
│       │   └── pkgsync_amd64
│       │       ├── mayhave.ies
│       │       ├── maynothave.ies
│       │       └── musthave.ies
│       ├── notebookACER
│       │   ├── pkgsync_amd64
│       │   │   ├── mayhave.ies
│       │   │   ├── maynothave.ies
│       │   │   ├── musthave
│       │   │   └── musthave.ies
│       │   └── pkgsync_i386
│       │       ├── mayhave.ies
│       │       ├── maynothave.ies
│       │       └── musthave.ies
│       ├── notebookAPD
│       │   ├── pkgsync_amd64
│       │   │   ├── mayhave.ies
│       │   │   ├── maynothave.ies
│       │   │   ├── musthave
│       │   │   └── musthave.ies
│       │   └── pkgsync_i386
│       │       ├── mayhave.ies
│       │       ├── maynothave.ies
│       │       └── musthave.ies
│       ├── notebookHP
│       │   └── pkgsync_amd64
│       │       ├── mayhave.ies
│       │       ├── maynothave.ies
│       │       ├── musthave
│       │       └── musthave.ies
│       ├── notebookXTREM
│       │   ├── pkgsync_amd64
│       │   │   ├── mayhave.ies
│       │   │   ├── maynothave.ies
│       │   │   ├── musthave
│       │   │   └── musthave.ies
│       │   └── pkgsync_i386
│       │       ├── mayhave.ies
│       │       ├── maynothave.ies
│       │       └── musthave.ies
│       ├── siatic
│       │   ├── pkgsync_amd64
│       │   │   ├── mayhave.ies
│       │   │   ├── mayhave.siatic
│       │   │   ├── maynothave.ies
│       │   │   ├── musthave
│       │   │   ├── musthave.d
│       │   │   │   ├── kernel
│       │   │   │   ├── nvidia
│       │   │   │   ├── programacion
│       │   │   │   ├── refind
│       │   │   │   ├── smartboard_software
│       │   │   │   └── virtualbox
│       │   │   └── musthave.ies
│       │   ├── pkgsync.default
│       │   └── pkgsync_i386
│       │       ├── mayhave.ies
│       │       ├── mayhave.siatic
│       │       ├── maynothave.ies
│       │       ├── musthave
│       │       ├── musthave.d
│       │       │   ├── kernel
│       │       │   ├── programacion
│       │       │   └── virtualbox
│       │       └── musthave.ies
│       ├── sources.list.ubuntu
│       ├── Telefonica
│       │   ├── pkgsync_amd64
│       │   │   ├── mayhave.ies
│       │   │   ├── maynothave.ies
│       │   │   ├── musthave
│       │   │   ├── musthave.d
│       │   │   │   └── smartboard
│       │   │   └── musthave.ies
│       │   └── pkgsync.default
│       └── workstation
│           ├── pkgsync_amd64
│           │   ├── mayhave.ies
│           │   ├── maynothave.ies
│           │   ├── musthave
│           │   ├── musthave.d
│           │   │   ├── kernel
│           │   │   └── smart
│           │   └── musthave.ies
│           └── pkgsync.default
└── manifests
    ├── config.pp
    ├── frequency.pp
    ├── init.pp
    └── sources.pp 
Para insertar, borrar o reemplazar nombres de paquetes en todos los ficheros musthave del servidor, podemos usar una simple combinación de comandos:
Me gustaría compartirlo. El problema es que tiene dependencia del módulo puppetlabs-apt para gestionar los repositorios de clientes y probablemente casi nadie lo esté usando. Así que habría que documentarlo muy bien y enseñar a utilizarlo.

Hay elementos del módulo, como garantizar que el paquete pkgsync esté instalado o ejecutar pkgsync cuando cambien los ficheros musthave que están comentados porque esa parte se gestiona desde Mérida, pero también podría estandarizarse.
Publicado por primera vez en http://enavas.blogspot.com.es

No hay comentarios: