[Puppet Users] Re: GSoC - Introducing myself

2010-05-06 Thread Marc Fournier
Hello,

 My name is Carla, and I am one of Google Summer of Code 2010 students
 selected to work on Puppet this summer. My proposal is to develop
 types for management of virtual machines, initially focus on Xen and
 KVM.

Cool, I'm looking forward to check out your work !

Just wondering if there are plans to use libvirt, which supports
much more systems than just xen and kvm ? It even seems to have ruby
bindings.

Marc


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Re: GSoC - Introducing myself

2010-05-06 Thread Carla Araujo
Hi!

On Thu, May 6, 2010 at 3:17 PM, Marc Fournier
marc.fourn...@camptocamp.comwrote:


 Cool, I'm looking forward to check out your work !

 Just wondering if there are plans to use libvirt, which supports
 much more systems than just xen and kvm ? It even seems to have ruby
 bindings.

 Marc


Yes, I will use libvirt. Initially I plan to test it using XEN and KVM, and
then further technologies will be added =)

--Carla

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Re: GSoC - Introducing myself

2010-05-06 Thread Dan Bode
Hi Carla,

I am currently working on a noder type that I will use to model cloud
provisioning with puppet. It would be nice if we could use the same type
specification. Let me get what I have checked in to github so you can at
least have a peek at the specification.

Also, here is a primitive example of virtual machine modeling in Puppet
lang.

http://github.com/puppetlabs/puppetlabs-nodes

-Dan

On Thu, May 6, 2010 at 11:44 AM, Carla Araujo carla.aso...@gmail.comwrote:

 Hi!

 On Thu, May 6, 2010 at 3:17 PM, Marc Fournier 
 marc.fourn...@camptocamp.com wrote:


 Cool, I'm looking forward to check out your work !

 Just wondering if there are plans to use libvirt, which supports
 much more systems than just xen and kvm ? It even seems to have ruby
 bindings.

 Marc


 Yes, I will use libvirt. Initially I plan to test it using XEN and KVM,
 and then further technologies will be added =)

 --Carla

 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To post to this group, send email to puppet-us...@googlegroups.com.
 To unsubscribe from this group, send email to
 puppet-users+unsubscr...@googlegroups.compuppet-users%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/puppet-users?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Re: GSoC - Introducing myself

2010-05-06 Thread Carla Araujo
Hello Dan,

On Thu, May 6, 2010 at 3:50 PM, Dan Bode d...@puppetlabs.com wrote:

 Hi Carla,

 I am currently working on a noder type that I will use to model cloud
 provisioning with puppet. It would be nice if we could use the same type
 specification. Let me get what I have checked in to github so you can at
 least have a peek at the specification.

 Also, here is a primitive example of virtual machine modeling in Puppet
 lang.

 http://github.com/puppetlabs/puppetlabs-nodes

 -Dan


 Very interesting! Thank you for sharing this with me. Let's keep in touch
to discus that.

-Carla

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Re: GSoC - Introducing myself

2010-05-06 Thread Michael DeHaan
On Thu, May 6, 2010 at 2:50 PM, Dan Bode d...@puppetlabs.com wrote:
 Hi Carla,

 I am currently working on a noder type that I will use to model cloud
 provisioning with puppet. It would be nice if we could use the same type
 specification. Let me get what I have checked in to github so you can at
 least have a peek at the specification.

 Also, here is a primitive example of virtual machine modeling in Puppet
 lang.

 http://github.com/puppetlabs/puppetlabs-nodes

 -Dan

Can you give some examples of your system in practice Dan?   I'm
confused as to why the YAML is there as an intermediate layer.

Ideally I want to be able to do something like this on a host:

virt {
   vmname = 'example-host',
   virt_ram = 512,  # Megs, changeable
   install_kernel = '/path/to/vmlinuz',
   install_initrd = '/path/to/initrd.img',
   virt_disk_size = 100 # GB, not changeable
   ensure = running,
   autoboot = true,
}

FYI, some things I want to make sure we can do:

* install qemu and KVM guests
* install Xen guests both fullvirt and paravirt
* kernel + initrd installs (not image based) if the given VM name does
not exist  (if we do images, we do them second).
* change RAM assigned to virtual machine
* control virtual machine start/stop state as well as autoboot at
next OS restart state
* change number of virtual CPUs.

Eventually we'll want to augment install_kernel and install_initrd to
take an image, and then for bonus points, a cobbler profile or system
name and a server address, in which case, it wouldn't need to supply
any parameters other than the name of the profile/system.

