If module_path isn't defined in r10k or puppet config, it ends up being nil, but this isn't caught in either validation or at runtime. The result is that, though the debug logs are clear:
INFO interface: info: vagrant-r10k: Building the r10k module path with puppet provisioner module_path "". (if module_path is an array, first element is used)
INFO interface: info: ==> default: vagrant-r10k: Building the r10k module path with puppet provisioner module_path "". (if module_path is an array, first element is used)
The run will fail with an unhelpful error:
/vagrant-r10k-0.2.0/lib/vagrant-r10k/modulegetter.rb:90:in `join': no implicit conversion of nil into String (TypeError)
See #18 for an example.
If module_path isn't defined in r10k or puppet config, it ends up being nil, but this isn't caught in either validation or at runtime. The result is that, though the debug logs are clear:
The run will fail with an unhelpful error:
and then a traceback.