I have a manifests that looks like this:

----- s n i p -----
class someclass {
        package { 'mypackage':
            ensure          => $version,
            install_options => [ '-o', 'Dpkg::Options::=--force-overwrite' 
],
            notify          => Service['myservice'],
            require         => Class['defaults::apt_repo::repo']
        }
        defaults::hold_pkg { 'mypackage': }
}

define defaults::hold_pkg() {
    exec { "hold-${name}":
        command => "/bin/echo '${name} hold' | /usr/bin/dpkg 
--set-selections",
        unless  => "/usr/bin/dpkg --get-selections ${name} | /bin/grep -q 
hold",
        require => Package[$name]
    }
}

class someclass::service {
    service { 'myservice':
        ensure     => 'running',
        enable     => true,
        hasrestart => false,
        provider   => systemd
    }
}
----- s n i p -----

This results in:

----- s n i p -----
Notice: /Stage[main]/Someclass/Package[mypackage]/ensure: ensure changed 
'held' to '1.0.0-20180409-458'
Info: /Package[mypackage]: Scheduling refresh of Service[mypackage]
Notice: /Stage[main]/someclass::Service/Service[mypackage]: Triggered 
'refresh' from 1 events
----- s n i p -----


I understand *why* this is happening, but I don't know how to fix it. I 
don't want the app to restart
just because of that change (held to version).

The reason I do it this way is so that I can still run "apt-get 
[dist]upgrade" without risking an upgrade/change
of the/that package.

I can't use "~>" or "->" between "package {}" and "hold_pkg {}" either, 
because Puppet sees a change in the
package (because of the "held" to "<version>")..


I'm running Puppet version 3.8.5 on Ubuntu 16.04.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/7b11984f-cffb-401d-b52b-9ff0fca391c2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to