Brian Troutwine
2012-Jan-30 20:54 UTC
[Puppet Users] File path resolution oddity in puppet nginx+thin setup.
For the purposes of this email I need to make a distinction between my Production puppet master and my Development puppet master. In either case, my /etc/puppet/puppet.conf is: [main] ssldir=$vardir/ssl [master] certname=puppet Development puppet master is run: # puppetmasterd --debug --no-daemonize and Production puppet master is a thin/nginx affair. Please find the relevant nginx configuration files in this gist: https://gist.github.com/1706549 and the thin configuration in this gist: https://gist.github.com/1706558 ---- Using https://github.com/plathrop/puppet-module-supervisor I find that the source line path in manifests/init.pp causes a 404 when running in Production mode: ''/etc/logrotate.d/supervisor'': source => ''puppet:///modules/supervisor/logrotate'', require => Package[$supervisor::params::package]; but if I modify the path to be simply ''puppet:///supervisor/logrotate'' all is well. The first and second form succeed in Development mode. It''s my understanding that the first form is _correct_ and that my Production mode should have no issues with it. Running ''puppet agent --test'' when master is configured in Production mode results in: # puppet agent --test info: Caching catalog for puppet.troutwine.us info: Applying configuration version ''1327955332'' err: /Stage[main]/Supervisor/File[/etc/logrotate.d/supervisor]/ensure: change from absent to file failed: Could not set ''file on ensure: Error 404 on SERVER: <html> <head><title>404 Not Found</title></head> <body bgcolor="white"> <center><h1>404 Not Found</h1></center> <hr><center>nginx/1.1.8</center> </body> </html> at /etc/puppet/modules/supervisor/manifests/init.pp:32 notice: Finished catalog run in 1.89 seconds and the logs from /var/log/nginx/access.log # cat /var/log/nginx/{access,error}.log 127.0.1.1 - - [30/Jan/2012:20:50:58 +0000] "POST /production/catalog/puppet.troutwine.us HTTP/1.1" 200 13290 "-" "Ruby" 127.0.1.1 - - [30/Jan/2012:20:51:00 +0000] "GET /production/file_metadata/modules/supervisor/logrotate? HTTP/1.1" 200 308 "-" "Ruby" 127.0.1.1 - - [30/Jan/2012:20:51:00 +0000] "GET /production/file_content/modules/supervisor/logrotate HTTP/1.1" 404 168 "-" "Ruby" 127.0.1.1 - - [30/Jan/2012:20:51:01 +0000] "PUT /production/report/puppet.troutwine.us HTTP/1.1" 200 14 "-" "Ruby" 2012/01/30 20:51:00 [error] 10716#0: *222 open() "/etc/puppet/modules/modules/files/supervisor/logrotate" failed (2: No such file or directory), client: 127.0.1.1, server: , request: "GET /production/file_content/modules/supervisor/logrotate HTTP/1.1", host: "puppet:8140" Details about my environment: # puppet --version 2.7.9 # cat /etc/debian_version 6.0.3 # ruby -v ruby 1.9.2p0 (2010-08-18 revision 29036) [i486-linux] Anyone have an inkling of what''s going wrong? -- Brian L. Troutwine -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Brian Troutwine
2012-Jan-30 23:11 UTC
[Puppet Users] Re: File path resolution oddity in puppet nginx+thin setup.
All, I ended up posting the question to ServerFault, where it was answered. http://serverfault.com/questions/355214/why-does-this-nginx-thin-run-puppet-master-interpret-paths-differently-than-a-lo On Mon, Jan 30, 2012 at 3:54 PM, Brian Troutwine <brian@troutwine.us> wrote:> For the purposes of this email I need to make a distinction between my > Production puppet master and my Development puppet master. In either > case, my /etc/puppet/puppet.conf is: > > [main] > ssldir=$vardir/ssl > > [master] > certname=puppet > > Development puppet master is run: > > # puppetmasterd --debug --no-daemonize > > and Production puppet master is a thin/nginx affair. Please find the > relevant nginx configuration files in this gist: > https://gist.github.com/1706549 and the thin configuration in this > gist: https://gist.github.com/1706558 > > ---- > > Using https://github.com/plathrop/puppet-module-supervisor I find that > the source line path in manifests/init.pp causes a 404 when running in > Production mode: > > ''/etc/logrotate.d/supervisor'': > source => ''puppet:///modules/supervisor/logrotate'', > require => Package[$supervisor::params::package]; > > but if I modify the path to be simply ''puppet:///supervisor/logrotate'' > all is well. The first and second form succeed in Development mode. > It''s my understanding that the first form is _correct_ and that my > Production mode should have no issues with it. > > Running ''puppet agent --test'' when master is configured in Production > mode results in: > > # puppet agent --test > info: Caching catalog for puppet.troutwine.us > info: Applying configuration version ''1327955332'' > err: /Stage[main]/Supervisor/File[/etc/logrotate.d/supervisor]/ensure: > change from absent to file failed: Could not set ''file on ensure: > Error 404 on SERVER: <html> > <head><title>404 Not Found</title></head> > <body bgcolor="white"> > <center><h1>404 Not Found</h1></center> > <hr><center>nginx/1.1.8</center> > </body> > </html> > at /etc/puppet/modules/supervisor/manifests/init.pp:32 > notice: Finished catalog run in 1.89 seconds > > and the logs from /var/log/nginx/access.log > > # cat /var/log/nginx/{access,error}.log > 127.0.1.1 - - [30/Jan/2012:20:50:58 +0000] "POST > /production/catalog/puppet.troutwine.us HTTP/1.1" 200 13290 "-" "Ruby" > 127.0.1.1 - - [30/Jan/2012:20:51:00 +0000] "GET > /production/file_metadata/modules/supervisor/logrotate? HTTP/1.1" 200 > 308 "-" "Ruby" > 127.0.1.1 - - [30/Jan/2012:20:51:00 +0000] "GET > /production/file_content/modules/supervisor/logrotate HTTP/1.1" 404 > 168 "-" "Ruby" > 127.0.1.1 - - [30/Jan/2012:20:51:01 +0000] "PUT > /production/report/puppet.troutwine.us HTTP/1.1" 200 14 "-" "Ruby" > > 2012/01/30 20:51:00 [error] 10716#0: *222 open() > "/etc/puppet/modules/modules/files/supervisor/logrotate" failed (2: No > such file or directory), client: 127.0.1.1, server: , request: "GET > /production/file_content/modules/supervisor/logrotate HTTP/1.1", host: > "puppet:8140" > > Details about my environment: > > # puppet --version > 2.7.9 > # cat /etc/debian_version > 6.0.3 > # ruby -v > ruby 1.9.2p0 (2010-08-18 revision 29036) [i486-linux] > > Anyone have an inkling of what''s going wrong? > -- > Brian L. Troutwine-- Brian L. Troutwine -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.