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

Reply via email to