On Apr 19, 4:37 pm, Sans <r.santanu....@gmail.com> wrote:
> On Apr 19, 2:48 pm, jcbollinger <john.bollin...@stjude.org> wrote:
>
> > > If I understand you correctly, how do one know about the packages that
> > > depend on a certain package?
>
> > Well that's part of a deeper problem, isn't it?  If you don't know
> > what packages you might end up removing or why they're installed in
> > the first place, then are you really comfortable with blindly removing
> > them?  I certainly wouldn't be.
>
> I don't think that's the way you do it. You don't install packages at
> random or without having known why you installing that package for -
> do you?

I don't, and you are making my case for me.  If a package I think I
want absent has a dependent package present, then (in my case) that
dependency is there on purpose.  If I have done my provisioning
correctly, then either the dependency is something I want on
substantially all nodes, or it is something that I installed
afterward, via Puppet.  As Ian points out, however, that installation
may have been implicit and incidental to installation or upgrade of a
different package.

The possibilities can be divided among a few cases:

1) The dependent package is explicitly managed by Puppet.  In this
case you *must* ensure it absent for those nodes where its dependency
must be absent, otherwise your configuration is inconsistent and
unachievable.

2) The dependent package is provisioned and wanted, or at least
accepted, on all nodes, but it is not Puppet-managed by default.
Inasmuchas a requirement that this package be absent is exceptional,
it is reasonable and even wise to explicitly ensure its absence via
Puppet when that is needed.

3) The dependent package is not intentionally provisioned, not Puppet-
managed, and by default unwanted.  If the package is in fact present,
then I want to know it so I can figure out why.  Either there is some
system requirement that is not captured in the node's Puppet
configuration (and which I do not want to break), or the configuration
is inconsistent, or there has been a provisioning or administration
failure.  Any of these alternatives require my attention, so I want
the puppet client to make noise.

> And if you know the packages you installing, you already know
> the dependences and the related packages. At least that's the case
> here. In this example, if I know that I definitely don't want httpd to
> be installed on the system at the first place, then why should I care
> about all the packages (maybe installed by default) that need httpd -
> isn't it?

You continue to make my case.  If you definitely don't want httpd (for
example) installed, then you should not provision your systems with
it, right?  If you don't provision your systems with it, and you're
certain you don't want it, but later it gets installed anyway, then
don't you think that situation would require some investigation?
Especially if httpd gets installed because something you do want
depends on it?  I think so.

If none of that persuades you then it looks like you can ensure =>
purged instead of ensure => absent to get the behavior you want.  I
would not be comfortable with doing that, but perhaps it makes sense
to you.


John

-- 
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