Table of contents
- 1. Some investigations
- 2. Design
- 3. Related
- 1. Some investigations
- 2. Design
- 3. Related
Some investigations
httpfs on swift solution may not work for ISO and Template
one requirement for https is http server needs to support loading arbitrary parts of the file with a Range-Header in the GET-Request , I checked swift document and code, I don't think swift support this. I'll do some tests about this.
vhd coalesce needs cache,
I thought vhd coalesce work with the http download(from swift) stream, then we don't need to save snapshot temparorily and do coalesce, I think it doesn't work, vhd coalese will access vhd file randomly
swift support big file > 5G
It is still true, but with different mechanism previouly , proxy will do the segment, now swift client needs to do the segment.
Design
swift account
1)CS uses one swift account
2)ISO, one iso container
3)template, one template container
4)snapshot, one container per volume
template/iso upload,
through SSVM to swift
create VM from template/iso
download template/iso from swift to primary storage
- template, no problem
- nfs/iso, copy iso to nfs share, symbolic link to local ISO SR
- iscsi/iso dd iso to a lvm volume, which is not managed by XenServer like heartbeat volume, symblic link to local ISO SR
symbolic in #2) works, need to test symbolic in #3)
create snapshot
1) upload snapshot to swift
2) full + n delta
create template/volume from snapshot
1) download snapshot to primary storage
2) do coalesce
3) introduce new vdi.
template.properties
1) rename it to “template-name”. properties.
2) need to change script to update system vm and built-in template
Or, we set up a swift, use can get system vm and built-in template from it, and some built-in ISO, it will simply installation.
3) use can update other templates to swift by using this script, then click a VM sync button in CS, CS will get latest template.
volume export
1) do a vdi-copy in primary storage( vhd coalese)
2) update the new vhd to swift
3) destroy the vhd
5) return url of the volume to user ( SSVM don’t need to run apache)

Comments