Hi, I would like to add support for granular disk controller support for CloudStack over VMware deployments.
To access virtual disks, CD/DVD-ROM, and SCSI devices, a virtual machine uses storage controllers. Virtual storage controllers appear to a virtual machine as different types of controllers of type IDE or SCSI. Further SCSI controllers can be classified into 4 sub types, as below BusLogic Parallel LSI Logic Parallel, LSI Logic SAS VMware Paravirtual SCSI Currently CloudStack supports following combinations only. DATA volumes - SCSI controller (LSI Logic Parallel) - Hard coded in source code, no option for user to edit/choose the controller type ROOT volumes - IDE or SCSI (LSI Logic Parallel) - Baed on value of global configuration parameter "vmware.root.disk.controller" Currently the instances are deployed with the the LSI Parallel controller type. This might result in failure to boot when attempting to deploy templates that use the LSI SAS controller. CloudStack should provide administrator the means to choose the type of disk controller (including sub types listed in introduction section above) for an instance. The controller to be used by VM to access virtual disk (volume) can decided for various reasons. Some of them are listed here, * Some controllers are optimized for best performance over specific backend infrastructure like SAN. Ex: VMware Paravirtual SCSI * Compatibility of some controllers with VM's virtual hardware version or guest operating system. * Operating system vendor recommendation and default set of drivers distributed as part of operating system image. Ex: Windows 8.1 ISO doesn't have Lsi Logic Parallel SCSI drivers by default. Hence a virtual disk attached to this controller won't accessible during installation of OS using the ISO. CloudStack should provide administrator an option which auto detects the recommended disk controller for the instance's guest operating system and applicable virtual hardware version. Kindly let me know your thoughts. JIRA ticket - CLOUDSTACK-4787 Note:- Detailed Functional Specification is to be added at cwiki.apache.org under 4.4 Design documents. Currently cwiki.apache.org is down. Waiting for the site to come up to add the FS document. Regards, Sateesh