Alona Kaplan has uploaded a new change for review. Change subject: engine: Passing to ActivateDeactivateVnic the vnic ......................................................................
engine: Passing to ActivateDeactivateVnic the vnic As ActivateDeactivateVmInterface became an internal command it shouldn't get the vnic from the db. The command that called the ActivateDeavtivate have already got the vnic and can pass it. In case the caller command is UpdateVmInterface and the action is unplug, the passed nic should be the old nic (the host is familiar to) and not the updated one. Change-Id: I058b7197ec5a152e91cbb3c362b290326678df40 Bug-Url: https://bugzilla.redhat.com/904840 Signed-off-by: Alona Kaplan <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AbstractVmInterfaceCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/ActivateDeactivateVmNicCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ActivateDeactivateVmNicParameters.java 5 files changed, 20 insertions(+), 51 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/92/12792/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AbstractVmInterfaceCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AbstractVmInterfaceCommand.java index f97da21..7248a38 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AbstractVmInterfaceCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AbstractVmInterfaceCommand.java @@ -34,10 +34,10 @@ super(parameters); } - protected boolean activateOrDeactivateNic(Guid nicId, PlugAction plugAction, String oldMacAddress) { + protected boolean activateOrDeactivateNic(VmNetworkInterface nic, PlugAction plugAction) { VdcReturnValueBase returnValue = getBackend().runInternalAction(VdcActionType.ActivateDeactivateVmNic, - createActivateDeactivateParameters(nicId, plugAction, oldMacAddress)); + createActivateDeactivateParameters(nic, plugAction)); if (!returnValue.getSucceeded()) { propagateFailure(returnValue); } @@ -45,19 +45,16 @@ return returnValue.getSucceeded(); } - protected boolean activateOrDeactivateNic(Guid nicId, PlugAction plugAction) { - return activateOrDeactivateNic(nicId, plugAction, null); - } @Override protected void setActionMessageParameters() { addCanDoActionMessage(VdcBllMessages.VAR__TYPE__INTERFACE); } - private ActivateDeactivateVmNicParameters createActivateDeactivateParameters(Guid nicId, - PlugAction plugAction, String oldMacAddress) { + private ActivateDeactivateVmNicParameters createActivateDeactivateParameters(VmNetworkInterface nic, + PlugAction plugAction) { ActivateDeactivateVmNicParameters parameters = - new ActivateDeactivateVmNicParameters(nicId, plugAction, oldMacAddress); + new ActivateDeactivateVmNicParameters(nic, plugAction); parameters.setVmId(getParameters().getVmId()); return parameters; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/ActivateDeactivateVmNicCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/ActivateDeactivateVmNicCommand.java index ca5cac5..d91b2ce 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/ActivateDeactivateVmNicCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/ActivateDeactivateVmNicCommand.java @@ -12,8 +12,6 @@ import org.ovirt.engine.core.common.businessentities.VmDevice; import org.ovirt.engine.core.common.businessentities.VmDeviceId; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; -import org.ovirt.engine.core.common.businessentities.network.VmInterfaceType; -import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.vdscommands.VmNicDeviceVDSParameters; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.VdcBllMessages; @@ -33,7 +31,6 @@ public class ActivateDeactivateVmNicCommand<T extends ActivateDeactivateVmNicParameters> extends VmCommand<T> { private VmDevice vmDevice; - private VmNetworkInterface vmNetworkInterface; public ActivateDeactivateVmNicCommand(T parameters) { super(parameters); @@ -57,9 +54,8 @@ } } - vmDevice = getVmDeviceDao().get(new VmDeviceId(getParameters().getNicId(), getParameters().getVmId())); - vmNetworkInterface = getVmNetworkInterfaceDao().get(getParameters().getNicId()); - if (vmDevice == null || vmNetworkInterface == null) { + vmDevice = getVmDeviceDao().get(new VmDeviceId(getParameters().getNic().getId(), getParameters().getVmId())); + if (vmDevice == null) { addCanDoActionMessage(VdcBllMessages.VM_INTERFACE_NOT_EXIST); return false; } @@ -68,31 +64,17 @@ } private String getNetworkName() { - VmNetworkInterface vmNetworkInterface = getVmNetworkInterfaceDao().get(getParameters().getNicId()); - return vmNetworkInterface == null ? null : vmNetworkInterface.getNetworkName(); - } - - public String getInterfaceName() { - return vmNetworkInterface.getName(); - } - - public String getInterfaceType() { - return VmInterfaceType.forValue(vmNetworkInterface.getType()).getDescription(); + return getParameters().getNic().getNetworkName(); } @Override protected void executeVmCommand() { // HotPlug in the host is called only if the Vm is UP if (hotPlugVmNicRequired(getVm().getStatus())) { - VmNetworkInterface nic = getVmNetworkInterfaceDao().get(getParameters().getNicId()); - // Old MAC address is used in case the host is not familiar with the new MAC address - if (getParameters().getOldMacAddress() != null) { - nic.setMacAddress(getParameters().getOldMacAddress()); - } runVdsCommand(getParameters().getAction().getCommandType(), new VmNicDeviceVDSParameters(getVdsId(), getVm(), - nic, + getParameters().getNic(), vmDevice)); } // In any case, the device is updated diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java index 89ffdf9..0dca4cf 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java @@ -68,7 +68,7 @@ }); if (getInterface().isPlugged()) { - succeeded = activateOrDeactivateNic(getInterface().getId(), PlugAction.PLUG); + succeeded = activateOrDeactivateNic(getInterface(), PlugAction.PLUG); } else { succeeded = true; } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java index c3fffd8..d4051ea 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/UpdateVmInterfaceCommand.java @@ -109,10 +109,10 @@ if (getRequiredAction() != null){ switch (getRequiredAction()) { case PLUG: { - return activateOrDeactivateNic(getInterface().getId(), PlugAction.PLUG); + return activateOrDeactivateNic(getInterface(), PlugAction.PLUG); } case UNPLUG: { - return activateOrDeactivateNic(getInterface().getId(), PlugAction.UNPLUG, oldIface.getMacAddress()); + return activateOrDeactivateNic(oldIface, PlugAction.UNPLUG); } case UPDATE_VM_DEVICE: { runVdsCommand(VDSCommandType.UpdateVmInterface, diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ActivateDeactivateVmNicParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ActivateDeactivateVmNicParameters.java index 77f48e4..a5142f2 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ActivateDeactivateVmNicParameters.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ActivateDeactivateVmNicParameters.java @@ -1,34 +1,24 @@ package org.ovirt.engine.core.common.action; -import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; public class ActivateDeactivateVmNicParameters extends VmOperationParameterBase { - private Guid nicId; + private VmNetworkInterface nic; private PlugAction action; - private String oldMacAddress; - public ActivateDeactivateVmNicParameters(Guid nicId, PlugAction action, String oldMacAddress) { + public ActivateDeactivateVmNicParameters(VmNetworkInterface nic, PlugAction action) { super(); - this.nicId = nicId; + this.nic = nic; this.action = action; - this.oldMacAddress = oldMacAddress; } - public String getOldMacAddress() { - return oldMacAddress; + public VmNetworkInterface getNic() { + return nic; } - public void setOldMacAddress(String oldMacAddress) { - this.oldMacAddress = oldMacAddress; - } - - public Guid getNicId() { - return nicId; - } - - public void setNicId(Guid nicId) { - this.nicId = nicId; + public void setNic(VmNetworkInterface nic) { + this.nic = nic; } public PlugAction getAction() { -- To view, visit http://gerrit.ovirt.org/12792 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I058b7197ec5a152e91cbb3c362b290326678df40 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