--Michael





 On Thu, May 6, 2010 at 11:44 AM, Carla Araujo carla.aso...@gmail.com
 wrote:

 Hi!

 On Thu, May 6, 2010 at 3:17 PM, Marc Fournier
 marc.fourn...@camptocamp.com wrote:

 Cool, I'm looking forward to check out your work !

 Just wondering if there are plans to use libvirt, which supports
 much more systems than just xen and kvm ? It even seems to have ruby
 bindings.

 Marc

 Yes, I will use libvirt. Initially I plan to test it using XEN and KVM,
 and then further technologies will be added =)
 --Carla

 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To post to this group, send email to puppet-us...@googlegroups.com.
 To unsubscribe from this group, send email to
 puppet-users+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/puppet-users?hl=en.

 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To post to this group, send email to puppet-us...@googlegroups.com.
 To unsubscribe from this group, send email to
 puppet-users+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/puppet-users?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Re: GSoC - Introducing myself

2010-05-06 Thread Michael DeHaan
On Thu, May 6, 2010 at 4:54 PM, Michael DeHaan mich...@puppetlabs.com wrote:
 On Thu, May 6, 2010 at 2:50 PM, Dan Bode d...@puppetlabs.com wrote:
 Hi Carla,

 I am currently working on a noder type that I will use to model cloud
 provisioning with puppet. It would be nice if we could use the same type
 specification. Let me get what I have checked in to github so you can at
 least have a peek at the specification.

 Also, here is a primitive example of virtual machine modeling in Puppet
 lang.

 http://github.com/puppetlabs/puppetlabs-nodes

 -Dan

 Can you give some examples of your system in practice Dan?   I'm
 confused as to why the YAML is there as an intermediate layer.

 Ideally I want to be able to do something like this on a host:

 virt {
   vmname = 'example-host',
   virt_ram = 512,  # Megs, changeable
   install_kernel = '/path/to/vmlinuz',
   install_initrd = '/path/to/initrd.img',
   virt_disk_size = 100 # GB, not changeable
   ensure = running,
   autoboot = true,
 }

In the above, I mean:

virt { vmname:
}



 FYI, some things I want to make sure we can do:

 * install qemu and KVM guests
 * install Xen guests both fullvirt and paravirt
 * kernel + initrd installs (not image based) if the given VM name does
 not exist  (if we do images, we do them second).
 * change RAM assigned to virtual machine
 * control virtual machine start/stop state as well as autoboot at
 next OS restart state
 * change number of virtual CPUs.

 Eventually we'll want to augment install_kernel and install_initrd to
 take an image, and then for bonus points, a cobbler profile or system
 name and a server address, in which case, it wouldn't need to supply
 any parameters other than the name of the profile/system.

 --Michael





 On Thu, May 6, 2010 at 11:44 AM, Carla Araujo carla.aso...@gmail.com
 wrote:

 Hi!

 On Thu, May 6, 2010 at 3:17 PM, Marc Fournier
 marc.fourn...@camptocamp.com wrote:

 Cool, I'm looking forward to check out your work !

 Just wondering if there are plans to use libvirt, which supports
 much more systems than just xen and kvm ? It even seems to have ruby
 bindings.

 Marc

 Yes, I will use libvirt. Initially I plan to test it using XEN and KVM,
 and then further technologies will be added =)
 --Carla

 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To post to this group, send email to puppet-us...@googlegroups.com.
 To unsubscribe from this group, send email to
 puppet-users+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/puppet-users?hl=en.

 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To post to this group, send email to puppet-us...@googlegroups.com.
 To unsubscribe from this group, send email to
 puppet-users+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/puppet-users?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Re: GSoC - Introducing myself

2010-05-06 Thread Dan Bode
On Thu, May 6, 2010 at 1:54 PM, Michael DeHaan mich...@puppetlabs.comwrote:

 On Thu, May 6, 2010 at 2:50 PM, Dan Bode d...@puppetlabs.com wrote:
  Hi Carla,
 
  I am currently working on a noder type that I will use to model cloud
  provisioning with puppet. It would be nice if we could use the same type
  specification. Let me get what I have checked in to github so you can at
  least have a peek at the specification.
 
  Also, here is a primitive example of virtual machine modeling in Puppet
  lang.
 
  http://github.com/puppetlabs/puppetlabs-nodes
 
  -Dan


thats not my creation, I just mentioned it because it exists.


 Can you give some examples of your system in practice Dan?   I'm
 confused as to why the YAML is there as an intermediate layer.


I am working on an EC2 type/provider, here is an example of its usage:

