Import and export VM in XO
A very important (and coming!) feature in Xen Orchestra, will be VM import & export. Want to know how it will work and what will be possible to do with it? Go on!
XenServer mechanism
Before getting on use cases and UI consideration, we'll see how XenServer, and its API (XAPI) deal with VM import or export. Like the RRD for the statistics, it's not directly incorporated in the XAPI. We need to do a HTTP request to get or to push our VM.
The request for exporting a VM via a HTTP PUT look like this:
http://myxenserver.mydomain/export/?session_id=mySessionId&ref=myVmRef&use_compression=true
For importing, it's very similar:
http://myxenserver.mydomain/import/?session_id=mySessionId
Great, but we need to pass this request from xo-web
to xo-server
and getting back the answer from your host. That's the major part of our work in order to have this feature in XO.
UI considerations
VM Export
Not a problem: we just have to add an option in the VM view, with a check-box for the compression, then you'll download directly the file on your computer.
VM Import
This feature will probably need a dedicated page, with a progress bar. Because you'll want to know how it goes.
Conclusion
As you can see, the major gap for having this feature working is in the back-end. But the implementation will be relatively similar to the statistics, so it should be fast as soon as we are on it.