In this instance we are trying to run Red Hat Cloudforms, also known as Manage IQ, and Puppet together on the same RHEL 6 host.
Our goal here is to push out some configuration to the Cloudforms appliances via Puppet. However we ran into issues as the version of Ruby/Ruby Gems used by Cloudforms is different than the version used by Puppet and they are stepping on each other a bit.
Here is the error we see when attempting to run Puppet
# puppet agent -t
/opt/rh/ruby200/root/usr/share/gems/gems/json-1.8.2/lib/json/ext/parser.so: [BUG] Segmentation fault
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
Aborted (core dumped)
As a workaround we add this code to /usr/bin/puppet.
%w(GEM_ROOT GEM_HOME GEM_PATH).map do |x|
ENV.delete x
end if $0.match(/\A#{‘/usr/bin’}/)
We add this right below
#!/us/bin/ruby
By no means is this the best way to work around this issue, however it does work and will get you up and running.