Your File['Config'] -> Exec['stop'] -> Package['foo'] -> Exec['start']
should do what you want.
Can you also try to require Exec['stop'] in your package foo?
Also, the refreshonly => true on you stop exec I don't think it matters.
You will need a notify Exec[stop] in your config for that.
On F
Yes Cristian, I understand that, but the issue is less the order of the
Execs in relation to each other, but when the Execs run in relation to the
config file resource and the package resource. I need for the stop Exec
to run before the package is installed, and then the start Exec to run.
The order of resources in the manifest doesn't matter. Puppet will build a
graph from all resources and dependencies and executes resources from the
same level randomly.
You need something like this:
exec { "start":
path=>
"/usr/local/sbin/:/usr/local/jdk/bin:/bin:/sbin:/usr/sbin:/usr
Puppet 3.6.2
First, I understand that Execs try not to run multiple times if called many
times by many resources and typically wait until they've all been
"collected" from all resources, but I have a specific case where I need
different Execs to run in a particular order based on a set of resou