Puppet 3.7 does not install on Amazon linux after the 2015.03 release

amazon-linuxpuppet

hi i am/was using amazon linux and using the RHEL 6 puppetlabs repositories to upgrade the installed puppet client from 2.7 to 3.7.

With the latest release of Amazon Linux 2015.03

this process raised the error

25-Mar-2015 13:06:59 amazon-ebs: Error: Package: puppet-3.7.4-1.el6.noarch (puppetlabs)

25-Mar-2015 13:06:59 amazon-ebs: Requires: ruby(selinux)

my code to install puppet was:

sudo rpm -Uvh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-11.noarch.rpm
cd /etc/yum.repos.d/
sudo rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
sudo yum -y update
sudo yum install -y puppet facter augeas

my current work around for this is essentially to stop using the puppet repositories and use the amazon provided ones:

sudo yum -y update
sudo yum install -y puppet3 facter2 augeas

Any advice on how to use the current puppet RHEL 6 or other repositories would be much appreciated.

Best Answer

Amazon Linux is based on RHEL, but they broke compatibility to RHEL a while ago.
From https://docs.puppetlabs.com/guides/install_puppet/install_el.html#supported-versions:

This information applies to RHEL itself, as well as any distributions that maintain binary compatibility with it, including but not limited to CentOS, Scientific Linux, Oracle Linux, and Ascendos.

As Amazon AMI upgraded their ruby version to 2.0 (and now even 2.2) those repos cannot work anymore.
See also https://tickets.puppetlabs.com/browse/PUP-2132

The mentioned workaround in there is to use rubygems to install puppet and facter manually.

Related Topic