On Nov 8, 11:07 am, Patrick <kc7...@gmail.com> wrote:
> On Nov 8, 2010, at 9:10 AM, Kent wrote:
>
>
>
>
>
>
>
>
>
> > Hi all,
>
> > I'm a new puppet user and new to the forum.
>
> > I just switched my Puppetmaster to running inside Apache (via
> > Passenger). When I make a change to a resource on the master, it
> > sometimes takes a given node TWO runs before the master will realize
> > the resource has changed and recompile a new catalog version for the
> > node. For example, say my puppetmaster is serving configuration
> > version '123' to a node. I change the file permissions for a file
> > resource that's part of that catalog and then do a puppet run on the
> > node. If I'm running with Passenger, the master serves config version
> > '123' one more time (the agent makes no changes). The next time I run
> > the node's agent, the master compiles new catalog version '456' and
> > the agent makes the permission change.
>
> > A few items of note:
>
> > 1.  This is not a problem with all changes to puppet module content.
> > For example, if I change the source contents of a file in the 'files'
> > directory of a module, the master will notice this immediately and the
> > puppet agent on the node will grab the new file on the first run
> > following the change on the master.
>
> Fact:
> Files sent using "source" aren't part of the catalog.  Instead, the client 
> asks the server for them while the client is using the catalog and not during 
> the compilation done on the server.
>
> Speculation:
> I would guess this is because the problem you are having is happening during 
> the compilation on the server.
>
>
>
>
>
>
>
> > 2.  At first I thought maybe this was a timing issue (e.g. I was doing
> > the puppet run too quickly after making the resource change) but it's
> > not; whether I wait 5 seconds or 5 minutes before making the first
> > puppet run, the master still doesn't notice the change.  I set the
> > 'filetimeout' setting in /etc/puppet/puppet.conf to 0 and it didn't
> > help.
>
> > Any ideas on what's going on here? (thanks in advance for your help)

Ahh, Ok, that makes sense. The source files are not part of the
manifests, just pointed to by them.

However, I am still having a problem with changed manifests not
getting "noticed" by the Puppetmaster until the second run after it's
been changed. This is only a problem when running puppetmaster as a
rack app inside Apache. Of course, if I restart Apache it will serve
up the most recent manifests on the first puppet run that connects to
it, but it would be irritating to have to restart httpd every time I
want to make a change to a module/manifest.

I also tried setting the puppet.conf option 'ignorecache = true' to no
avail. (side note: on the "servertype" option in puppet.conf, official
documentation still states that the only valid modes are 'webrick' and
'mongrel'. What is the appropriate mode for running with passenger?)

Final note: The puppetmaster always logs that it has compiled a
catalog and expired the cached one, even on the first runs where the
new manifest does not yet take effect. (and annoyingly, puppetmaster
under passenger now logs to /var/log/messages instead of /var/log/
puppet/puppetmaster.log; it seems puppetmaster as a rack application
does not look at /etc/sysconfig/puppetmaster - so I can't add options
like verbosity, etc.)

To me, it seems like there needs to be better Puppet Labs
documentation on the differences between running Puppetmaster
"normally" (e.g. with /etc/init.d/puppetmaster) versus as a Rack
application.

Can anyone shed some light on my issues?

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to