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.