#StackBounty: #puppet #rubygems Puppetserver unable to locate gems

Bounty: 200

I’m trying to use a module which adds an AWS Secrets Manager hiera backend:

https://forge.puppet.com/accenture/hiera_aws_sm

This module requires the aws-sdk-secretsmanager gem, which I installed via puppetserver:

$ sudo puppetserver gem install aws-sdk-secretsmanager

I can also see this gem listed in puppetserver:

$ sudo puppetserver gem list

*** LOCAL GEMS ***

<trimmed>
aws-sdk-schemas (1.6.0)
aws-sdk-secretsmanager (1.40.0, 1.39.0)
aws-sdk-securityhub (1.29.0)
<trimmed>

The module itself contains the following line to import the gem:

require 'aws-sdk-secretsmanager'

When I try to run an agent test…

$ sudo puppet agent --test

… when this module tries to run I get the following error (after commenting out some error handling obfuscation the module added):

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Internal Server Error: org.jruby.exceptions.LoadError: (LoadError) no such file to load -- aws-sdk-secretsmanager

I can’t work out why the puppetserver jruby instance can’t load the gem since it appears in list and have hit a bit of a wall in debugging it.


Get this bounty!!!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.