ManageIQ & Puppet Agent

Hi all,

by installing an Puppet Agent and a reboot of the MIQ server you will get the below errors and MIQ is not able to start. I think its related to the Ruby Version 1.8.x which is a dependency package for Puppet…

/var/www/miq/lib/appliance_console.rb:xxx syntax error, unexpected kWHEN, expecting kEND when I18n.t(“”)

Does anyone have an idea or workaround to install Puppet Agent on MIQ?


1 Like

Can you provide more details? Are you using ruby from RVM or are you using RPM? How do you install the puppet client?

Generally it seems that you need to make sure that you use different version of Ruby for the 2. See ‘rbenv’ or ‘rvm’.

Hi Martin,

How to reproduce:

  1.   Login via ssh to MIQ Server
  2.   Install Puppet Repo via “rpm -ivh”
  3.   Install Puppet Agent 3.8.1-1.el6 via “yum install puppet”


Package Arch Version Repository Size



puppet noarch 3.8.1-1.el6 puppetlabs-products 1.6 M

Installing for dependencies:

augeas-libs x86_64 1.0.0-7.el6_6.1 updates 313 k

compat-readline5 x86_64 5.2-17.1.el6 base 130 k

facter x86_64 1:2.4.4-1.el6 puppetlabs-products 99 k

hiera noarch 1.3.4-1.el6 puppetlabs-products 23 k

libselinux-ruby x86_64 2.0.94-5.8.el6 base 100 k

ruby x86_64 updates 538 k

ruby-augeas x86_64 0.4.1-3.el6 puppetlabs-deps 21 k

ruby-irb x86_64 updates 317 k

ruby-libs x86_64 updates 1.7 M

ruby-rdoc x86_64 updates 381 k

ruby-shadow x86_64 1:2.2.0-2.el6 puppetlabs-deps 13 k

rubygem-json x86_64 1.5.5-3.el6 puppetlabs-deps 763 k

rubygems noarch 1.3.7-5.el6 base 207 k

Transaction Summary


  1.   Login via Console and Restart Appliance via “Option 11”
  2.   Watch Reboot on Console => you will see the Syntax Error


Any update on this issue? Did it get resolved?
And can you please point me towards some documentation of how to integrate ManageIQ with puppet/chef/Powershell?


I know this is late, but it is so frustrating to find unanswered questions left hanging on a forum.

Here is the fix that I have found works for me:

Install puppet on your CFME, them open up /usr/bin/puppet with your favourite text editor and immediately below the shebang line (#!/usr/bin/ruby), add these three lines:

  ENV.delete x
end if $0.match(/\A#{'/usr/bin'}/)

Then ‘puppet agent -t’ and you’re up and running.

This is dodgy and awkward and brittle, of course. But you can use ansible, for instance, to 1. push out puppet, and 2. insert the necessary lines if they are missing (which by default they are). Not a perfect solution, but it’s sufficient for the present.

Would love to see the CFME support puppet, too.