Back to top
 
 
 

Projects

This page lists some of the tasks/projects for ConVirt. Contributors are encouraged to pick a project that best aligns their interest and expertise.

Table of contents

Generic

Network Admin interface


Description Allow users to create NAT, Private network(for VM on the same host), Bridged netowrk. Have a GUI at the server pool level to describe a network and make is consistent for each server in the pool.

Notes

Phase I

  • Allow user to define the network definition
    • For NAT : get the interface name from the user.
    • For Private network : get the bridge names
    • For Public network : get the bridge name and the interface name.
  • Allow user to actually make the changes on each server (one by one.)
    • A dialog with list of servers and "push" button.
    • Keep track of status ?
    • present with errors.
  • Allow user to pick the named network at the time of provisioning. Present it with a union of defined networks and other bridges available.
  • Prompt the user to do the network configuration, when a server is added to the pool. NOTE: Allow the user to fine tune the vif entry, if he wishes to do so.

Phase II

  • Allow for bonding
  • Allow for VLAN definitions0


Developer(s) : Milind

Status : Backend scripts being worked on.

ConVirt CLI


Description

Allow ConVirt operations to be controlled via command line interface.

Notes

Initialize key objects like GridManager, ImageStore, ApplianceManager etc. and write a wrapper for operations supported by ConVirt.

Developer(s) : Gigo

Status : In progress

VM Cloning interface


Description

Allow existing VMs to be cloned.

Notes

Use pieces already available for appliance import to add a smoother workflow for importing a disk or cloning an existing VM (may contain multiple disks)

Developer(s)

Status

VM Snapshots


Description

Take snapshot of the disk also as a part of taking VM.

Notes

Look in to thin provisioning/qcow format, LVM snapshots. At least provide hooks so users can hook in their custom thing.

Developer(s)

Status

Allow Lun Partitions as disks


Description

Currently we allow selection of a lun as a disk for a VM. Some users allocate a large lun and use partitions as disks for VM.

Notes

  • Show lun partitions along with lun.
 * Watch out : dont double count the storage
  • Enhance the provisioning script to create a partition given a large lun.

Developer(s)

Status

Support Multipath


Description

Allow correct selection of multipath interface while selecting an iscsi storage.

Notes

developer notes

Developer(s)

Status

Thin provisioning


Description

Allow for qcow based thin provisioning.

Notes

Developer(s)

Status

libvirt substrate


Description Add libvirt as an alternative substrate to write ConVirt platform plugins.

Notes Allow for plugin writer to use libvirt as a substrate. This would facilitate quick development of other plugin platforms like oVirt, openvz etc.

Developer(s)

Status

OVF Support


Description

Allow for OVF based appliances/VMs.

Notes

Currently we support XVA based appliances, now that OVF seems to be reasonably cooked, we should look into adding support for it.

Developer(s)

Status

Xen

Xen Managed VMs


Description

xm new/delete allows the users to store the config information in the xenstore instead of external files. ConVirt should manage these VMs.

Notes

Currently there is quite a bit or reliance on the configuration file. For short term we should provide users with a utility that would harvest the information from the xenstore using xm list --long and create appropriate configuration files. We can use the utility function available in src/convirt/core/utils/utils.py to get sxp property.

Also, issue xm delete, while deleting VM from ConVirt.

Developer(s) :

Status :

Xen Disk hotplug


Description

Allow disks to be added to a running VM.

Notes

Enhance the VMSetttings dialog to handle addition of disk for running VMs. User xm block-attach to attach the disk. Also update the config file so that the next boot of VM would have the disk.

Developer(s) Gigo

Status Done

Xen Network hotplug


Description

Allow Networks to be added to a running VM.

Notes

Enhance the VMSetttings dialog to handle addition of n/w interfaces for running VMs. User xm commands to attach the network. Also update the config file so that the next boot of VM would have the disk.

Developer(s)

Status

Integration with native provisioning scripts for xen


Description

Integrate ConVirt provisioning with vm-install, xen-tools etc. This would add support for provisioning PV images for SLES, Debian/ubuntu based platforms.

Notes

Create template images, which has custom provisioning script which reads the context passed to it and transforms in to native tool command lines.

Developer(s)

Status

KVM

KVM bridge setup


Description

At the time of setting up managed node via convirt-tool, configure the bridge for each interface.

Notes

Developer(s) Milind

Status : done

Start KVM Virtual machines on boot


Description

Allow /etc/xen/auto like mechanism to start selected KVM virtual machines on boot.

Notes

Use the rc.d mechanism to kick of starting of VMs.

Approach 1

  • Store the kvm command line params in /etc/kvm/auto/vm file.
  • write rc script to kick these off on startup and shut them down on shutdown.
  • Enhance ConVirt to keep the startup files in sync when VM gets modified.

Approach 2

  • Create links, exactly similar to xen
  • The rc script will know how to generate command line from the given config file. (Will use some code from the kvm plugin.)

In either case, it would be nice to add a checkbox to the VM config "Start VM on boot".

Developer(s)

Status

KVM hotplug


Description

Allow for KVM CPU, Mem and Disk and network hotplug.

Notes

Figure out which kvm version these are available and stable. Anyway we need figure out next KVM release to target.

Developer(s)

Status

KVM Pause / Resume


Description

Enable Pause and Resume for KVM.

Notes

The pause and resume functionality is disabled as it was difficult to get the status of a VM that is on the receiving end of migration. That VM used to block causing problem. There has been enhancements in this area, we need to find out exact details and see how we can make these available without breaking migration.

Developer(s)

Status

KVM Network and I/O stats


Get network and I/O stat similar to xen.

Notes Network :

Read stat from /proc/net/dev : and find stat for vif interfaces for dom. Note : These are from point of view of Dom0, so you would have to swap rx and tx.

I/O : We need to find similar stats for KVM. This is available via info blockstats from the monitor.

Sample :

info block
ide0-hd0: type=hd removable=0 file=/mnt/vm_data/F8-Storage.disk.xm ro=0 drv=raw
ide0-hd1: type=hd removable=0 file=/dev/ROOT_FS/Lun2G ro=0 drv=host_device
ide1-hd0: type=hd removable=0 file=/dev/ROOT_FS/Lun4G ro=0 drv=host_device
ide1-hd1: type=hd removable=0 file=/dev/ROOT_FS/Lun6G ro=0 drv=host_device
floppy0: type=floppy removable=1 locked=0 [not inserted]
sd0: type=floppy removable=1 locked=0 [not inserted]
info blockstats
ide0-hd0: rd_bytes=1146557952 wr_bytes=1580803072 rd_operations=119192 wr_operations=196376
ide0-hd1: rd_bytes=607232 wr_bytes=0 rd_operations=56 wr_operations=0
ide1-hd0: rd_bytes=1493504 wr_bytes=0 rd_operations=227 wr_operations=0
ide1-hd1: rd_bytes=1095680 wr_bytes=1024 rd_operations=200 wr_operations=1
floppy0: rd_bytes=0 wr_bytes=0 rd_operations=0 wr_operations=0
sd0: rd_bytes=0 wr_bytes=0 rd_operations=0 wr_operations=0


NOTE : For both metrics, If required consult xentop for how these metrics are rolled up of processed further.


Developer(s)

Status

Template : Project Name


Description

desc here

Notes

developer notes

Developer(s)

Status

 

댓글