2

I'm trying to use puppet module in a vagrant setup. In a worked around the problem I tried to solve in this stackoverflow question. I cloned the puppet module repo (apt module and nodejs module) into a sub folder set the puppet module path in the vagrantfile

And include the puppet modules and call them in the puppet manifest file for example:

class { 'apt':
}
include apt

class{ 'apt':} -> apt::builddep { ["python-imaging","python-lxml"]:
    require => Class['apt'] 
 }

I wonder, maybe there is an install/build step I'm missing when I just git clone the repo? is this even possible to do?

The error message:

←[0;37mdebug: importing '/tmp/vagrant-puppet/modules-0/apt/manifests/init.pp' in
 environment production←[0m
←[0;37mdebug: Automatically imported apt from apt into production←[0m
←[0;37mdebug: importing '/tmp/vagrant-puppet/modules-0/apt/manifests/params.pp'
in environment production←[0m
←[0;37mdebug: Automatically imported apt::params from apt/params into production
←[0m
←[0;37mdebug: importing '/tmp/vagrant-puppet/modules-0/apt/manifests/update.pp'
in environment production←[0m
←[0;37mdebug: Automatically imported apt::update from apt/update into production
←[0m
Unknown function validate_bool at /tmp/vagrant-puppet/modules-0/apt/manifests/in
it.pp:36 on node precise32
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

cd /tmp/vagrant-puppet/manifests && puppet apply --verbose --debug --modulepath
'/etc/puppet/modules:/tmp/vagrant-puppet/modules-0' default.pp --detailed-exitco
des || [ $? -eq 2 ]
Community
  • 1
  • 1
alonisser
  • 11,542
  • 21
  • 85
  • 139
  • 1
    I had a problem very similar to this, one thing I noticed was that the cloned repo was named `puppetlabs-nodejs` but I had to rename it to `nodejs` otherwise my puppet apply would not find it. – Owen Allen Sep 09 '13 at 18:32

1 Answers1

2

You are missing the stdlib module, which is a dependency at least of the apt module, and which provides, among other things, the validate_bool function Puppet can't find.

You can find the stdlib module here:
https://github.com/puppetlabs/puppetlabs-stdlib

Use the Puppet module installation tool rather than just cloning a single repo.

http://docs.puppetlabs.com/puppet/latest/reference/modules_installing.html

or better yet use librarian-puppet.

Community
  • 1
  • 1
Stefano Zanella
  • 353
  • 1
  • 7