Graceful exit mid chef run


#1

Hi All,

I there a graceful way to exit a chef run (skill all remain cookbooks/recipes) if a condition is not met.

Scenario:

Recipe 1
Recipe 2 (condition not met)
Recipe 3 Skip
Recipe 4 Skip

Use would be where a manual sysadmin step is need prior to continuing.

I’m looking for a way to prevent a tangled web of only_if/not_if statements.

I’ve tried using native ruby alert(“message here”) but it exits abruptly, and chef run is not reported back to server.

Wade Peacock
Production IT | Vision Critical
direct 604.629.9358
mobile 604.363.8137

www.visioncritical.comhttp://www.visioncritical.com/

New York | London | Vancouver | Paris | Sydney | Chicago | San Francisco | Toronto | Montreal | Calgary


#2

Hello,

Sorry for top-post; our runlist_modifiers cookbook allows for one to raise
a RestrictedRecipe error, which unfurls the run-list so to speak, so that
dependant (or depended-upon) recipes are also skipped. 0

Cheers,

–AJ

On 27 November 2012 13:52, Wade Peacock Wade.Peacock@visioncritical.comwrote:

Hi All,****


I there a graceful way to exit a chef run (skill all remain
cookbooks/recipes) if a condition is not met.****


Scenario:****


Recipe 1 ****

Recipe 2 (condition not met)****

Recipe 3 Skip****

Recipe 4 Skip****


Use would be where a manual sysadmin step is need prior to continuing. ***
*


I’m looking for a way to prevent a tangled web of only_if/not_if
statements.****


I’ve tried using native ruby alert(“message here”) but it exits abruptly,
and chef run is not reported back to server.****



Wade Peacock
Production IT | Vision Critical
direct * 604.629.9358***

mobile * 604.363.8137***


www.visioncritical.com****

New York | London | Vancouver | Paris | Sydney | Chicago | San
Francisco | Toronto | Montreal | Calgary****



#3

You can also simply “return” from your recipe when some condition not met:

return if node[:platform_family] == "debian"

The HeavyWater cookbook is much more robust, but this does the job.

On Tue, Nov 27, 2012 at 9:55 AM, AJ Christensen aj@junglist.gen.nz wrote:

Hello,

Sorry for top-post; our runlist_modifiers cookbook allows for one to raise
a RestrictedRecipe error, which unfurls the run-list so to speak, so that
dependant (or depended-upon) recipes are also skipped. 0

Cheers,

–AJ

On 27 November 2012 13:52, Wade Peacock Wade.Peacock@visioncritical.comwrote:

Hi All,****


I there a graceful way to exit a chef run (skill all remain
cookbooks/recipes) if a condition is not met.****


Scenario:****


Recipe 1 ****

Recipe 2 (condition not met)****

Recipe 3 Skip****

Recipe 4 Skip****


Use would be where a manual sysadmin step is need prior to continuing. **
**


I’m looking for a way to prevent a tangled web of only_if/not_if
statements.****


I’ve tried using native ruby alert(“message here”) but it exits abruptly,
and chef run is not reported back to server.****



Wade Peacock
Production IT | Vision Critical
direct * 604.629.9358***

mobile * 604.363.8137***


www.visioncritical.com****

New York | London | Vancouver | Paris | Sydney | Chicago |
San Francisco | Toronto | Montreal | Calgary****