Vered Volansky has uploaded a new change for review. Change subject: core: Disallow RO LUN ISCSI disks in UI ......................................................................
core: Disallow RO LUN ISCSI disks in UI Qemu currently does not support Direct-LUN disks connected using Virt-IO-SCSI. This patch blocks this option from UI when adding a new LUN disk with Virt-IO-SCSI interface to a VM. Change-Id: Iffe7996a3134b775e95325a58c6659b64ff4da2f Bug-Url: https://bugzilla.redhat.com/1082673 Signed-off-by: Vered Volansky <[email protected]> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/disks/DisksViewColumns.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java 3 files changed, 26 insertions(+), 7 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/53/27453/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/disks/DisksViewColumns.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/disks/DisksViewColumns.java index 6d35bbd..2f83f8c 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/disks/DisksViewColumns.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/disks/DisksViewColumns.java @@ -265,8 +265,8 @@ }) { @Override protected boolean canEdit(EntityModel object) { - return true; - } + return true; + } @Override public Boolean getValue(EntityModel object) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java index cc8bb73..d9148ef 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java @@ -666,13 +666,22 @@ protected void updateReadOnlyChangeability() { DiskInterface diskInterface = (DiskInterface) getDiskInterface().getSelectedItem(); - if (DiskInterface.IDE.equals(diskInterface)) { + if (diskInterface == DiskInterface.IDE) { getIsReadOnly().setChangeProhibitionReason(CONSTANTS.cannotEnableIdeInterfaceForReadOnlyDisk()); getIsReadOnly().setIsChangable(false); + getIsReadOnly().setEntity(false); + return; } - else { - getIsReadOnly().setIsChangable(isEditEnabled()); + boolean isVirtIoScsiLun = Boolean.FALSE.equals(getIsInternal().getEntity()) && diskInterface == DiskInterface.VirtIO_SCSI; + if (isVirtIoScsiLun) { + getIsReadOnly().setChangeProhibitionReason(CONSTANTS.cannotEnableVirtIoScsiInterfaceForLunReadOnlyDisk()); + getIsReadOnly().setIsChangable(false); + getIsReadOnly().setEntity(false); + return; } + + getIsReadOnly().setEntity(false); + getIsReadOnly().setIsChangable(isEditEnabled()); } private void updatePlugChangeability() { @@ -695,8 +704,7 @@ } private void wipeAfterDelete_EntityChanged(EventArgs e) { - if (!getIsWipeAfterDelete().getIsChangable() && (Boolean) getIsWipeAfterDelete().getEntity()) - { + if (!getIsWipeAfterDelete().getIsChangable() && (Boolean) getIsWipeAfterDelete().getEntity()) { getIsWipeAfterDelete().setEntity(false); } } @@ -791,6 +799,14 @@ result.getReasons().add(ConstantsManager.getInstance().getConstants().cannotEnableIdeInterfaceForReadOnlyDisk()); } + if (Boolean.FALSE.equals(getIsInternal().getEntity()) && + getDiskInterface().getSelectedItem() == DiskInterface.VirtIO_SCSI && + Boolean.TRUE.equals(getIsReadOnly().getEntity())) + { + result.setSuccess(false); + result.getReasons().add(ConstantsManager.getInstance().getConstants().cannotEnableIdeInterfaceForReadOnlyDisk()); + } + return result; } }}); diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java index ec32e8b..fa3f5f4 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java @@ -2223,6 +2223,9 @@ @DefaultStringValue("Are you sure you want to place the following storage domain(s) into maintenance mode?") String areYouSureYouWantToPlaceFollowingStorageDomainsIntoMaintenanceModeMsg(); + @DefaultStringValue("A VirtIO-ISCSI LUN disk can't be read-only.") + String cannotEnableVirtIoScsiInterfaceForLunReadOnlyDisk(); + @DefaultStringValue("Global Maintenance Enabled") String haGlobalMaintenance(); -- To view, visit http://gerrit.ovirt.org/27453 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iffe7996a3134b775e95325a58c6659b64ff4da2f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.4 Gerrit-Owner: Vered Volansky <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
