[chef] Re: Re: Re: Re: Recipes execution order


Chronological Thread 
  • 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.

§