From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Florath Subject: xenapi.VM.create() with (data) uri for PV_kernel and PV_ramdisk Date: Tue, 14 Jul 2009 21:02:37 +0200 Message-ID: <4A5CD64D.6000801@flonatel.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030904060405080002080908" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------030904060405080002080908 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello! In my environment there is a central management system which starts domUs on different dom0s. This should be done with the help of the XenAPI. The problem is that when creating a VM, the remote local filename must be specified (PV_kernel and PV_ramdisk). This is a kind of strange; especially when a shared storage between all dom0s is not possible. To fix this, I added support for the data uri (as described in RFC 2397) for the PV_kernel and PV_ramdisk parameters. So it is now possible to specify the vm in the management system like: vmdesc = { 'memory_dynamic_max': 96 * 1024 * 1024, 'memory_static_max': 96 * 1024 * 1024, 'PV_kernel': schema_data.create_from_file( "/debian/images/vmlinuz-2.6.26-2-xen-686"), 'PV_ramdisk': schema_data.create_from_file( "/debian/images/initrd.img-2.6.26-2-xen-686"), ... } xenapi.VM.create(vmdesc) The images are send base64 encoded to the remote host; there the files are extracted and the vm is started with these files (mostly the same idea as in pygrub). The attached code should be seen as PoC. The following things must be done: o Add more test cases (file writer is not tested very well) o The temp files must be deleted at some point of time (check how this is done in pygrub). o Add more encodings (RFC 2397 allows also URL encoding) [Really needed?] o What about other language bindings? (Java, C, ...) o Adapt documentation My questions: 1) What do you think about this approach? 2) Is there a chance that this idea will make it to the xen-unstable some day? If there is some kind of 'yes' for the second question, I'll invest some time and clean up the code and handle the other ToDos. Any additional hints / remarks are welcome. Kind regards Andreas Florath --------------030904060405080002080908 Content-Type: application/x-gzip; name="fileuri-0.1.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="fileuri-0.1.tar.gz" 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 --------------030904060405080002080908 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------030904060405080002080908--