mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-4787: Allow users to select disk controller for VM/template
- Adds new controller types in the UI, for selecting root disk controller while
registering templates
- Fixes bug to not override disk controller type if provided in the details (either
vm details or from template details)
(cherry picked from commit c7d67628b3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
parent
6a9956e0f5
commit
a15187a57a
|
|
@ -21,7 +21,6 @@ package org.apache.cloudstack.storage.command;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
import com.cloud.agent.api.Command;
|
||||
import com.cloud.agent.api.to.DiskTO;
|
||||
|
||||
public final class AttachCommand extends StorageSubSystemCommand {
|
||||
|
|
|
|||
|
|
@ -1219,7 +1219,7 @@ public enum Config {
|
|||
String.class,
|
||||
"vmware.root.disk.controller",
|
||||
"ide",
|
||||
"Specify the default disk controller for root volumes, valid values are scsi, ide",
|
||||
"Specify the default disk controller for root volumes, valid values are scsi, ide, osdefault. Please check documentation for more details on each of these values.",
|
||||
null),
|
||||
VmwareSystemVmNicDeviceType(
|
||||
"Advanced",
|
||||
|
|
|
|||
|
|
@ -3376,11 +3376,16 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
|
|||
s_logger.info("guestOS is OSX : overwrite root disk controller to scsi, use smc and efi");
|
||||
} else {
|
||||
String controllerSetting = _configDao.getValue("vmware.root.disk.controller");
|
||||
vm.setDetail(VmDetailConstants.ROOK_DISK_CONTROLLER, controllerSetting);
|
||||
if (controllerSetting.equalsIgnoreCase("scsi")) {
|
||||
vm.setDetail(VmDetailConstants.DATA_DISK_CONTROLLER, "scsi");
|
||||
} else {
|
||||
vm.setDetail(VmDetailConstants.DATA_DISK_CONTROLLER, "osdefault");
|
||||
// Don't override if VM already has root/data disk controller detail
|
||||
if (vm.getDetail(VmDetailConstants.ROOK_DISK_CONTROLLER) == null) {
|
||||
vm.setDetail(VmDetailConstants.ROOK_DISK_CONTROLLER, controllerSetting);
|
||||
}
|
||||
if (vm.getDetail(VmDetailConstants.DATA_DISK_CONTROLLER) == null) {
|
||||
if (controllerSetting.equalsIgnoreCase("scsi")) {
|
||||
vm.setDetail(VmDetailConstants.DATA_DISK_CONTROLLER, "scsi");
|
||||
} else {
|
||||
vm.setDetail(VmDetailConstants.DATA_DISK_CONTROLLER, "osdefault");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -281,6 +281,26 @@
|
|||
id: "ide",
|
||||
description: "ide"
|
||||
});
|
||||
items.push({
|
||||
id: "osdefault",
|
||||
description: "osdefault"
|
||||
});
|
||||
items.push({
|
||||
id: "pvscsi",
|
||||
description: "pvscsi"
|
||||
});
|
||||
items.push({
|
||||
id: "lsilogic",
|
||||
description: "lsilogic"
|
||||
});
|
||||
items.push({
|
||||
id: "lsisas1068",
|
||||
description: "lsilogicsas"
|
||||
});
|
||||
items.push({
|
||||
id: "buslogic",
|
||||
description: "buslogic"
|
||||
});
|
||||
args.response.success({
|
||||
data: items
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue