[chef] Re: Re: Re: Reusable steps: PoV request


Chronological Thread 
  • From: Hedge Hog < >
  • To:
  • Subject: [chef] Re: Re: Re: Reusable steps: PoV request
  • Date: Thu, 31 Mar 2011 18:39:26 +1100
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=Ba231urupMCvDGmmhtsG7U4RqYfF5SDzmX+Xk7p1l/sjczGfHgPqKH1QcJAMEXZ7nq hiw9LCBr/vIAL8pxR8uA5W3rmn59jek9LpnPbS5vnsoLVCI8Zqz1yYePcgJEFQTnxBxb rYV0Vw7D+TJgOQ+lwFzKwKsMzH4tuEj3t5xEk=

On Thu, Mar 31, 2011 at 4:38 PM, Patrick Debois 
< >
 wrote:
> On 31/03/11 05:47, Hedge Hog wrote:
>>
>> On Tue, Mar 22, 2011 at 3:59 PM, Stephen Nelson-Smith
>> < >
>>   wrote:
>>
>>> Hello there!
>>>
>>>
>>>> My question:  Is there much interest in such a library of reusable
>>>> Chef steps
>>>>
>>> Absolutely.  This would work very well with the stuff I am doing right
>>> now on cucuumber-chef, about which I'll be presenting on Thursday at
>>> the cukeup conference in London.  I'll post slides afterwards, and a
>>> blog summary later on http://agilesysadmin.net
>>>
>> Hi Stephen,
>> Very interesting talk - thank you.
>> FWIW I think the most intriguing element is launching into LXC, only
>> problem is that LXC is more restrictive than VirtualBox, etc, i.e on a
>> Ubuntu host I'm not launching a BSD guest.
>> But aside from those use cases I think LXC launches in Cucumber-Chef
>> will be a great step forward when it comes out.
>> You are right it speeds up by at least one order of magnitude the
>> launch time, and I think number that can be substantially multiplied
>> to get the effect on speeding Dev productivity :)
>>  From the audience Q's you'll notice people dread having to rewrite all
>> their Vagrantfiles...
>> I wonder how difficult would it be to launch a LXC by parsing a
>> Vagrantfile...
>>  Look forward to seeing your chef steps, hopefully we can eliminate
>> some duplication, and in the process make the result more robust.
>>
> I've been toying porting the vagrant concept to the cloud with my new
> laboratory project https://github.com/jedi4ever/mccloud ;.
> I'm leveraring the fog library to control different cloud vendors instances
> up and down.
> Fog now has experimental support for virtualbox, so instead of being limited
> to cloud or virtualbox, we could do both.
>
> Now if we would write an lxc fog provider, that would fit in nicely with
> Stephen's idea I think.
> One tool, many providers for cloud (public/private/personal :)
>
Apologies in advance if this seems OT, but it does involve some Chef
references and use cases....

Interesting, been a while since I hacked on fog...
I actually wonder if you aren't better off working with the
OpenNebula[6] and libvirt[7] gems e.g use case with EC2[0]
OpenNebula has a libvirt api driver[2] in libvirt's main source so the
libvirt (libvirt-rb for ruby) library should offer what you need if it
is not in oca, e.g. launching LXC.

Some OpenNebula oriented Chef recipes are here in case that helps whet
the appetite:
https://github.com/cloudscaling/Cloudboot-Recipes

I suppose I'm wondering if you can't implement a vagrant 'system' for
some of these ON-launched-VM's (KVM,EC2,Xen), and launch them using
ON's help.
But essentially it looks like adding to Vagrant an OpenNebula
provisioner or openNebula-solo provisioner(?), akin to the Chef-solo
provisioner, i.e. setup opennebula before launching the VM's.
Of course the ON provisioner (and libvirtd too?) would need to be
setup before the VM's were launched, and given the time it might take,
you'd want to be able use any pre-exisitng ON.
So it seems one issue is writing something that translates vagrant VM
config data to ON's machine definition file, and passes this to ON.
So.... it might work like this:
ON/libvirt to fire up VM's EC2 | KVM | Xen.  Vbox maybe via any code
you can see at [3], but it could get manual[4], [5]
Libvirt to fireup LXC in those VM's
All expressed in Vagrant's syntax, and where you have access to 100%
Ruby in the Vagrantfile, and 100% Chef for the configuration.
Fog may ease some of the pain at some points too :)

Of course this might leave Windows users in the cold a little. I
mention that only because Mitchell has stated that he can't downgrade
Vagrant's JSON gem version because it works on Windows.... so if
equivalent functionality on windows is a requirement things might get
tough.

HTH

[0]: http://www.opennebula.org/documentation:uc3
[1]: http://www.opennebula.org/documentation:rel2.2:template
[2]: http://www.opennebula.org/documentation:archives:rel1.4:libvirtapi
[3]: http://code.google.com/p/vbox-one/
[4]: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/667076
[5]: 
http://stackoverflow.com/questions/2778638/libvirt-and-virtualbox-getting-started
[6]: https://github.com/retr0h/oca
[7]: https://github.com/mitchellh/libvirt-rb

>
>



-- 
πόλλ' οἶδ ἀλώπηξ, ἀλλ' ἐχῖνος ἓν μέγα
[The fox knows many things, but the hedgehog knows one big thing.]
  Archilochus, Greek poet (c. 680 BC – c. 645 BC)
http://wiki.hedgehogshiatus.com



Archive powered by MHonArc 2.6.16.

§