Comments (14)
The permissions are set by the puppet module tool.
https://github.com/puppetlabs/puppet/blob/master/lib/puppet/module_tool/tar/gnu.rb
from puppet-collectd.
To clarify: are you saying that the permissions are correct as they are? Because in our case, they assuredly weren't.
The puppet module tool looks like it indeed should set the right permissions but in our case, it took about 3 hours of investigating practically every aspect of the module until we found it was a permissions issue.
from puppet-collectd.
What version of Puppet are you running? I'm saying that I shouldn't need to set the permissions as the Puppet module tool should do it for me.
from puppet-collectd.
I'm having the same problem here, it seems to be that the tarball from the forge has wrong permissions:
$ tar tvf pdxcat-collectd-2.0.1.tar.gz
drwx------ 0 blkperl them 0 15 abr 00:44 pdxcat-collectd-2.0.1/
-rw------- 0 blkperl them 308 21 mar 19:11 pdxcat-collectd-2.0.1/Rakefile
-rw------- 0 blkperl them 11539 15 abr 00:44 pdxcat-collectd-2.0.1/metadata.json
drwx------ 0 blkperl them 0 15 abr 00:44 pdxcat-collectd-2.0.1/spec/
drwx------ 0 blkperl them 0 15 abr 00:44 pdxcat-collectd-2.0.1/spec/classes/
-rw------- 0 blkperl them 1098 21 mar 21:23 pdxcat-collectd-2.0.1/spec/classes/collectd_plugin_interface_spec.rb
-rw------- 0 blkperl them 2114 21 mar 21:23 pdxcat-collectd-2.0.1/spec/classes/collectd_plugin_snmp_spec.rb
-rw------- 0 blkperl them 1936 21 mar 21:23 pdxcat-collectd-2.0.1/spec/classes/collectd_plugin_swap_spec.rb
-rw------- 0 blkperl them 1114 21 mar 21:23 pdxcat-collectd-2.0.1/spec/classes/collectd_plugin_iptables_spec.rb
-rw------- 0 blkperl them 1084 21 mar 21:23 pdxcat-collectd-2.0.1/spec/classes/collectd_plugin_unixsock_spec.rb
-rw------- 0 blkperl them 1023 21 mar 21:23 pdxcat-collectd-2.0.1/spec/classes/collectd_plugin_disk_spec.rb
-rw------- 0 blkperl them 894 14 abr 20:52 pdxcat-collectd-2.0.1/spec/classes/collectd_plugin_libvirt_spec.rb
-rw------- 0 blkperl them 1334 21 mar 21:23 pdxcat-collectd-2.0.1/spec/classes/collectd_plugin_processes_spec.rb
And librarian-puppet just extracts the tarball, so it would be a better idea to re-create the tarball with the correct permissions and upload it again to the forge.
from puppet-collectd.
What version of Puppet @dvigueras ?
from puppet-collectd.
$ puppet --version
3.4.3
$ librarian-puppet version
librarian-puppet v1.0.1
from puppet-collectd.
I made an issue on Jira at the request of Ryan. In the meantime, I'll investigate re-uploading with different perms.
https://tickets.puppetlabs.com/browse/FORGE-163
from puppet-collectd.
Ah, I think I understand what's going on now. The puppet module
tool will apply permissions based on the modulepath at install time. This behavior will not come into play with librarian-puppet which just unpacks the tarball, leaving you with whatever the module author packaged with.
I don't think it's appropriate to try and guess permissions at puppet module build
time. It's probably more appropriate that third-party tools like librarian-puppet take care of it, like PMT does during install.
from puppet-collectd.
FYI, This issue still occurs. Example:
Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve file metadata for puppet://xxxxx.test/plugins: Error 400 on SERVER: Permission denied - /etc/puppet/modules/collectd/metadata.json
Wrapped exception:
Error 400 on SERVER: Permission denied - /etc/puppet/modules/collectd/metadata.json
After doing chmod -R 755 collectd/* the issue went away
from puppet-collectd.
Fixed in new release. Someone should file a bug with librarian-puppet.
from puppet-collectd.
FWIW librarian-puppet only calls puppet module tool for forge dependencies. I have updated the issue at https://tickets.puppetlabs.com/browse/FORGE-163
from puppet-collectd.
@blkperl Which version did you fix the permissions in? If it hasn't been released yet, could it be?
from puppet-collectd.
@dkowis I just released v3.0.1 the perms should be correct in that one.
from puppet-collectd.
@blkperl Thanks, it works now :D
from puppet-collectd.
Related Issues (20)
- File['collectd.d'] -> Concat <| tag == 'collectd' |> is too greedy HOT 2
- collectd::plugin::rabbitmq manifest - Should have a OS test override option
- When can we expect a new version?
- service.pp incorrectly references static service name HOT 1
- plugin_conf_dir_mode too strict for /usr/lib/python2.7/site-packages/ HOT 1
- Hiera Support HOT 4
- ProcEvent plugin uses ProcessRegex instead of RegexProcess
- Puppet needs to run twice to apply CollectD configuration HOT 3
- Error with Plugin "Load" with collectd-5.9 and RHEL-8 HOT 1
- Migrate to module level hiera data.
- processes-config.conf file is not created HOT 10
- [Feature Request] Expose collectd::plugin::order to defined plugin classes
- collectd fails to load when using multiple hostname format values
- ovs_stats port number mismatch
- Python plugin template does not create valid module configuration
- collectd::plugin::virt plugin_instance_format should not be Enum
- postgresql plugin does not produce working database configuration with writer query
- [release request] v12.3.0 HOT 3
- Add Chrony Plugin
- Upgrade puppet-epel version HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puppet-collectd.