...
- Explore debootstrap, nbd and chroot based systemvm template building. PoC shows promise, builds template under 5mins. (vs 30-60mins before), refer to PoC tree for export logic too.
- Instead of bundling all 3x systemvmtemplates, we can bundle one of the hypervisors and build/export the image for other hypervisors using qemu-img upon cloudstack-management pkg install/upgrade (we use qemu-img to convert the template to different hypervisor images during build too):
- Bundle qcow2 file in cloudstack-management pkg
- Use export mechanism that uses qemu-img, tar and bzip2 to export to other hypervisor formats - ova and vhd. Check for qemu-img compatibility/feasibility for all support mgmt server distros. This can be done during automated template upgrades/updates or when cloudstack-management pkg is installed or upgraded.
- Assume we bundle OVA/vmware; upon install/upgrade we extract the ova (tar) and grab the vmdk to export for KVM and XenServer.
- To export for kvm, we run: qemu-img -f vmdk -O qcow2 -o compat=0.10 -c <source vmdk> <dest kvm qcow2 file>
- To export for xenserver/xcp-ng, we run: qemu-img -f vmdk -O vpc <source vmdk> <dest xs/xcp vhd file>
- In testing, we found this entire process of conversion takes 10-30seconds in total; which may significantly save on bandwidth of over 1G in total cloudstack-management pkg/file being downloaded
- The logic/script that does this would check and do this kind of convertion only if qcow2 and vhds are not bundled with the cloudstack-management pkg
- During packaging, this can simplify things so if systemvm.iso is deprecated then we bundle the ova only when -D systemvm or -P systemvm is enabled
...
CKS Changes
Since CKS is not tied with systemvmtemplates, some optimisations can be explored:
...