Daniel Erez has uploaded a new change for review.

Change subject: core: update sound device on next run VM snapshot
......................................................................

core: update sound device on next run VM snapshot

* Added an 'EditableDeviceOnVmStatusField' annotation for
  'soundDeviceEnabled' (in VmManagementParametersBase).
* Consequently, removed canDo validation in UpdateVmCommand.

Change-Id: Icb794bcb6a054bbb0424c35f024c4a1a85ea5069
Signed-off-by: Daniel Erez <de...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VmManagementParametersBase.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java
3 files changed, 2 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/87/29387/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
index bde27f3..155d0da 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
@@ -54,7 +54,6 @@
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.common.utils.Pair;
-import org.ovirt.engine.core.common.utils.VmDeviceType;
 import org.ovirt.engine.core.common.utils.customprop.ValidationError;
 import org.ovirt.engine.core.common.utils.customprop.VmPropertiesUtils;
 import org.ovirt.engine.core.common.validation.group.UpdateVm;
@@ -510,11 +509,6 @@
         if (vmFromParams.isUseHostCpuFlags()
                 && vmFromParams.getMigrationSupport() == 
MigrationSupport.MIGRATABLE) {
             return 
failCanDoAction(VdcBllMessages.VM_HOSTCPU_MUST_BE_PINNED_TO_HOST);
-        }
-
-        if (getParameters().isSoundDeviceEnabled() != null && !getVm().isDown()
-                && VmDeviceUtils.vmDeviceChanged(getVmId(), 
VmDeviceGeneralType.SOUND, getParameters().isSoundDeviceEnabled())) {
-            return 
failCanDoAction(VdcBllMessages.VM_CANNOT_UPDATE_DEVICE_VM_NOT_DOWN, "$device 
sound");
         }
 
         if (!isCpuSharesValid(vmFromParams)) {
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VmManagementParametersBase.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VmManagementParametersBase.java
index 7c6ea02..f5f14e85 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VmManagementParametersBase.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VmManagementParametersBase.java
@@ -51,6 +51,7 @@
      * for add vm legacy logic will be used: create device for desktop type
      * for update the current configuration will remain
      */
+    @EditableDeviceOnVmStatusField(generalType = VmDeviceGeneralType.SOUND, 
type = VmDeviceType.SOUND, isReadOnly = true)
     private Boolean soundDeviceEnabled;
     /*
      * This parameter is used to decide if to create console device or not if 
it is null then: for add vm don't add
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java
index da1d11f..8c7c2e8 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java
@@ -290,6 +290,7 @@
     private void postDoUpdateManagedFieldsFrom(VmBase vmBase) {
         if (isNextRunConfigurationExists()) {
             deactivate();
+            
getModel().getIsSoundcardEnabled().setEntity(isVmDeviceExists(vmBase.getManagedDeviceMap(),
 VmDeviceType.SOUND.getName()));
             
getModel().getIsConsoleDeviceEnabled().setEntity(isVmDeviceExists(vmBase.getManagedDeviceMap(),
 VmDeviceType.CONSOLE.getName()));
             activate();
         }


-- 
To view, visit http://gerrit.ovirt.org/29387
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icb794bcb6a054bbb0424c35f024c4a1a85ea5069
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Daniel Erez <de...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to