TransWikia.com

Puppetserver unable to locate gems

Server Fault Asked on November 4, 2021

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.

One Answer

Turns out this issue was because multiple versions of aws-sdk-secretsmanager were installed somehow:

$ sudo puppetserver gem list

*** LOCAL GEMS ***

<trimmed>
aws-sdk-secretsmanager (1.40.0, 1.39.0)
<trimmed>

Running...

$ sudo puppetserver gem uninstall aws-sdk-secretsmanager

... accepting the prompt to uninstall all installed versions and then running...

$ sudo puppetserver gem install aws-sdk-secretsmanager

... solved the issue.

Answered by Taz on November 4, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP