Outro problema poderia ser as políticas do SELinux. Tente executar o restorcon nos arquivos.
restorcon -r /etc/puppet/files/
Eu gostaria de usar o módulo DOCSF (do github). Se eu tentar usá-lo, estou recebendo este resultado:
Error: /File[/var/lib/puppet/facts.d]: Failed to generate additional resources using 'eval_generate': Error 400 on SERVER: Permission denied - /etc/puppet/environments/production/modules/docsf/metadata.json
Error: /File[/var/lib/puppet/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet://puppetmaster.example.com/pluginfacts: Error 400 on SERVER: Permission denied - /etc/puppet/environments/production/modules/docsf/metadata.json
Info: Retrieving plugin
Error: /File[/var/lib/puppet/lib]: Failed to generate additional resources using 'eval_generate': Error 400 on SERVER: Permission denied - /etc/puppet/environments/production/modules/docsf/metadata.json
Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve file metadata for puppet://puppetmaster.example.com/plugins: Error 400 on SERVER: Permission denied - /etc/puppet/environments/production/modules/docsf/metadata.json
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Permission denied - /etc/puppet/environments/production/modules/docsf/metadata.json on node pp-testexample.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Estas são as permissões de arquivo no módulo:
-r--r--r--. 1 puppet root 734 24. Jun 2014 checksums.json
drwxrwxr-x. 3 puppet root 19 15. Sep 2015 lib
-r--r--r--. 1 puppet root 651 15. Sep 2015 LICENSE
drwxr-sr-x. 2 puppet root 71 15. Sep 2015 manifests
-r--r--r--. 1 puppet root 792 15. Sep 2015 metadata.json
-r--r--r--. 1 puppet root 2770 15. Sep 2015 README.md
drwxr-xr-x. 2 puppet root 27 15. Sep 2015 spec
drwxr-xr-x. 2 puppet root 4096 15. Sep 2015 templates
drwxr-xr-x. 2 puppet root 20 15. Sep 2015 tests
E esta é a árvore:
├── checksums.json
├── lib
│ └── facter
│ └── configserver_firewall.rb
├── LICENSE
├── manifests
│ ├── init.pp
│ ├── params.pp
│ ├── postinit.pp
│ └── preinit.pp
├── metadata.json
├── README.md
├── spec
│ └── spec_helper.rb
├── templates
│ ├── conf.maldet.erb
│ ├── csf.allow.erb
│ ├── csf.conf.erb
│ ├── csf.fignore.erb
│ ├── csf.ignore.erb
│ └── csf.pignore.erb
└── tests
└── init.pp
Alguma idéia?
Outro problema poderia ser as políticas do SELinux. Tente executar o restorcon nos arquivos.
restorcon -r /etc/puppet/files/