FAQ
I want puppet to manage some packages. On CentOS, puppet correctly
uses the yum provider to manage rpms. Normally I can do:

package { ...:
ensure => present
}

but the rpms I want to install conflict with existing rpms.

Ok, you say. so "ensure => present" on the ones I want and "ensure =>
absent" on the ones to remove.

How do I cope with the fact that there are other installed packages
that depend on the ones I want to remove?

The new packages will fulfill the dependency as well, so effectively I
just want to force the transaction.

Effectively, I want puppet/yum to execute ``rpm -e --nodeps``; can I
tell puppet to do it that way? Or do I need to find a workaround, such
as an exec?


- --
Duncan Hutty
http://www.allgoodbits.org



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

Search Discussions

  • Jcbollinger at Oct 1, 2012 at 10:18 pm

    On Monday, October 1, 2012 3:02:48 PM UTC-5, Duncan Hutty wrote:
    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    I want puppet to manage some packages. On CentOS, puppet correctly
    uses the yum provider to manage rpms. Normally I can do:

    package { ...:
    ensure => present
    }

    but the rpms I want to install conflict with existing rpms.

    Ok, you say. so "ensure => present" on the ones I want and "ensure =>
    absent" on the ones to remove.

    How do I cope with the fact that there are other installed packages
    that depend on the ones I want to remove?

    The new packages will fulfill the dependency as well, so effectively I
    just want to force the transaction.

    No, you *never* want to do that. As soon as you do, you are no longer
    justified in having full confidence in your RPM database. Probably things
    work out ok, if you've been careful, at least, but there are gotchas even
    for the careful.

    The proper way to do this from the command line is to use "yum shell" to
    set up and run a transaction set that removes the unwanted RPMs and adds
    the replacements in the same go. Or perhaps you can allow the dependant
    packages to be uninstalled and reinstalled (supposing they are all managed
    by Puppet, or you're willing to make them so).


    Effectively, I want puppet/yum to execute ``rpm -e --nodeps``; can I
    tell puppet to do it that way? Or do I need to find a workaround, such
    as an exec?
    The Package type does not provide a mechanism to specify additional flags
    for provider actions. Furthermore, it manages packages one by one. If you
    need to automate this switch via Puppet, then you probably do need an Exec.


    John

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/UxUtEsui_i0J.
    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.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedOct 1, '12 at 8:02p
activeOct 1, '12 at 10:18p
posts2
users2
websitepuppetlabs.com

2 users in discussion

Jcbollinger: 1 post Duncan Hutty: 1 post

People

Translate

site design / logo © 2022 Grokbase