Issue #5319 has been updated by Nick Moffitt.

Nigel Kersten wrote:
> The right answer is in #4067.  Puppet needs to be made aware of the
> conflict, and represent the actual state of the world, which is that
> these things are in conflict, and there is no correct answer.

I am highly skeptical of #4067, as you'll need to mirror the
relationship graph for some 40,000 packages for each repository
configuration present in a network.  It's somewhere between non-trivial
and inadvisable, in my estimation.  I hope I'm missing something big.

> Let me move away from packages and imagine we're talking about files.
> Do you expect Puppet to be able to cope with two File resources, one
> which ensures the file is absent, and another that ensures the file is
> present?

No.  But I do expect to be able to cause actions to depend on the
existence of a file *without auto-creating said file*.  If a sysadmin
then creates that file, the dependencies flow forward on the next run.

Likewise I expect to be able to depend on packages without
auto-installing them, instead adding them to an external queue.  If the
request is satisfied, the dependencies will resolve and move forward.
Otherwise, things may just stay in limbo.  I'm fine with that, and am
willing to work that into my alerting infrastructure.

I originally asked for a new ensure state to reflect this.  I was told
in this ticket that wasn't what I should use, so I hacked out a new
provider that overloaded the install semantics.  I pasted it as a naïve
approach, and hoped to see suggestions on how better to accomplish my
goals.

> You haven't addressed the responsefile option yet either. Why can't
> you have a human work out what the correct responses are to make a
> package install work (and leave you in a consistent state) and then
> represent those responses in the responsefile?

If the package uses debconf appropriately, that would work.  That's an
if.  That works for perfect packages only.

----------------------------------------
Feature #5319: ensure => selected for packages requiring interactive 
installation (dpkg/apt provider at least)
https://projects.puppetlabs.com/issues/5319

Author: Nick Moffitt
Status: Investigating
Priority: Normal
Assignee: Nigel Kersten
Category: package
Target version: 
Affected Puppet version: 
Keywords: 
Branch: 


At times there are packages with catastrophic failure modes when they are run 
noninteractively, particularly when working with dpkg.  As a result I propose 
the following option in package providers, presented from a dpkg standpoint.

If a package resource is ensure => selected, it will have exactly the same 
status behavior as ensure => installed, but the installation process will run 
'echo "${packagename} install" | /usr/bin/dpkg --set-selections'.  This will 
cause the package to be installed the next time an administrator interactively 
runs "apt-get dselect-upgrade".

This allows configuration changes for a particular package to be held back 
until that package is installed interactively.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to