4 votos

¿Cómo debo manejar instancias de menta con títeres?

Yo uso de Puppet para establecer la seguridad de máquinas virtuales a partir de tiempo al tiempo. A veces puedo ejecutar Linux Mint en estas máquinas virtuales. Tengo un montón de Puppet módulos me gusta usar, pero cuando se compruebe el LSB hechos que el retroceso de la extraña versión de Linux Mint.

Por ejemplo, yo estoy usando el oficial Puppet Labs Java módulo para instalar el JDK y tal. Los parámetros.el pp de archivo se parece a esto (he recortado mucho de ella):

class java::params {

  case $::osfamily {
    'RedHat': {...}
    'Debian': {
      case $::lsbdistcodename {
        default: { fail("unsupported release ${::lsbdistcodename}") }
        'lenny', 'squeeze', 'lucid', 'natty': {
          $java  = {
            'jdk' => {
              'package'          => 'openjdk-6-jdk'...
            },
            'jre' => {
              'package'          => 'openjdk-6-jre-headless...
            },
          }
        }
        'wheezy', 'jessie', 'precise','quantal','raring','saucy', 'trusty', 'utopic': {
             ...I could add 'rebecca' to the above list, and that would probably do it
          $java =  {
            'jdk' => {
              'package'          => 'openjdk-7-jdk'...
            },
            'jre' => {
              'package'          => 'openjdk-7-jre-headless'
            },
            'oracle-jre' => {...},
            'oracle-jdk' => {...},
          }
        }
      }
    }
...
    default: { fail("unsupported platform ${::osfamily}") }
  }

cuando ejecuto el agente en la casa de la moneda de instancia, que finalmente se obtiene:

Error: no se Pudo recuperar el catálogo de servidor remoto: Error 400 en SERVIDOR: no admitidos liberación de rebeccaen /etc/puppet/modules/java/manifiestos/params.pp:50 en el nodo algunos.host.com

rebecca es la versión de Linux Mint me estoy tratando en este momento, que corresponde a Ubuntu Trusty.

Pero cada Menta versión se basa en una versión de Ubuntu, y que debería funcionar bien. (Lo suficientemente fino como para intentar, al menos.) Realmente me gustaría decirle a facter a devolver el equivalente de Ubuntu lsb de la información, en lugar de modificar el módulo, y todos los otros módulos. A pesar de que podría ser un servicio a la comunidad...

Alguien ha tratado de resolver este problema? Ideas?

1voto

shearn89 Puntos 725

Esta página parece implicar que puede reemplazar hechos Facter estableciendo una variable de entorno:

# show the operating system we are running (retrieved from facter)
$ puppet -e 'notify { "We are running on $operatingsystem": }'
notice: We are running on Fedora

# override $operatingsystem for testing purposes
$ FACTER_operatingsystem=Debian puppet -e 'notify { "We are running on $operatingsystem": }'
notice: We are running on Debian

¿En cuyo caso, serían capaces de construir cada uno rebecca host con la variable FACTER_lsbdistcodename=trusty ?

No he probado esto, pero los hechos son simplemente cosas por el nodo y como tal deben ser fácilmente reemplazable/editable...

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: