Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Do
-
None
-
None
-
OpenSUSE 13.1
openjdk-1.7.0
puppet-3.7.1
rubygem-hiera-1.2.1
Installation REPO:
http://download.opensuse.org/repositories/systemsmanagement:/puppet/openSUSE_13.1/
Description
On OpenSUSE/SLES systems Hiera is packaged from a gem, package name rubygem-hiera, and installed under %{_libdir}/ruby/gems/%
{rb_ver}/ instead of %{_libdir}/ruby/vendor_ruby/%{rb_ver}. The ruby-load-path values are typically /usr/lib64/ruby/vendor_ruby/2.0.0 and or /usr/lib64/ruby/site_ruby/2.0.0, so the hiera terminus fails load resulting in a client side error of "Puppet::Parser::AST::Resource failed with error RuntimeError: Hiera terminus not supported without hiera library". In order for puppetserver to find the hiera terminus you need to specify the full path to the hiera/lib directory, which in this case is /usr/lib64/ruby/gems/2.0.0/gems/hiera-1.2.1/lib, in os-settings.conf. Ideally only specifying the top level gem directory, %{_libdir}/ruby/gems/%
{rb_ver}/, and having it recursively searched would ensure the library isn't missed due to package updated which would change said path.
Perhaps implemented a gems-load-path or something similar in addition to the ruby-load-path for systems packages might be a solution.