Uploaded image for project: 'Puppet Server'
  1. Puppet Server
  2. SERVER-78

ruby-load-path does not recursively scan system ruby gem path

    XMLWordPrintable

Details

    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.

      Attachments

        Activity

          People

            matthaus Past Haus
            darin Darin Perusich
            Erik Dasher Erik Dasher
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Zendesk Support