CD Upload Server
We should provide a means for users to upload their own boot CDs to Invirt. Drawing on discussions we've had in the past, here's how I think the process should work (all hostnames, paths, etc are preliminary):
- User is told to sftp CD images to <owner>
- User homedirs on xvm-images are FUSE-backed, with dynamically generated .k5login files. ~/cds/ is a symlink to /tmp/cds/<owner>. If that directory doesn't exist, the FUSE FS creates it when something calls readlink on the symlink.
- User goes back to the website, which shows him a list of the CDs that have been uploaded to any locker's account on xvm-images that he has bits on, with a button by each one to "finish the upload process"
- xvm-images' host creates an appropriately sized block device and `xm block-attach`es it to xvm-images.
- xvm-images then copies the disk onto the block device
- When the copy is done, the host `xm block-detach`es the LV
- Any files in /tmp/cds are garbage collected when they're more than a week old.
The LVs should have different prefix namespaces when xvm-images is doing the copy, and after it's complete.
My current thinking is that custom discs should count against your total disk quota.
There are some unresolved details with regards to who sends remctls where and through whom, but those are details. I personally have a preference for xvm-remote being a hub and repeater for all remctls.
One potential expansion of this service would be direct access to VM disks. I'm not entirely sure how that would work, but the FUSE FS would probably have to translate the block device of the VM's disk into a regular file for scp and sftp to play nicely.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Evan Broder
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Updated spec to associate CDs with owners, not individual VMs.
-- Evan, 2009-12-27