-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
problem
Environment
- CloudStack: 4.20.2
- VMware: 7.0.3
Issue
When a VMware zone is deployed, the default CloudStack template does not define the disk controller.
As a result, new instances get rootDiskController=ide and dataDiskController=osdefault.
However, inside the guest OS, the disk actually appears as SCSI, since VMware defaults to SCSI.
Problem
If you try to "Override root disk size" or "Override root disk offering" during instance creation, it fails.
This happens because CloudStack “guesses” the controller type as IDE, as it’s not defined in the template.
After creation, resizing of a volume also fails with the same error.
Solution
Add a custom setting to define the controller explicitly rootDiskController=scsi.
After this, new instances will be created successfully, with the correct controller automatically applied.
If the instances were already created, you don’t need to recreate them, changing the controller setting to scsi will resolve the issue.
Notes
Inside the guest, disks still appear as SCSI, confirming that VMware uses SCSI by default.
Additionally
The default template (which uses LVM and ext3) does not automatically expand to match the resized volume.
To simplify administration I would recommend a new template to be the default pulled one:
- Debian (like the System VMs) instead of CentOS.
- Avoid LVM because it adds complexity for basic tasks (like expanding the root filesystem).
- Swap files can replace swap partitions with similar performance.
- Swap partitions at the end of the disk make resizing filesystem a real pain.
For generic templates, consider omitting swap entirely and users can add it later if needed.
versions
The versions of ACS, hypervisors, storage, network etc..
The steps to reproduce the bug
...
What to do about it?
As far as I know this template was created 15 years ago ;-)