"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" 
  • ¿La parametrización selectiva de resources definida por títeres?
  • Cómo agregar varias comprobaciones de OS para un package en títere
  • El agente de títeres falla esporádicamente, con el time de espera o el error "No se puede encontrar la class"
  • ¿Cuál es la forma más sencilla de instalar Tomcat7 a través de títeres con dependencies?
  • Recursos del module de títeres
  • Utilizar hostname como entorno en Puppet
  • CentOS - Configuración de títeres para jugar agradable con SELinux
  • Desinstallation / actualización de títeres
  • ¿Cómo se puede instalar títere en CentOS 7
  • Vagrant VM idénticos instalan packages de pip de manera diferente?
  • Sintaxis de títeres para la networkingirección de la cadena de salida de iptables
  • Puppet incapaz de enviar hechos a Foreman - "tlsv1 alert unknown ca"
  • He roto mi títere, los clientes están fallando la presentación de informes "No se pudo ejecutar Puppet cliente de configuration: Estándar de parameters no válido"
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.