Arik Hadas has uploaded a new change for review. Change subject: frontend: disable stateless mode for diskless vm ......................................................................
frontend: disable stateless mode for diskless vm This patch disable the 'Run Stateless' check-box in the run-once dialog, in both webadmin and user portal, for diskless VM. Change-Id: I54a3c720edf863dcbc520ef41194d3816f9a0048 Bug-Url: https://bugzilla.redhat.com/907968 Signed-off-by: Arik Hadas <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java 2 files changed, 21 insertions(+), 10 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/14/12914/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java index 6e244f9..c1c4dc2 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java @@ -835,6 +835,13 @@ { UserPortalListModel userPortalListModel = (UserPortalListModel) model; ArrayList<Disk> vmDisks = (ArrayList<Disk>) ((VdcQueryReturnValue) returnValue).getReturnValue(); + RunOnceModel runOnceModel = (RunOnceModel) userPortalListModel.getWindow(); + + if (vmDisks.isEmpty()) { + runOnceModel.getRunAsStateless().setIsChangable(false); + runOnceModel.getRunAsStateless().setChangeProhibitionReason("Diskless Virtual Machine cannot run in stateless mode"); //$NON-NLS-1$ + runOnceModel.getRunAsStateless().setEntity(false); + } boolean hasBootableDisk = false; for (Disk disk : vmDisks) { @@ -846,8 +853,7 @@ if (!hasBootableDisk) { - BootSequenceModel bootSequenceModel = - ((RunOnceModel) userPortalListModel.getWindow()).getBootSequence(); + BootSequenceModel bootSequenceModel = runOnceModel.getBootSequence(); bootSequenceModel.getHardDiskOption().setIsChangable(false); bootSequenceModel.getHardDiskOption() .setChangeProhibitionReason("Virtual Machine must have at least one bootable disk defined to boot from hard disk."); //$NON-NLS-1$ diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java index 4fd5dff..cc08574 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java @@ -1402,7 +1402,8 @@ RunOnceUpdateFloppy(vm, new ArrayList<String>()); RunOnceUpdateImages(vm); RunOnceUpdateDomains(); - RunOnceUpdateBootSequence(vm); + updateInterfacesRelatedRunOnceData(vm); + updateDisksRelatedRunOnceData(vm); RunOnceLoadHosts(vm); UICommand tempVar = new UICommand("OnRunOnce", this); //$NON-NLS-1$ @@ -1442,7 +1443,7 @@ model.getDisplayProtocol().setSelectedItem(isVncSelected ? vncProtocol : qxlProtocol); } - private void RunOnceUpdateBootSequence(VM vm) + private void updateInterfacesRelatedRunOnceData(VM vm) { AsyncQuery _asyncQuery = new AsyncQuery(); _asyncQuery.setModel(this); @@ -1467,11 +1468,9 @@ }; Frontend.RunQuery(VdcQueryType.GetVmInterfacesByVmId, new IdQueryParameters(vm.getId()), _asyncQuery); - - setIsBootFromHardDiskAllowedForVm(vm); } - private void setIsBootFromHardDiskAllowedForVm(VM vm) { + private void updateDisksRelatedRunOnceData(VM vm) { AsyncQuery vmDisksQuery = new AsyncQuery(); vmDisksQuery.setModel(this); @@ -1479,8 +1478,15 @@ @Override public void OnSuccess(Object model, Object returnValue) { - VmListModel userPortalListModel = (VmListModel) model; + VmListModel vmListModel = (VmListModel) model; ArrayList<Disk> vmDisks = (ArrayList<Disk>) ((VdcQueryReturnValue) returnValue).getReturnValue(); + RunOnceModel runOnceModel = (RunOnceModel) vmListModel.getWindow(); + + if (vmDisks.isEmpty()) { + runOnceModel.getRunAsStateless().setIsChangable(false); + runOnceModel.getRunAsStateless().setChangeProhibitionReason("Diskless Virtual Machine cannot run in stateless mode"); //$NON-NLS-1$ + runOnceModel.getRunAsStateless().setEntity(false); + } boolean hasBootableDisk = false; for (Disk disk : vmDisks) { @@ -1492,8 +1498,7 @@ if (!hasBootableDisk) { - BootSequenceModel bootSequenceModel = - ((RunOnceModel) userPortalListModel.getWindow()).getBootSequence(); + BootSequenceModel bootSequenceModel = runOnceModel.getBootSequence(); bootSequenceModel.getHardDiskOption().setIsChangable(false); bootSequenceModel.getHardDiskOption() .setChangeProhibitionReason("Virtual Machine must have at least one bootable disk defined to boot from hard disk."); //$NON-NLS-1$ -- To view, visit http://gerrit.ovirt.org/12914 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I54a3c720edf863dcbc520ef41194d3816f9a0048 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
