You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Ovm3 implementation for CloudStack:
===================================
The diff needs to be applied against the cloudstack dir, for the rest it's
a matter of copying the ovm3 directory into cloudstack/plugins/hypervisors
run mvn to compile et voila.
The development was done against: c108d7f0d0e1e1e746dd186e3153c2d8387da7e2
(CloudStack 4.4 Master) but should be merged against master.

Base networking on the hypervisor should be done (bonds and plain NICs). 
after this the bond/NIC name is used as the "network tag" to identify which 
bond is used in which network. Vlans should work icw VIFs.

To get a working systemvm image:
qemu-img convert -f vpc -O raw systemvmtemplate-4.4-ovm.vhd \
	systemvmtemplate-4.4-ovm.raw

Implementation:
===============
The implementation is a native implementation which uses the OVM3.2.x agent
as much as possible. Although not all functionality required is present in 
the agent, some is leveraged by ssh. Most of the work has been done based 
on how Oracle Virtual Manager interacts with the agent on the host by using 
XML-RPC.
A plugin for the OVM3 agent is used to expose missing functionality in the
ovs-agent framework.

Changes:
========
* introduced VM stats.
* HA Investigator.

Tested:
=======
* Basic networking, to a limited scope.
* Shared networking (Advanced), to a limited scope.
* primary and secondary storage via NFS.
* RouterVM (DHCP, dns, savepass), SSVM and Console Proxy work.
* PV guests (hvm not tested).
* attaching of disks and ISOs, live.
* pool of 2 hypervisors.
* loose hypervisors.
* VM and SystemVM Migration (tested with pool).
* Host maintenance.

To be implemented:
==================
* Snapshots (can't be done live with RAW filesystems, unless ocfs2).
* Clustering.
* OCFS2, clustering and the FS for hot snapshots.
* iSCSI and local storage.
* openvswitch, which is bundled with OVM3.2.x
* Meta data on the NICs with regard to NIC roles. (seems not required yet).
* Fencing.
* security Groups (etables/iptables).
* The rest of advanced networking.
* cpu pinning.
* xentools version detection. 
* A sane master UUID, it's a fixed UUID now.
* Dynamic scaling of VM (reconfigure can be used).

TODO:
=====
Flensing the classes that are used and the way some of the "objects" are used.

Bugs:
=====
Many.

 

(The initial thoughts from https://github.com/snuf/ovm3)

  • No labels