noder{'blah':
  ensure = present,
  user = 'user',
  password = 'password',
  image = 'ami-84db39ed',
  desc = 'happy instance',
}



 Ideally I want to be able to do something like this on a host:

 virt {
   vmname = 'example-host',
   virt_ram = 512,  # Megs, changeable
   install_kernel = '/path/to/vmlinuz',
   install_initrd = '/path/to/initrd.img',
   virt_disk_size = 100 # GB, not changeable
   ensure = running,
   autoboot = true,
 }

 FYI, some things I want to make sure we can do:

 * install qemu and KVM guests
 * install Xen guests both fullvirt and paravirt
 * kernel + initrd installs (not image based) if the given VM name does
 not exist  (if we do images, we do them second).
 * change RAM assigned to virtual machine
 * control virtual machine start/stop state as well as autoboot at
 next OS restart state
 * change number of virtual CPUs.

 Eventually we'll want to augment install_kernel and install_initrd to
 take an image, and then for bonus points, a cobbler profile or system
 name and a server address, in which case, it wouldn't need to supply
 any parameters other than the name of the profile/system.

 --Michael




 
  On Thu, May 6, 2010 at 11:44 AM, Carla Araujo carla.aso...@gmail.com
  wrote:
 
  Hi!
 
  On Thu, May 6, 2010 at 3:17 PM, Marc Fournier
  marc.fourn...@camptocamp.com wrote:
 
  Cool, I'm looking forward to check out your work !
 
  Just wondering if there are plans to use libvirt, which supports
  much more systems than just xen and kvm ? It even seems to have ruby
  bindings.
 
  Marc
 
  Yes, I will use libvirt. Initially I plan to test it using XEN and KVM,
  and then further technologies will be added =)
  --Carla
 
  --
  You received this message because you are subscribed to the Google
 Groups
  Puppet Users group.
  To post to this group, send email to puppet-us...@googlegroups.com.
  To unsubscribe from this group, send email to
  puppet-users+unsubscr...@googlegroups.compuppet-users%2bunsubscr...@googlegroups.com
 .
  For more options, visit this group at
  http://groups.google.com/group/puppet-users?hl=en.
 
  --
  You received this message because you are subscribed to the Google Groups
  Puppet Users group.
  To post to this group, send email to puppet-us...@googlegroups.com.
  To unsubscribe from this group, send email to
  puppet-users+unsubscr...@googlegroups.compuppet-users%2bunsubscr...@googlegroups.com
 .
  For more options, visit this group at
  http://groups.google.com/group/puppet-users?hl=en.
 

 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To post to this group, send email to puppet-us...@googlegroups.com.
 To unsubscribe from this group, send email to
 puppet-users+unsubscr...@googlegroups.compuppet-users%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/puppet-users?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Re: GSoC - Introducing myself

2010-05-06 Thread Michael DeHaan
 I am working on an EC2 type/provider, here is an example of its usage:

 noder{'blah':
   ensure = present,
   user = 'user',
   password = 'password',
   image = 'ami-84db39ed',
   desc = 'happy instance',
 }


your noder example looks good ... you could add a virt_type and not
use a lot of the fields when doing non-EC2/cloud.

A big part of what I want to do is to not require using the images, so that's
definitely going to be a new thing.

(It also requires a new field kernel_options ...)

If it's in a branch there though with a separate provider (link), we
could easily have Carla fork it and extend it.   Providers
could raise errors if they are used with incompatible arguments.

--Michael

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Re: GSoC - Introducing myself

2010-05-06 Thread Michael DeHaan
On Thu, May 6, 2010 at 5:21 PM, Michael DeHaan mich...@puppetlabs.com wrote:
 I am working on an EC2 type/provider, here is an example of its usage:

 noder{'blah':
   ensure = present,
   user = 'user',
   password = 'password',
   image = 'ami-84db39ed',
   desc = 'happy instance',
 }


 your noder example looks good ... you could add a virt_type and not
 use a lot of the fields when doing non-EC2/cloud.

 A big part of what I want to do is to not require using the images, so that's
 definitely going to be a new thing.

 (It also requires a new field kernel_options ...)

 If it's in a branch there though with a separate provider (link), we
 could easily have Carla fork it and extend it.   Providers
 could raise errors if they are used with incompatible arguments.

 --Michael


Here's what I mean by virt type:

noder {
   provider = 'libvirt',
   virt_type = 'qemu'
}

The idea is that we could reuse the one provider to do all the libvirt
development, and EC2 could be a different provider.

(Optionally, we could create a libvirt library, and have providers for
EC2, xen, and qemu seperately, but they share way so much in common).

(Also for those that don't know, qemu is the virt type underlying KVM.
  If kvm-intel or an equivalent kernel module is present, /dev/kvm
exists, and the OS is then accelerated.
Xen paravirt works a little differently, meaning it isn't accelerated,
but requires a specially modified OS.   Xen fullvirt can use any OS,
but requires special hardware.
When using Xen, we'd also need to pass around paravirt = true or
paravirt = false.

Virtualization is complicated.   Fun, but complicated :)

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.