puppet 3.8.x with ruby 2.3 works on Ubuntu Xenial, broken with puppetlab packages

1,205 views
Skip to first unread message

John Leach

unread,
May 13, 2016, 1:20:20 PM5/13/16
to Puppet Users
Hi,

Puppet 3.x support for > 2.1 was broken in the past but I think it's fixed now (I can't quite follow the
bug reports and pull requests properly). It works on the official Ubuntu packages shipped Xenial (3.8.5)
and Xenial ships with ruby 2.3.

But puppet 3.8.5 from the puppetlabs apt repository for *Trusty* does NOT work on Trusty with ruby 2.3.

So, my Trusty server has puppet 3.8.5-1puppetlabs1 installed and spits out this error:

# puppet agent --test
/usr/lib/ruby/vendor_ruby/safe_yaml/syck_node_monkeypatch.rb:42:in `<top (required)>': uninitialized constant Syck (NameError)
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/vendor_ruby/safe_yaml/load.rb:171:in `<module:SafeYAML>'
...

It seems I should be able to run puppet 3.8.x (at least 3.8.5) on Ubuntu Trusty but the puppetlabs
packages don't work.

Anyone know what the situation is here?

Thanks,

John.
---
https://www.brightbox.com

jcbollinger

unread,
May 16, 2016, 9:17:54 AM5/16/16
to Puppet Users


On Friday, May 13, 2016 at 12:20:20 PM UTC-5, John Leach wrote:
Hi,

Puppet 3.x support for > 2.1 was broken in the past but I think it's fixed now (I can't quite follow the
bug reports and pull requests properly). It works on the official Ubuntu packages shipped Xenial (3.8.5)
and Xenial ships with ruby 2.3.


The latest Puppet 3.8 docs enumerate the supported Ruby versions: 2.1.x, 2.0.x, 1.9.3, 1.8.7.  Puppet 4 drops support for Ruby 1.8.7, but even the latest Puppet 4 does not officially support Ruby newer than 2.1.x.

 

But puppet 3.8.5 from the puppetlabs apt repository for *Trusty* does NOT work on Trusty with ruby 2.3.



This sort of thing is why Puppet, Inc. started distributing all-in-one packages (in Puppet 4).  I dislike that they refuse to endorse any other kind of distribution or packaging, but I certainly do appreciate why they want to provide AIOs.

 
It seems I should be able to run puppet 3.8.x (at least 3.8.5) on Ubuntu Trusty


I do not doubt that you can run Puppet 3.8 on Ubuntu Trusty, but I wouldn't be much surprised to find that you can't rely on the system's standard Ruby for that, at least not out of the box.  You may need a Ruby 2.1 installation to support Puppet.


John

Reply all
Reply to author
Forward
0 new messages