Moti Asayag has uploaded a new change for review. Change subject: engine: Replace use of VmNetworkInterface with VmNic ......................................................................
engine: Replace use of VmNetworkInterface with VmNic The patch replaces internal backend usages of VmNetworkInterface with VmNic where possible. Change-Id: I27a8b4821450297622cd35c12943c714d2654bb2 Signed-off-by: Moti Asayag <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/VmInterfaceManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/VmInterfaceManagerTest.java 6 files changed, 48 insertions(+), 33 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/28/17228/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java index 9c6ff70..6dee399 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java @@ -32,7 +32,6 @@ import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.DiskImage; -import org.ovirt.engine.core.common.businessentities.Entities; import org.ovirt.engine.core.common.businessentities.MigrationSupport; import org.ovirt.engine.core.common.businessentities.OriginType; import org.ovirt.engine.core.common.businessentities.StorageDomain; @@ -49,7 +48,6 @@ import org.ovirt.engine.core.common.businessentities.VmWatchdog; import org.ovirt.engine.core.common.businessentities.permissions; import org.ovirt.engine.core.common.businessentities.network.VmInterfaceType; -import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.businessentities.network.VmNic; import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; @@ -168,15 +166,12 @@ return _vmSnapshotId; } - protected List<VmNetworkInterface> _vmInterfaces; + protected List<VmNic> _vmInterfaces; - protected List<VmNetworkInterface> getVmInterfaces() { + protected List<VmNic> getVmInterfaces() { if (_vmInterfaces == null) { - List<VmNetworkInterface> vmNetworkInterfaces = - DbFacade.getInstance().getVmNetworkInterfaceDao().getAllForTemplate(getVmTemplate().getId()); - _vmInterfaces = - (vmNetworkInterfaces != null) ? vmNetworkInterfaces - : new ArrayList<VmNetworkInterface>(); + List<VmNic> vmNetworkInterfaces = getVmNicDao().getAllForTemplate(getVmTemplate().getId()); + _vmInterfaces = vmNetworkInterfaces == null ? new ArrayList<VmNic>() : vmNetworkInterfaces; } return _vmInterfaces; } @@ -257,7 +252,7 @@ returnValue = returnValue && checkPciAndIdeLimit(getParameters().getVmStaticData().getNumOfMonitors(), - Entities.<VmNic, VmNetworkInterface> upcast(getVmInterfaces()), + getVmInterfaces(), getVmDisks(), getReturnValue().getCanDoActionMessages()) && canAddVm(getReturnValue().getCanDoActionMessages(), destStorages.values()) && hostToRunExist(); @@ -635,7 +630,7 @@ protected void addVmNetwork() { // Add interfaces from template - for (VmNetworkInterface iface : getVmInterfaces()) { + for (VmNic iface : getVmInterfaces()) { iface.setId(Guid.newGuid()); iface.setMacAddress(MacPoolManager.getInstance().allocateNewMac()); iface.setSpeed(VmInterfaceType.forValue(iface.getType()).getSpeed()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java index b2c6ef8..eea9f1f 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java @@ -16,6 +16,7 @@ import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.businessentities.DiskImage; +import org.ovirt.engine.core.common.businessentities.Entities; import org.ovirt.engine.core.common.businessentities.ImageStatus; import org.ovirt.engine.core.common.businessentities.Snapshot; import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotStatus; @@ -23,8 +24,9 @@ import org.ovirt.engine.core.common.businessentities.VMStatus; import org.ovirt.engine.core.common.businessentities.VmDevice; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; -import org.ovirt.engine.core.common.locks.LockingGroup; +import org.ovirt.engine.core.common.businessentities.network.VmNic; import org.ovirt.engine.core.common.errors.VdcBllMessages; +import org.ovirt.engine.core.common.locks.LockingGroup; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; import org.ovirt.engine.core.common.queries.VdcQueryType; @@ -111,9 +113,9 @@ } @Override - protected List<VmNetworkInterface> getVmInterfaces() { + protected List<VmNic> getVmInterfaces() { if (_vmInterfaces == null) { - _vmInterfaces = vmFromConfiguration.getInterfaces(); + _vmInterfaces = Entities.<VmNic, VmNetworkInterface> upcast(vmFromConfiguration.getInterfaces()); } return _vmInterfaces; } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java index 0937e7e..08473b3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java @@ -45,7 +45,7 @@ import org.ovirt.engine.core.common.businessentities.VmType; import org.ovirt.engine.core.common.businessentities.permissions; import org.ovirt.engine.core.common.businessentities.network.VmInterfaceType; -import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; +import org.ovirt.engine.core.common.businessentities.network.VmNic; import org.ovirt.engine.core.common.errors.VdcBLLException; import org.ovirt.engine.core.common.errors.VdcBllErrors; import org.ovirt.engine.core.common.errors.VdcBllMessages; @@ -210,9 +210,14 @@ public Void runInTransaction() { addPermission(); AddVmTemplateImages(); - List<VmNetworkInterface> vmInterfaces = addVmInterfaces(); + List<VmNic> vmInterfaces = addVmInterfaces(); if (isVmInDb) { - VmDeviceUtils.copyVmDevices(getVmId(), getVmTemplateId(), newDiskImages, vmInterfaces, getParameters().isSoundDeviceEnabled(), getParameters().isConsoleEnabled()); + VmDeviceUtils.copyVmDevices(getVmId(), + getVmTemplateId(), + newDiskImages, + vmInterfaces, + getParameters().isSoundDeviceEnabled(), + getParameters().isConsoleEnabled()); } else { // sending true for isVm in order to create basic devices needed VmDeviceUtils.copyVmDevices(getVmId(), @@ -416,15 +421,11 @@ setActionReturnValue(getVmTemplate().getId()); } - protected List<VmNetworkInterface> addVmInterfaces() { - List<VmNetworkInterface> templateInterfaces = new ArrayList<VmNetworkInterface>(); - List<VmNetworkInterface> interfaces = DbFacade - .getInstance() - .getVmNetworkInterfaceDao() - .getAllForVm( - getParameters().getMasterVm().getId()); - for (VmNetworkInterface iface : interfaces) { - VmNetworkInterface iDynamic = new VmNetworkInterface(); + protected List<VmNic> addVmInterfaces() { + List<VmNic> templateInterfaces = new ArrayList<>(); + List<VmNic> interfaces = getVmNicDao().getAllForVm(getParameters().getMasterVm().getId()); + for (VmNic iface : interfaces) { + VmNic iDynamic = new VmNic(); iDynamic.setId(Guid.newGuid()); iDynamic.setVmTemplateId(getVmTemplateId()); iDynamic.setName(iface.getName()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/VmInterfaceManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/VmInterfaceManager.java index aca6e33..6cc6217 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/VmInterfaceManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/VmInterfaceManager.java @@ -80,7 +80,7 @@ }); } - public void auditLogMacInUseUnplug(final VmNetworkInterface iface) { + public void auditLogMacInUseUnplug(final VmNic iface) { TransactionSupport.executeInNewTransaction(new TransactionMethod<Void>() { @Override public Void runInTransaction() { @@ -154,7 +154,7 @@ * the network interface that needs to be plugged * @return <code>true</code> if the MAC is used by another plugged network interface, <code>false</code> otherwise. */ - public boolean existsPluggedInterfaceWithSameMac(VmNetworkInterface interfaceToPlug) { + public boolean existsPluggedInterfaceWithSameMac(VmNic interfaceToPlug) { List<VmNic> vmNetworkIntrefaces = getVmNicDao().getPluggedForMac(interfaceToPlug.getMacAddress()); for (VmNic vmNetworkInterface : vmNetworkIntrefaces) { if (!interfaceToPlug.getId().equals(vmNetworkInterface.getId())) { @@ -194,7 +194,7 @@ return DbFacade.getInstance().getVmDao(); } - private AuditLogableBase createAuditLog(final VmNetworkInterface iface) { + private AuditLogableBase createAuditLog(final VmNic iface) { AuditLogableBase logable = new AuditLogableBase(); logable.setVmId(iface.getVmId()); logable.addCustomValue("MACAddr", iface.getMacAddress()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java index c2dc05f..ecbcd19 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.Map; import java.util.Set; + import org.apache.commons.lang.StringUtils; import org.ovirt.engine.core.bll.VmHandler; import org.ovirt.engine.core.bll.network.VmInterfaceManager; @@ -27,6 +28,7 @@ import org.ovirt.engine.core.common.businessentities.VmStatic; import org.ovirt.engine.core.common.businessentities.VmType; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; +import org.ovirt.engine.core.common.businessentities.network.VmNic; import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.common.osinfo.OsRepositoryImpl; @@ -220,7 +222,16 @@ /** * Copy related data from the given VM/VmBase/VmDevice list to the destination VM/VmTemplate. */ - public static void copyVmDevices(Guid srcId, Guid dstId, VM vm, VmBase vmBase, boolean isVm, List<VmDevice> devicesDataToUse, List<DiskImage> disks, List<VmNetworkInterface> ifaces, boolean soundDeviceEnabled, boolean isConsoleEnabled) { + public static void copyVmDevices(Guid srcId, + Guid dstId, + VM vm, + VmBase vmBase, + boolean isVm, + List<VmDevice> devicesDataToUse, + List<DiskImage> disks, + List<VmNic> ifaces, + boolean soundDeviceEnabled, + boolean isConsoleEnabled) { Guid id; int diskCount = 0; int ifaceCount = 0; @@ -377,7 +388,12 @@ * @param disks * The disks which were saved for the destination VM. */ - public static void copyVmDevices(Guid srcId, Guid dstId, List<DiskImage> disks, List<VmNetworkInterface> ifaces, boolean soundDeviceEnabled, boolean isConsoleEnabled) { + public static void copyVmDevices(Guid srcId, + Guid dstId, + List<DiskImage> disks, + List<VmNic> ifaces, + boolean soundDeviceEnabled, + boolean isConsoleEnabled) { VM vm = DbFacade.getInstance().getVmDao().get(dstId); VmBase vmBase = (vm != null) ? vm.getStaticData() : null; boolean isVm = (vmBase != null); @@ -727,7 +743,7 @@ * @param iface * the network interface to check if can be plugged */ - private static boolean canPlugInterface(VmNetworkInterface iface) { + private static boolean canPlugInterface(VmNic iface) { VmInterfaceManager vmIfaceManager = new VmInterfaceManager(); if (vmIfaceManager.existsPluggedInterfaceWithSameMac(iface)) { vmIfaceManager.auditLogMacInUseUnplug(iface); diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/VmInterfaceManagerTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/VmInterfaceManagerTest.java index 0c57967..45a87bc 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/VmInterfaceManagerTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/VmInterfaceManagerTest.java @@ -27,6 +27,7 @@ import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; +import org.ovirt.engine.core.common.businessentities.network.VmNic; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.compat.Version; @@ -75,7 +76,7 @@ doReturn(vmNetworkInterfaceDAO).when(vmInterfaceManager).getVmNetworkInterfaceDao(); doReturn(vmNicDao).when(vmInterfaceManager).getVmNicDao(); doReturn(vmDAO).when(vmInterfaceManager).getVmDAO(); - doNothing().when(vmInterfaceManager).auditLogMacInUseUnplug(any(VmNetworkInterface.class)); + doNothing().when(vmInterfaceManager).auditLogMacInUseUnplug(any(VmNic.class)); doNothing().when(vmInterfaceManager).log(any(AuditLogableBase.class), any(AuditLogType.class)); } -- To view, visit http://gerrit.ovirt.org/17228 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I27a8b4821450297622cd35c12943c714d2654bb2 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Moti Asayag <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
