Did this behavior change in Chef Client 11?
We're still stuck on Chef 10 and the major gotcha we face with the use of -o is that all the attributes from other cookbooks disappear, disrupting node searches and such, just like you say. Essentially we've found that while -o might come in useful, it should generally be followed by a full run ASAP to prevent the corruption of the attributes and search-based relationships. As such we have structured the recipes which are generally -o material for us (recipes that do destructive upgrades, for example) such that they always include_recipe some top-level recipe at the end, forcing a more complete run to happen as part of the -o. More restrictive use of -o for "partial runs" has always caused more pain then it is worth for us.
In Chef 10 all the attributes get dropped at the beginning of the run, and then any new attributes from cookbooks that execute do get saved to the server AFAICT. When I eventually upgrade to Chef Client 11, can I expect all of my original attributes to remain unchanged after a -o run? That would be awesome except for the cases where we do a node.set in the recipe that is commonly used with -o....
-----Original Message-----
From: Noah Kantrowitz [mailto:noah@coderanger.net]
Sent: Tuesday, June 17, 2014 4:16 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: override argument
No, it is not amenable for general use. The biggest issue that override mode disables saving the node data back up to the server. This is done to avoid polluting the data on the server as not all recipes were executed, which might disrupt node searches and such. If you want to make conditional recipes, you can do that with something like:
return if node['skip_foo']
at the top of the recipe file.
--Noah
On Jun 17, 2014, at 9:47 AM, Florian Hehlen Florian.Hehlen@mri-group.com wrote:
HI,
Thank you Indra. I am aware of the feature. I am just wondering if it's safe to use -o or is it really only for testing.
Florian
From: Indra k [mailto:indra.k@cloudenablers.com]
Sent: 17 June 2014 13:10
To: chef@lists.opscode.com
Subject: [chef] Re: override argumentHi Flo,
Ya, it gets run.
chef-client -o "recipe[something]"
the above command runs a chef-client with given runlist .
You can also refer this by
"chef-client -h" ---which shows a what are all parameters we can run with chef-client.
Thanks,
IndraFrom: Florian Hehlen Florian.Hehlen@mri-group.com
To: "chef@lists.opscode.com" chef@lists.opscode.com
Sent: Tuesday, 17 June 2014 3:42 PM
Subject: [chef] override argumentHi,
What is the contract for the -o argument on chef-client? Can I expect that the only thing that changes between running 'chef-client' and 'chef-client -o "recipe[something]"', is the recipes that will get run?
Florian Hehlen
LEGAL DISCLAIMER
This communication and any attached documents are strictly confidential and/or legally privileged and they may not be used or disclosed by someone who is not a named recipient. If you have received this electronic communication in error please notify the sender by replying to this electronic communication inserting the word "misdirected" as the subject and delete this communication from your system.LEGAL DISCLAIMER
This communication and any attached documents are strictly confidential and/or legally privileged and they may not be used or disclosed by someone who is not a named recipient. If you have received this electronic communication in error please notify the sender by replying to this electronic communication inserting the word "misdirected" as the subject and delete this communication from your system.