Recently, I've needed to install many Debian VMs onto XenServers and, of course, wanted to automate it. One of my colleagues pointed that rather use existing tools like Cobbler I should take opportunity of working with world leading XenAPI developers and learnt it by writing some code. I took that advice and started to write a python script.
During that I decided that I could improve XenAPI documentation. I spent some extra time on my program and tried to write the code clear and with as many comments as possible, so other can learn from it and reuse it. I hoped to write even more documentation (some tutorial) based on my experiences, unfortunately I haven't had enough time.
Please find short XenDebian.py documentation on Xen wiki:
http://wiki.xen.org/wiki/XenDebian.py
and code on GitHub:
https://github.com/wawrzek/XenDebian
The script is called XenDebian, but with minor modification (new preseed file and change distro name in few places) you should be able to use it with Ubuntu. With a few more modification it should works for any distribution.
Finally, thanks to
Project Kronos you would be soon able to install use XenDebian to install many Debian on Debian!