LIBXENLIGHT

Stefano Stabellini




     Xen Summit at AMD
      April 28­29, 2010
The current situation

Multiple toolstacks:
  ­ Xend, Xapi, XenVM, LibVirt, ...
  ­ code duplications, inefficiencies, bugs, wasted 
    efforts


Xend:
  ­ difficult to understand, modify and extend


                       Xen Summit at AMD
                        April 28­29, 2010
The solution: libxenlight

What is Libxenlight:
  ­ a small lower level library in C
  ­ simple to understand
  ­ easy to modify and extend


Goals:
  ­ provide a simple and robust API for toolstacks
  ­ create a common codebase to do Xen operations
                        Xen Summit at AMD
                         April 28­29, 2010
The current architecture




              Xen Summit at AMD
               April 28­29, 2010
The new architecture




             Xen Summit at AMD
              April 28­29, 2010
Libxenlight: design principles

­ implement mechanisms, not policies
­ stateless
­ hide xenstore, libxenctrl and libxenguest from 
  the higher levels
­ be as simple as possible




                     Xen Summit at AMD
                      April 28­29, 2010
XL: not just unit testing

­ the unit testing tool for libxenlight
­ feature complete
­ a minimal toolstack
­ 99% compatible with xm


do more with less!


                       Xen Summit at AMD
                        April 28­29, 2010
XL: design principles

­ smallest possible toolstack on top of libxenlight
­ stateless
­ work without any additional daemons
  CLI → XL → Libxenlight → EXIT
  exception: domain cleanup, cdrom eject




                     Xen Summit at AMD
                      April 28­29, 2010
The new architecture: adding XL




             Xen Summit at AMD
              April 28­29, 2010
XL vs. Xend

XL: pros
­ very small and easy to read
­ well tested
­ compatible with xm


Xend: pros
­ provide XML RPC interface
­ provide ”managed domains”
                    Xen Summit at AMD
                     April 28­29, 2010
TODO list

­ implement missing features
­ make libxenlight rock solid
­ port xend on top of libxenlight
­ port xapi on top of libxenlight
­ port libvirt on top of libxenlight




                       Xen Summit at AMD
                        April 28­29, 2010
Libxenlight: patches are welcome

­ new features should be implemented in 
  libxenlight
­ a hook in xl is required for testing purposes
­ bindings for xend, xapi and other toolstacks are 
  welcome but not required




                     Xen Summit at AMD
                      April 28­29, 2010
Questions?




             Xen Summit at AMD
              April 28­29, 2010

Xen summit amd_2010v3