- From: Carlos Camacho <
>
- To: "
" <
>
- Subject: [chef] Re: Re: Re: Re: Recipes execution order
- Date: Tue, 10 Jun 2014 19:51:46 +0200
Perfect, now ill try to change the answer.
Im modeling SPL's as part of my PhD course. Now i really like Chef and
i wish to be able to model a condition in which the execution order of
a Chef process (Calculating the recipes run list for example) can
vary. If a i execute A firt then B or B first and then A.
Any idea? It will be an example of how to apply a formal semantics to
calculate the best product. Im assuming that Chef is a SPL which
generates valid configurations (Products) to be installed on a node.
Cheers!
On Tue, Jun 10, 2014 at 12:22 PM, Noah Kantrowitz
<
>
wrote:
>
Recipes and roles that you actually put in a run list should be
>
self-contained. This means that they should both be order-independent and
>
idempotent, so it shouldn't matter either way.
>
>
--Noah
>
>
On Jun 10, 2014, at 2:51 AM, Carlos Camacho
>
<
>
>
wrote:
>
>
> Perfect,
>
>
>
> But in my case I'm trying to model something in chef in which the
>
> order of cookbooks or recipes can vary.
>
>
>
> For example:
>
>
>
> Using
>
> DB and WEB roles.
>
> Apache and MySQL cookbooks.
>
> A set of recipes for each cookbook.
>
>
>
> Now i want to create a node within the DB and WEB roles.
>
>
>
> I want to know if there are cases in which is better to apply the WEB
>
> then the DB roles recipes or DB first and then WEB.
>
>
>
> Any idea of situations like this? In which the order of the execution
>
> can improve the system behavior (For example, the execution time for
>
> all recipes, or roles, or environments)?
>
>
>
> Cheers!!!
>
>
>
>
>
>
>
>
>
> On Tue, Jun 10, 2014 at 11:16 AM, Noah Kantrowitz
>
> <
>
>
> wrote:
>
>>
>
>> On Jun 10, 2014, at 1:18 AM, Carlos Camacho
>
>> <
>
>
>> wrote:
>
>>
>
>>> Hello!!!
>
>>>
>
>>> I'm trying to do some research on how evaluate chef recipes when they
>
>>> are executed.
>
>>>
>
>>> For example:
>
>>>
>
>>> I have a lot of recipes inside my Apache2 cookbook.
>
>>>
>
>>> default.rb
>
>>> god_monitor.rb
>
>>> iptables.rb
>
>>> logrotate.rb
>
>>> ...
>
>>> ...
>
>>> ...
>
>>>
>
>>> Is there a way to establish a weight for the recipes order??..
>
>>>
>
>>> A) default.rb -> god_monitor.rb -> iptables.rb -> logrotate.rb = 2.3
>
>>> B) default.rb -> iptables.rb -> god_monitor.rb -> logrotate.rb = 3.6
>
>>> C) logrotate.rb -> default.rb -> god_monitor.rb -> iptables.rb = 1
>
>>> D) default.rb -> god_monitor.rb -> iptables.rb -> logrotate.rb = 6.1
>
>>>
>
>>> In this case is better to execute D than, B than, A than C.
>
>>
>
>> Recipes execute in the order you tell them to. First the run list is
>
>> recursively expanded so roles are replaced by their run list until you
>
>> just have a list of recipes. Then each is executed in order. If, while
>
>> executing, it hits an include_recipe, then it executes that recipe at
>
>> that point. All other file types where it loads all of them are executed
>
>> is ASCII sort order.
>
>>
>
>> --Noah
>
>>
>
Archive powered by MHonArc 2.6.16.