This issue was originally opened by @pscadiz as hashicorp/packer#5373. It was migrated here as a result of the Packer plugin split. The original body of the issue is below.
Packer version : 1.1.0 (also 1.0.4)
I'm calling the puppet-master provisioner as described
{
"type": "puppet-masterless",
"puppet_bin_dir": "/opt/puppetlabs/bin",
"manifest_file": "puppet/site.pp",
"hiera_config_path": "puppet/hiera.yaml",
"module_paths": "puppet/modules",
"prevent_sudo": true,
"ignore_exit_codes": true
}
Puppet provisioner gets run as described:
docker: Running Puppet: cd /tmp/packer-puppet-masterless && FACTER_packer_build_name='docker' FACTER_packer_builder_type='docker' /opt/puppetlabs/bin/puppet apply --verbose --modulepath='/tmp/packer-puppet-masterless/module-0' --hiera_config='/tmp/packer-puppet-masterless/hiera.yaml' --detailed-exitcodes /tmp/packer-puppet-masterless/manifests/site.pp
docker: Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::stdlib
And when looking at the module-0 directory, it's listing not the modules but a parent directory
docker: total 12
docker: drwxr-xr-x 3 root root 4096 Sep 22 01:10 .
docker: drwxr-xr-x 4 root root 4096 Sep 22 01:10 ..
docker: drwx------ 29 root root 4096 Sep 22 01:10 dirupload914812728
Checked that directory and that's where the modules reside.
Why are the modules being uploaded into a dirupload/ directory when puppet is setting --modulepath incorrectly?