3

I'm attempting to use the maestrodev/rvm module when provisioning a virtual machine with Vagrant, but am running into a problem when attempting to include rvm. I keep getting

Error: Could not find class rvm for vagrant-ubuntu-saucy-64 on node vagrant-ubuntu-saucy-64
Error: Could not find class rvm for vagrant-ubuntu-saucy-64 on node vagrant-ubuntu-saucy-64

I see the same error twice, and I see it before any other output. I have installed the module using

puppet module install maestrodev/rvm

and after running this command the output of puppet config print modulepath yields

/home/notgary/.puppet/modules:/usr/share/puppet/modules

while puppet module list yields

/home/notgary/.puppet/modules
├── maestrodev-rvm (v1.2.0)
├── puppetlabs-apache (v0.9.0)
├── puppetlabs-concat (v1.0.0)
└── puppetlabs-stdlib (v4.1.0)
/usr/share/puppet/modules (no modules installed)

The above output reveals the module (the first entry in the list) to be installed in ~/.puppet/modules and the output above that reveals that this directory is included in the modulepath. Unless I am misunderstanding the what this means, I would expect include rvm to install rvm in /usr/local/rvm, as stated in the documentation, but when the puppet compiler hits that line, I get the error message mentioned at the top of this post.

Does anyone know what I'm doing wrong here?

1 Answers1

1

By default puppet looks for modules in $confdir/modules and /usr/share/puppet/modules.

$ sudo puppet config print modulepath
/etc/puppet/modules:/usr/share/puppet/modules

This does not include $HOME/.puppet, but that's where you installed the module. Install the modules as root, or change the modulepath in $confdir/puppet.conf.

sciurus
  • 12,493
  • 2
  • 30
  • 49
  • Thanks for the reply, but I've got it installed in both `/etc/puppet/modules` and `~/.puppet/modules`, but it's still not getting picked up. –  Nov 17 '13 at 01:07