Error: Unknown Puppet subcommand 'module'

0

It seems there is a problem with puppet on Ubuntu 12.04 LTS as its missing the module subcommand as follows:

Installed puppet in version 2.7.11

$ puppet module install rafaelfc-pear
Installing rafaelfc-pear puppet module...
Error: Unknown Puppet subcommand 'module'
See 'puppet help' for help on available puppet subcommands

$ puppet module install puppetlabs-apache
Installing puppetlabs-apache puppet module...
Error: Unknown Puppet subcommand 'module'
See 'puppet help' for help on available puppet subcommands

$ puppet module 
Error: Unknown Puppet subcommand 'module'
See 'puppet help' for help on available puppet subcommands

$ puppet help module
err: Could not find Puppet Face :module
err: Try 'puppet help help help' for usage

$ puppet module 
err: 'module' has no default action.  See `puppet help module`.

$ puppet help module
USAGE: puppet module  

With sudo, its the same thing.

Related: http://www.wiredpea.com/article/puppet-modules-and-ubuntu-1204

kenorb

Posted 2014-09-19T15:07:30.000

Reputation: 16 795

Answers

1

The puppet module face has been released in FOSS puppet in 2.7.14. It would have been in 2.7.13, but 2.7.13 got bumped to 2.7.14 by the recent security release.

This is according to: Bug #13937 - puppet 2.7.13 RPM missing "puppet module" face.

So you may try to re-install your puppet by the recent version:

$ curl -O https://apt.puppetlabs.com/puppetlabs-release-precise.deb && sudo dpkg -i puppetlabs-release-precise.deb # dpkg >= 1.17.7 # curl -o- https://apt.puppetlabs.com/puppetlabs-release-precise.deb | sudo dpkg --install - 
$ sudo apt-get update
$ sudo apt-get install puppet

Read more: Installing Puppet: Debian and Ubuntu

Or as workaround, you can try:

gem install puppet-module # Prefix with sudo if necessary.

See: Error: Unknown Puppet subcommand 'module'

kenorb

Posted 2014-09-19T15:07:30.000

Reputation: 16 795

2

Puppet 2.7.x is a very old version.

You should install a more recent version (3.7 at the time of this writing)

sudo apt-get install -y python-software-properties
cd /tmp
wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
sudo dpkg -i puppetlabs-release-precise.deb
apt-get update 
apt-get install -y puppet-common #masterless puppet
apt-get install -y puppet        #masterful puppet

spuder

Posted 2014-09-19T15:07:30.000

Reputation: 8 755

1

I only used Puppet Enterprise. But I believe usually you should use sudo for installing modules. Also, make sure you're running this stuff on the master, not on an agent.

fullmooninu

Posted 2014-09-19T15:07:30.000

Reputation: 339