Version française
Home     About     Download     Resources     Contact us    
Browse thread
[ANN] open-sourcing of the XAPI toolstack
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Thomas Gazagnaire <Thomas.Gazagnaire@e...>
Subject: [ANN] open-sourcing of the XAPI toolstack
We are pleased to announce the open-sourcing of the XAPI toolstack, written in OCaml, as used in the Citrix XenServer product line. The XAPI toolstack is licensed under the LGPL v2.1 with a special static linking exception.

**context**

Xen [1] is an open-source type 1 hypervisor, providing the ability to run multiple operating systems, called virtual machines, concurrently on a single physical processor. Type 1 (or native, bare-metal) hypervisors are software systems that run directly on host's hardware. They have been very popular architecture since the CP/CMS, developed at IBM in the 1960s. Citrix XenServer [2] is an enterprise-class, cloud-proven server virtualization platform that delivers the critical features of live migration and centralized multi-server management for Xen based virtual machine. XenServer is an open and powerful server virtualization solution that radically reduces datacenter costs by transforming static and complex datacenter environments into more dynamic, easy to manage IT service delivery centers.

**xapi**

The xapi toolstack, which provides the core Citrix Xenserver's functionalities, is a set of libraries and programs written in OCaml. It is approximately 200k lines of code developed from early 2006. Within Citrix, more than 40 people have already contributed to its source code.

What the XAPI toolstack has to manage covers a large range, from low-level (interface with kernel and hypervisor) to high-level (distributed data/locking management). It also need to have good performance because it may be used in an environment of thousands of virtual machines per cluster and has to be able to run on systems with limited resources (embedded editions of Citrix XenServer are distributed on an USB stick and run in highly customized OS). Finally, as a major enterprise product, the XAPI toolstack evolves constantly, due to customer/business requests.

The OCaml language has been particularly good so far to help us facing all this challenges, and we can't think of a better language to use :-) We really appreciate that the compiler tools are stable, that the compiled code is fast and small and that static-type inference makes our software robust to changes.

**links**

The released code is the current development version ("trunk") and is under active development. The repositories are here:

http://xenbits.xen.org/xapi/xen-dist-ocaml.hg - scripts and Makefiles to build some external library dependencies
http://xenbits.xen.org/xapi/xen-api-libs.hg - internal libraries (e.g. for talking to xenstore)
http://xenbits.xen.org/xapi/xen-api.hg - the toolstack itself

The easiest way to build the code is in a specially-prepared VM, instructions are here:

http://xenbits.xen.org/xapi/install.html

>From now on, all development will take place on the xen-api@lists.xensource.com mailing list. In the future we plan to move relevant content such as documentation, designs, roadmaps etc. onto the main xen.org wiki.

Comments, criticism and contributions are welcome!

--
The XAPI toolstack team

[1] http://xen.org
[2] http://www.citrix.com/English/ps2/products/feature.asp?contentID=1686939