Difference between revisions of "XenAPI"
Line 6: | Line 6: | ||
== Summary == | == Summary == | ||
− | + | XenServer: Commercial, supported product from Citrix. | |
− | Xen Cloud Platform: Open-source equivalent of | + | Xen Cloud Platform: Open-source equivalent of XenServer (and the development project for the toolstack). |
− | XenAPI: The management API exposed by | + | XenAPI: The management API exposed by XenServer and Xen Cloud Platform. |
− | This specification covers Nova support for | + | This specification covers Nova support for XenServer and Xen Cloud Platform through XenAPI. Note that this does not imply support for other Xen-based platforms such as those shipped with RHEL 5 or SUSE. |
== Release Note == | == Release Note == | ||
− | Nova may now use | + | Nova may now use XenServer or Xen Cloud Platform as a virtualization platform. |
== Rationale == | == Rationale == | ||
Line 24: | Line 24: | ||
== Assumptions == | == Assumptions == | ||
− | The | + | The OpenStack project will not ship the XenAPI.py module. Users will need to get that from http://wiki.xensource.com/xenwiki/XCP_SDK or http://community.citrix.com/cdn/xs/sdks. |
== Design == | == Design == |
Revision as of 21:03, 7 September 2010
- Launchpad Entry: NovaSpec:austin-xenapi
- Created: 7 September 2010
- Contributors: Ewan Mellor
Summary
XenServer: Commercial, supported product from Citrix.
Xen Cloud Platform: Open-source equivalent of XenServer (and the development project for the toolstack).
XenAPI: The management API exposed by XenServer and Xen Cloud Platform.
This specification covers Nova support for XenServer and Xen Cloud Platform through XenAPI. Note that this does not imply support for other Xen-based platforms such as those shipped with RHEL 5 or SUSE.
Release Note
Nova may now use XenServer or Xen Cloud Platform as a virtualization platform.
Rationale
User stories
Assumptions
The OpenStack project will not ship the XenAPI.py module. Users will need to get that from http://wiki.xensource.com/xenwiki/XCP_SDK or http://community.citrix.com/cdn/xs/sdks.
Design
The pre-existing interface between Nova and the virtualization platform is through libvirt, with various calls to libvirt (and virsh) from Nova's compute and monitoring layers. There is also a libvirt simulation module, for unit testing without making calls to the a platform.
In order to add XenAPI support, we propose a new layer (nova.virt) that abstracts over the calls to libvirt. Through this abstract interface, the main body of Nova can make virtualization calls without reference to any particular platform. This interface will then be implemented by modules for libvirt (nova.virt.libvirt_conn), XenAPI (nova.virt.xenapi), or a simulator(nova.virt.fake).