Discuss about GSoC 2014 Project: oVirt virtual disks advanced integration with libvirt

Federico Simoncelli fsimonce at redhat.com
Mon Mar 3 23:27:39 UTC 2014


----- Original Message -----
> From: "Siddharth Jain" <sid270592 at gmail.com>
> To: fsimonce at redhat.com, arch at ovirt.org
> Sent: Monday, March 3, 2014 4:28:31 AM
> Subject: Fwd: Discuss about GSoC 2014 Project: oVirt virtual disks advanced integration with libvirt
> 
> Hello,
> 
> I am Siddharth Jain, a 4th year undergraduate student at BITS-Pilani, India
> and an extremely interested GSoC aspirant. I have gone through the project
> list of various organizations but this particular project caught my special
> attention - 'oVirt virtual disks advanced integration with libvirt'
> 
> I am very interested in working on this project as I am currently working
> on a similar project as an intern at Dell Research and Development Center,
> Bangalore, India and this could help me contribute better to oVirt. Here,
> as part of the project, I have to deal with configuring various Virtual
> Disk and Physical Disk capabilities of Dell PowerEdge Servers by
> communicating with iDRAC(integrated Dell Remote Access Controller) using
> the WSMAN Web Service. My work also involves automating features like
> configuring Power Cap, adding hot spare to Virtual Disk, configuring RAID
> and SNMP Trap Destinations.
> I am using Python and C# to create the APIs for the job.
> 
> I have good experience working with Java on an open-source project but not
> so much with libvirt/QEMU. Since I am very interested in working on this
> project, can you advise me on how to proceed in the right direction and
> provide me more details about the task so that I can understand the work
> better?

This GSoC Project is actually split in two parts:

- implement the support for the advanced disk capabilities (discard, eio,
  cache) in VDSM (python, libvirt)

- provide a way to configure the advanced disk capabilities in the UI
  per storage, virtual machine and disk (java, jboss + gwt)

The first part (python) should be easier (and faster) to implement.
Basically it would consist in coming up with the API changes (extension
probably) in order to pass the request for these new disk capabilities
when you start a virtual machine (or you hotplug a disk).
This will translate in a simple XML configuration that then it's fed to
libvirt (nothing more than that).

In order to tackle this you'll probably need to:

- install an host with fedora/centos
- use git to access VDSM code in our repository
- build VDSM (rpm build is mostly automated)
- install your own VDSM rpms
- install ovirt-engine/webadmin from the official repositories
- start using oVirt to instantiate VMs
- add the changes to the API used to start the VM

The scope of the second part is actually larger. We'll have to make
changes to the UI in order to let the user configure these capabilities
(e.g. a checkbox to enable discard, etc...) and save them in the
database.
Then when a request of starting a virtual machine is created it should
take in account these configurations to use the API we extended in the
previous point (VDSM).

In order to tackle this you'll probably need to:

- do everything stated in the previous list
- use git to access ovirt-engine code in our repository
- build ovirt-engine (jboss application + gwt)
- add the new capabilities to the UI (gwt)
- use the new capabilities when starting a VM

Let me know if you need more information.
-- 
Federico



More information about the Arch mailing list