| Puppet::Provider::Service::Upstart had a confine added that is run when the provider is loaded.
confine :true => begin |
initctl('version', '--quiet') |
true |
rescue |
false |
end
|
This causes issues with running tests under things like JRuby, and also means that it is not possible for the provider to become suitable during the course of a transaction. Instead of using a begin/rescue/end block which will be evaluated during the provider definition, this should be something that will be evaluated only when checking if the provider is suitable. This probably means creating a new type of Puppet::Confine that is capable of taking a block to be lazily evaluated as the only existing one that does any sort of "call this code later" goes through the feature machinery. |