Asaf Shakarchi has uploaded a new change for review.

Change subject: engine: Import linux template with legacy usb policy (#834254)
......................................................................

engine: Import linux template with legacy usb policy (#834254)

https://bugzilla.redhat.com/834254

- Fixed bug where UsbPolicy.forStringValue returns null for old values.
- Import template forces usb policy to be disabled for Linux os.
- Consolidated usb policy update method.

Change-Id: Ib1184493dedb44c5b481a27eceaee69974b73540
Signed-off-by: Asaf Shakarchi <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/UsbPolicy.java
4 files changed, 12 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/38/7138/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
index 00e64a1..aa9f623 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
@@ -38,7 +38,6 @@
 import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotStatus;
 import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotType;
 import org.ovirt.engine.core.common.businessentities.StorageDomainType;
-import org.ovirt.engine.core.common.businessentities.UsbPolicy;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VMStatus;
@@ -356,11 +355,7 @@
 
         // Check that the USB policy is legal
         if (retVal) {
-            //Enforce disabled USB policy for Linux OS with legacy policy.
-            if (vm.getos().isLinux() &&  
vm.getusb_policy().equals(UsbPolicy.ENABLED_LEGACY)) {
-                vm.setusb_policy(UsbPolicy.DISABLED);
-            }
-
+            VmHandler.updateImportedVmUsbPolicy(vm.getStaticData());
             retVal = VmHandler.isUsbPolicyLegal(vm.getusb_policy(), 
vm.getos(), getVdsGroup(), getReturnValue().getCanDoActionMessages());
         }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
index dc47444..ad8f428 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
@@ -316,6 +316,7 @@
         getVmTemplate().setvds_group_id(getParameters().getVdsGroupId());
         getVmTemplate().setstatus(VmTemplateStatus.Locked);
         getVmTemplate().setQuotaId(getParameters().getQuotaId());
+        VmHandler.updateImportedVmUsbPolicy(getVmTemplate());
         DbFacade.getInstance().getVmTemplateDAO().save(getVmTemplate());
         getCompensationContext().snapshotNewEntity(getVmTemplate());
         int count = 1;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
index 70dfc2c..3da3a8f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
@@ -16,6 +16,7 @@
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VMStatus;
+import org.ovirt.engine.core.common.businessentities.VmBase;
 import org.ovirt.engine.core.common.businessentities.VmDynamic;
 import org.ovirt.engine.core.common.businessentities.VmNetworkInterface;
 import org.ovirt.engine.core.common.businessentities.VmOsType;
@@ -458,6 +459,13 @@
         message.addAll(errorMessages);
     }
 
+    public static void updateImportedVmUsbPolicy(VmBase vmBase) {
+        //Enforce disabled USB policy for Linux OS with legacy policy.
+        if (vmBase.getos().isLinux() &&  
vmBase.getusb_policy().equals(UsbPolicy.ENABLED_LEGACY)) {
+            vmBase.setusb_policy(UsbPolicy.DISABLED);
+        }
+    }
+
     private static final Log log = LogFactory.getLog(VmHandler.class);
 
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/UsbPolicy.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/UsbPolicy.java
index ddd6a69..713fea0 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/UsbPolicy.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/UsbPolicy.java
@@ -5,8 +5,8 @@
     DISABLED,
     ENABLED_NATIVE;
 
-    private static String oldEnabledValue;
-    private static String oldDisabledValue;
+    private static final String oldEnabledValue = "Enabled";
+    private static final String oldDisabledValue = "Disabled";
 
     public int getValue() {
         return this.ordinal();


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib1184493dedb44c5b481a27eceaee69974b73540
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Asaf Shakarchi <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to