[chef] Re: Re: Re: Re: Setting up service with huge data files?


Chronological Thread 
  • From: AJ Christensen < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Setting up service with huge data files?
  • Date: Mon, 24 Sep 2012 14:36:26 +1200

May also be worth considering Heavy Water's Runlist Modifiers cookbook
[0], which temporarily allows you to restrict/allow recipes. This is
useful in the case where you want to model your convergence (including
a large, blocking file transfer used for deployment) but leave that
recipe restricted the rest of the time. Other recipes that include a
restricted recipe will also be skipped during regular convergence.

Chris Roberts has a blog post on the implementation details/usage here
[1], original mailing list discussion [2]

Cheers,

--AJ

[0] http://community.opscode.com/cookbooks/runlist_modifiers
[1] 
http://code.chrisroberts.org/blog/2012/05/09/cooking-up-partial-run-lists-with-chef/
[2] http://lists.opscode.com/sympa/arc/chef-dev/2012-03/msg00022.html

On 24 September 2012 14:25, Sean OMeara 
< >
 wrote:
> try something like this in the compile phase : 
> https://gist.github.com/3773868
>
> On Sun, Sep 23, 2012 at 9:40 PM, Christopher DeMarco 
> < >
>  wrote:
>> Assuming that I don't want to distribute the file via Chef, how would I 
>> best divide the recipe into bits that could run before the file arrives 
>> and bits that can't run until afterwards?
>>
>> And if I did want to use that BT or some other custom method to provision 
>> such a huge file, does a recipe (or indeed an entire chef-client run!) 
>> block on that file transfer?  Or can I make chef do stuff / sleep while 
>> it's "waiting" for the huge file to arrive?
>>
>>
>>
>> On Sep 23, 2012, at 9:21 PM, AJ Christensen 
>> < >
>>  wrote:
>>
>>> There's a cookbook for distributing files via BitTorrent that I'd
>>> suggest you use for shipping around such an amazingly large binary
>>> asset; alternatives may be S3, rsync, etc.
>>>
>>> --AJ
>>>
>>> On 24 September 2012 13:07, Christopher DeMarco 
>>> < >
>>>  wrote:
>>>> So I want to provision a service for a custom app we've got.  I can 
>>>> template
>>>> an initscript/launchd_plist, and put all my listening ports, identifying
>>>> strings etc. into data bags, etc… but until I've got the datafile on 
>>>> disk I
>>>> can't start the service.
>>>>
>>>> The datafile will be anywhere from 100GB to 2TB - far too big to 
>>>> provision
>>>> during a chef run, and since it's being seeded from an existing host I 
>>>> won't
>>>> have it in advance anyway.
>>>>
>>>> What's the best way to proceed with something like this?
>>>>
>>>> My current best-thinking is to write a recipe with a data bag attribute
>>>> "filename to look for", such that if the datafile doesn't exit the recipe
>>>> doesn't do certain things until it finds the file…
>>>>
>>>> Suggestions?
>>>>
>>>> --cmd
>>>>
>>>>
>>>> --
>>>> Christopher DeMarco 
>>>> < >
>>>> +1-412-708-9660
>>>>
>>
>> --
>> Christopher DeMarco 
>> < >
>> +1-412-708-9660
>>



Archive powered by MHonArc 2.6.16.

§