Absolute TODOs: - thread protection, reentrancy, refcounting, etc ... TODO: - Create() API, how do we best keep flexibility and allow various specific environment and space for evolution (VMX) - track change of xend API & XML-RPC - API for the Node: extracting informations, selecting scheduling policy - better resources allocation APIs (%CPU, set memory) - DTD/RNG/XSD schemas for the XML Domain descriptions - in python bindings raise an exception if a lookup or connection fails to return a non-None object - Add uuid to XML format - add error handling hooks at the python level virsh TODO: - decide where will be default directory for domains configurations (/etc/xen/domains/* ?) - new cmd: create new domain by config file (like "xm create") create [--conf /path/file.conf | name] - new cmd: print info about domain configuration: cinfo [--conf /path/file.conf | name] - new cmd: print list of all domains configurations: clist [--dir /path] - new cmd: print info about saved domain image: sinfo /path/domain.img Probable TODOs: - event on big domain state change (create, crashed, paused, shutdown, destroy) - bindings for more languages Would-be-nice TODO: - man page for virsh and the libraries entry points - support for QEmu and other virtualization engines - more documentation and examples on using the toolkit - examples and docs for the principle in the error handling code Cleanup: - now that libxml2 is linked in, drop hash.[ch] and get back to libxml2 ones ? same for the buffers Done: - make dist and make rpm targets - set a no public by default policy for libvir symbols - fix the python bindings - renamed to libvirt - the CreateLinux() API is a first step toward a final Create() - documentation and examples on using the toolkit - UUID based lookup and naming - Error API similar to libxml2 structured API - extract error messages from the Xend rpc