"Unsupported osfamily: Linux" al intentar instalar Apache usando Puppet

Estoy tratando de configurar una configuration de títeres simple en AWS EC2 utilizando el último Amazon Linux AMI.

He seguido a través de la guía de installation para RHEL y tengo un demonio puppetmasterd corriendo.

Cuando aplique el siguiente manifiesto en /etc/puppet/manifests/site.pp :

 node 'ip-172-31-1-239.eu-west-1.compute.internal' { class { 'apache': } } 

Tengo el error:

 [ec2-user@ip-172-31-1-239 ~]$ sudo puppet agent --test info: Loading facts in /etc/puppet/modules/concat/lib/facter/concat_basedir.rb info: Loading facts in /etc/puppet/modules/stdlib/lib/facter/pe_version.rb info: Loading facts in /etc/puppet/modules/stdlib/lib/facter/root_home.rb info: Loading facts in /etc/puppet/modules/stdlib/lib/facter/facter_dot_d.rb info: Loading facts in /etc/puppet/modules/stdlib/lib/facter/puppet_vardir.rb err: Could not retrieve catalog from remote server: Error 400 on SERVER: Class['apache::version']: Unsupported osfamily: Linux at /etc/puppet/modules/apache/manifests/version.pp:37 on node ip-172-31-1-239.eu-west-1.compute.internal warning: Not using cache on failed catalog err: Could not retrieve catalog; skipping run 

Desde version.pp del module Apache para Puppet puedo ver por qué el manifiesto falla al instalar Apache, pero no puedo entender por qué Facter está reportando la osfamily como "Linux" en primer lugar:

 [ec2-user@ip-172-31-1-239 ~]$ facter | grep osfamily osfamily => Linux [ec2-user@ip-172-31-1-239 ~]$ rpm -qa | grep facter facter-1.6.18-7.25.amzn1.noarch [ec2-user@ip-172-31-1-239 ~]$ rpm -qa | grep puppet puppetlabs-release-6-11.noarch puppet-2.7.25-1.4.amzn1.noarch puppet-server-2.7.25-1.4.amzn1.noarch [ec2-user@ip-172-31-1-239 ~]$ sudo puppet module list /etc/puppet/modules ├── puppetlabs-apache (v1.4.0) ├── puppetlabs-concat (v1.2.0) └── puppetlabs-stdlib (v4.5.1) /usr/share/puppet/modules (no modules installed) 

Alguien alguna idea de cómo puedo resolver esto?

3 Solutions collect form web for “"Unsupported osfamily: Linux" al intentar instalar Apache usando Puppet”

No utilice Amazon Linux. El module Puppet Labs Apache no es compatible con Amazon Linux. Tendrá que utilizar una de las distribuciones con las que es compatible, o crear su propio module de marionetas.

Después de mirarlo con un nuevo par de ojos hoy, he encontrado que Facter v1.7.0 incluye una corrección que clasifica a Amazon Linux como "RedHat" correctamente: https://github.com/puppetlabs/facter/commit/c12d3b6c557df695a7b2b009da099f6a93c7bd31

Ahora sé por qué está siendo informado incorrectamente, necesito saber por qué no estoy recibiendo Facter v1.7.0 instalado desde el repo PuppetLabs Yum, que está fuera del scope de esta pregunta.

El problema parece estar en el file /usr/lib/ruby/site_ruby/1.8/facter/osfamily.rb

que termina usando el osoperatingsystem como osfamily en el caso de Amazon Linux.

La línea 19 es:

  when "RedHat", "Fedora", "CentOS", "Scientific", "SLC", "Ascendos", "CloudLinux", "PSBM", "OracleLinux", "OVS", "OEL" 

y debe ser:

  when "RedHat", "Fedora", "CentOS", "Scientific", "SLC", "Ascendos", "CloudLinux", "PSBM", "OracleLinux", "OVS", "OEL", "Amazon" 
  • títere: nagios hosts file mantiene duplicates agregados
  • Puppet: error del recurso ya definido
  • ¿Cómo puedo ejecutar un script de shell desde títeres?
  • Obtener una matriz de resources virtuales de marionetas
  • Puppet 2.7: ¿Puedo configurar un títere: // server de files con Apache en un no-puppetmaster?
  • Amazon EC2 EBS volumen de copy de security / instantáneas progtwigdas utilizando marionetas / herramientas similares
  • Marioneta: No se puede iniciar el service de calamar
  • ¿Función de marioneta de la marioneta de la plantilla?
  • Puppet Aplicar en Windows más de 28 veces más lento desde la versión 3.3
  • Marioneta: asegúrese de que el usuario esté en el grupo de rueda en todos los nodos sin afectar la pertenencia a otro grupo
  • Problema para conseguir que la marioneta sincronice un hecho personalizado
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.