Ask Your Question
0

Installing puppet-lint to PE, error "Provider gem is not functional on this host"

asked 2015-04-13 19:17:54 -0500

I would like to install puppet-lint in my Puppet Enterprise 3.7 test environment on my laptop, using a freshly installed PE3.7 image from https://docs.puppetlabs.com/pe/latest... .

To install puppet-lint, I created a site::basic class, and I associated the class with a node group. That part seems to work. I added puppet-lint to this class with the following code:

[root@pe3 manifests]# pwd
/etc/puppetlabs/puppet/environments/production/modules/site/manifests
[root@pe3 manifests]# cat basic.pp 
class site::basic {

  package { 'puppet-lint':
    ensure   => '1.1.0',
    provider => 'gem',
  }

}
[root@pe3 manifests]#

But then, apparently gems are not available as a provider:

[root@pe3 manifests]# puppet agent --test
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for pe3.example.org
Notice: hello, world! (notify)
Notice: /Stage[main]/Helloworld/Notify[hello, world! (notify)]/message: defined 'message' as 'hello, world! (notify)'
Error: /Package[puppet-lint]: Provider gem is not functional on this host
Notice: Finished catalog run in 13.35 seconds
[root@pe3 manifests]#

How can I make gem a valid provider?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2015-04-13 23:37:22 -0500

GregLarkin gravatar image

This ought to fix the problem for you:

package { 'rubygems':
  ensure => present,
}

package { 'puppet-lint':
  ensure   => '1.1.0',
  provider => 'gem',
  require  => Package['rubygems'],
}

Certain providers require additional packages or other configuration to be present on the machine in order to function correctly. The error message is a bit obtuse, but generally when you see "XXX is not functional on this host", it means that some required binary is missing.

edit flag offensive delete link more

Comments

Thanks for the solution. I assumed that Puppet's error message would be more intuitive, but I guess it makes sense now that I understand it better.

stefanlasiewski gravatar imagestefanlasiewski ( 2015-04-17 19:45:26 -0500 )edit
0

answered 2016-10-06 00:47:54 -0500

ln -s /opt/puppetlabs/puppet/bin/gem /usr/local/bin/gem

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2015-04-13 19:17:54 -0500

Seen: 2,550 times

Last updated: Apr 13 '15