Sounds like tags and chaining, did something similar for upstart.

file { '/usr/lib/systemd/system/patcher-client.service':
  notify => Service['patcher-client'],
  tag    => ['reload systemd'],
}

File <| tag == 'reload systemd' |> ~> Exec['systemctl daemon-reload']
Exec['systemctl daemon-reload'] -> Service <| |>


Originally (on centos6 where upstart+sysvinit is combined):

class upstart {

  $upstartreload = '/sbin/initctl reload-configuration'

  exec { $upstartreload:
    refreshonly => true,
  }

  File <| tag == 'upstart' |> ~> Exec[$upstartreload]
  Exec[$upstartreload] -> Service <| tag == 'upstart' |>

}



On Thu, Jun 15, 2017 at 10:59:16AM -0400, Tom Limoncelli wrote:
>    I'm having a problem getting some dependencies exactly right.
>    This is the code I originally wrote:
>       
>    File['/usr/lib/systemd/system/patcher-client.service']~>Exec['systemctl
>    daemon-reload']~>Service['patcher-client']
>    It works great except... oops... if any other module does Exec['systemctl
>    daemon-reload'], then Service['patcher-client'] restarts.  That additional
>    restart is unneeded.
>    I thought about rewriting it as:
>       
>    File['/usr/lib/systemd/system/patcher-client.service']~>Exec['systemctl
>    daemon-reload']
>       
>    
> File['/usr/lib/systemd/system/patcher-client.service']~>Service['patcher-client']
>    But then how would Puppet know to do the Exec[] before the Service[]?  I
>    could add:
>        Exec['systemctl daemon-reload']->Service['patcher-client']
>    But then we're basically in the same situation as the original code.
>    Right?
>    I guess I kind of want something like this: (not real syntax)
>        File['/usr/lib/systemd/system/patcher-client.service']~> (
>    Exec['systemctl daemon-reload']~>Service['patcher-client'] )
>    How do I achieve that?
>    Thanks in advance,
>    Tom
>    --
>    Email: [1][email protected]    Work: [email protected]
>    Blog:  [2]http://EverythingSysadmin.com
> 
>    --
>    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 [3][email protected].
>    To view this discussion on the web visit
>    
> [4]https://groups.google.com/d/msgid/puppet-users/CAHVFxgnkPQTgeNHv6L0Ao%2BuvdVtL-7ftaPfJG3gzXF0OCs6%3DsQ%40mail.gmail.com.
>    For more options, visit [5]https://groups.google.com/d/optout.
> 
> References
> 
>    Visible links
>    1. mailto:[email protected]
>    2. http://everythingsysadmin.com/
>    3. mailto:[email protected]
>    4. 
> https://groups.google.com/d/msgid/puppet-users/CAHVFxgnkPQTgeNHv6L0Ao%2BuvdVtL-7ftaPfJG3gzXF0OCs6%3DsQ%40mail.gmail.com?utm_medium=email&utm_source=footer
>    5. https://groups.google.com/d/optout

-- 
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/20170615152701.GA28982%40iniquitous.heresiarch.ca.
For more options, visit https://groups.google.com/d/optout.

Reply via email to