"Osfamily não suportado: Linux" ao tentair instalair o Apache usando Puppet

Estou tentando configurair uma configuration de fantoche simples no AWS EC2 usando o último AMI do Amazon Linux.

Eu segui o guia de installation da RHEL e tive um daemon de puppetmasterd executando.

Quando aplicair o seguinte manifesto em /etc/puppet/manifests/site.pp :

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

Recebo o erro:

 [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_viewsion.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_vairdir.rb err: Could not retrieve catalog from remote serview: Error 400 on SERVER: Class['apache::viewsion']: Unsupported osfamily: Linux at /etc/puppet/modules/apache/manifests/viewsion.pp:37 on node ip-172-31-1-239.eu-west-1.compute.internal wairning: Not using cache on failed catalog err: Could not retrieve catalog; skipping run 

A pairtir da viewsion.pp do module Apache paira Puppet, posso view por que o manifesto está crashndo em instalair o Apache, mas não consigo entender por que o Facter informa a osfamily como "Linux" em primeiro lugair:

 [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.noairch [ec2-user@ip-172-31-1-239 ~]$ rpm -qa | grep puppet puppetlabs-release-6-11.noairch puppet-2.7.25-1.4.amzn1.noairch puppet-serview-2.7.25-1.4.amzn1.noairch [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/shaire/puppet/modules (no modules installed) 

Alguém alguma idéia de como eu posso resolview isso?

Não use o Amazon Linux. O module Apache dos Puppet Labs não é compatível com o Amazon Linux. Você precisairá usair uma das distribuições com as quais é compatível ou criair seu próprio module de fantoche.

Depois de olhair paira isso com um novo pair de olhos hoje, descobri que o Facter v1.7.0 inclui uma correção que classifica o Amazon Linux como "RedHat" corretamente: https://github.com/puppetlabs/facter/commit/c12d3b6c557df695a7b2b009da099f6a93c7bd31

Agora eu sei por que está sendo relatado de forma incorreta, eu preciso saber por que não estou obtendo o Foter v1.7.0 instalado no retalho PuppetLabs Yum, que está fora do alcance desta questão.

O problema pairece estair no file /usr/lib/ruby/site_ruby/1.8/facter/osfamily.rb

que acaba por usair o sistema osoperatório como osfamília no caso do Amazon Linux.

A linha 19 é:

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

e deve ser:

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