It will not local jump. A concrete example from our internal cookbooks,
if you want to have a recipe that is safe to include in the run_list on
windows boxes, but which NOPs the recipe you can do this:
return if platform_family?(“windows”)
stuff that works on linux and would make windows uphappy…
On 09/29/2015 08:46 AM, Ranjib Dey wrote:
not sure if return will work, you might get a local jump error, since
the recipes are instance_evaled.
you should do this on top level recipe or wrapper recipes, i.e check
for the condition, and include_recipe accordingly., i.e.
in parent recipe cookbook::parent
On Tue, Sep 29, 2015 at 8:03 AM, Alexander Skwar
Thanks a lot. And to completely exit out of the chef run, "raise"
would be the way to go. Possibly with a Chef::Log message before.
Thanks a lot,
2015-09-29 16:16 GMT+02:00 Krzysztof Wilczynski
I will correct myself - not interrupt the client run, but rather
return from the recipe without progressing further.
On 29 September 2015 at 23:14, Krzysztof Wilczynski
> Add `return` statement where you need to interrupt the
client run, for example:
> if need_additional_minerals?
> warn 'Not enough minerals!'
> On 29 September 2015 at 23:10, Alexander Skwar
>> Using chef-solo and Chef 11.8.2, how do I "exit out" of a
>> Sorry to bother you all again, but as I'm not so successful
>> out" recipes if a pre-condition is (not) met, I'm now
looking for a way to
>> "leave" a recipe very early, when a condition is met
(specifically, if a
>> user account cannot be found with "getent passwd foo" (as
>> node['etc']['passwd'] doesn't work :()).
>> Basically, I'd like to have something like:
>> if env['skip']
>> leave recipe
>> And "env['skip']" should check the environment variable
"skip". If it's set,
>> the recipe shouldn't be run.
>> How can I do that?
>> Thanks a lot and best regards,
=>*/Google+/* =>http://plus.skwar.me <http://plus.skwar.me/> <==
=>*/Chat/* (Jabber/Google Talk) =>firstname.lastname@example.org <mailto:email@example.com> <==