Skip to content
__init__.py 1.69 KiB
Newer Older
Benziane Chakib's avatar
Benziane Chakib committed
#!/usr/bin/env python
#coding:utf-8

"""
This API abstracts all calls to any hypervisor type.

This API is split in four parts:
 * Global Interface
 * Libvirt Wrapper
 * KVM, XEN, ... hypervisor interface
 * Exceptions

Every entity in the hypervisor library has a common ancestor
:class:`interface.Host`.

The inheritance diagram shown below reflects the relationship between
each class.


.. graphviz::

    digraph {
        subgraph cluster_interface {
            "Host" [shape=box];
            "Hypervisor" [shape=box];
            "VM" [shape=box];
            "Host" -> "Hypervisor";
            "Host" -> "VM";
            label = "interface";
            style = filled;
            color = "#e6fbff";
        }
        subgraph cluster_libvirt {
            "LibvirtHypervisor" [shape=box];
            "LibvirtVm" [shape=box];
            "Hypervisor" -> "LibvirtHypervisor";
            "VM" -> "LibvirtVm";
            style=filled;
            color="#ffe6ea";
            label = "libvirt";
        }
        subgraph cluster_hypervisor_calls {
            "KvmHypervisor" [shape=box];
            "XenHypervisor" [shape=box];
            "LibvirtHypervisor" -> "KvmHypervisor";
            "LibvirtHypervisor" -> "XenHypervisor";
            label = "Hypervisor Calls";
            labelloc = "b";
            style = filled;
            color = "#fffcc9";
        }
        subgraph cluster_vm_calls {
            "KvmVm" [shape=box];
            "XenVm" [shape=box];
            "LibvirtVm" -> "KvmVm";
            "LibvirtVm" -> "XenVm";
            label = "Virtual Machine Calls";
            labelloc = "b";
            style = filled;
            color = "#fffcc9";
        }
    }

"""

Thibault VINCENT's avatar
Thibault VINCENT committed
__version__ = 7