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
