On 08/25/2011 01:35 PM, Jacob Helwig wrote:
I would expect Puppet to end up installing and uninstalling packages
every run, since it has no knowledge of the package dependencies.

This kind of thing won't happen unless one manually specifies an impossible state, and even then I'm not sure that would be the outcome. Really, the feature being proposed as the solution here is not to extend puppet to understand RPM dependencies, but simply to allow batched transactions so that two packages can be installed/removed in a single command-line run. There is a patch to implement this feature awaiting review (it's been in that state for over 2 years).

As an aside, it's pretty hard to fully understand this issue without reading through all the bugs and threads listed in my last email. Key background is:

1) You must understand how the puppet implements the rpm package
   provider.  Specifically, you must know when the rpm command is
   called by puppet, and when the yum command is called by puppet.
   (rpm is used to check install status, yum is used to perform
   installs, rpm is used to perform removals).
2) You must understand how the yum and rpm os commands work, and
   specifically how they each handle dependencies and circular deps
   (yum works to satisfy deps, rpm fails unless all deps are specified
   on a single command-line).
3) You don't actually have to understand much about puppet dependencies,
   and you also don't have to understand much about rpm dependencies.
   The behaviors involved are pretty straightforward, but you can't
   make big assumptions about what dependency cycles mean based on your
   experience in other systems.

Cheers,
Mike Lococo

--
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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to