Назад | Перейти на главную страницу

Марионетка: ошибка 400 на сервере: отказано в разрешении

Я бы хотел использовать DOCSF-модуль (из github). Если я попытаюсь его использовать, я получаю такой результат:

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

Это права доступа к файлам в модуле:

-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

А это дерево:

├── 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

Любые идеи?

Другой проблемой могут быть политики SELinux. Попробуйте запустить restorcon для файлов.

restorcon -r / etc / puppet / files /

Файлы внутри марионеточных модулей должны быть 0644 минимум. На github есть несколько примеров:

https://tickets.puppetlabs.com/browse/FORGE-163

https://github.com/voxpupuli/puppet-collectd/issues/179

https://github.com/rodjek/librarian-puppet/issues/251

Просто измените завивки, чтобы они соответствовали другим файлам, и все будет в порядке