Então ... isso é um pouco embaraçoso, mas ...
Ambientes
Aí mesmo no meu arquivo /etc/puppet.conf
está este:
[master]
manifest=$confdir/manifests/site.pp
modulepath=$confdir/environments/$environment/modules:$confdir/modules
Depois de jogar strace
para descobrir onde estava procurando arquivos, notei algo. Ele estava procurando por custommod em /etc/puppet/environments/production/modules
, e como havia um diretório lá (vazio), ele não executou a verificação /etc/puppet/modules
. Aparentemente, ao importar um módulo, ele verifica a existência de diretório, em vez da presença de arquivo (init.pp).
Remover esse diretório vazio, as coisas começam a funcionar.
Execute o agente fantoche usando um ambiente diferente, as coisas começam a funcionar.
Moral da história:
Puppet Environment paths do not act like bash $PATH.