Moti Asayag has uploaded a new change for review.

Change subject: engine: Expose new parameters for template vnic actions
......................................................................

engine: Expose new parameters for template vnic actions

The patch adds new parameters for the template's vnic
to replace the deprecated properties on the
VmNetowkrInterface entity.

Change-Id: I033ad326d41d9c339b69b284514f1e19f54b6f5f
Signed-off-by: Moti Asayag <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/AddVmTemplateInterfaceCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/UpdateVmTemplateInterfaceCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/VmTemplateInterfaceCommandBase.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVmTemplateInterfaceParameters.java
4 files changed, 64 insertions(+), 29 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/63/17363/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/AddVmTemplateInterfaceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/AddVmTemplateInterfaceCommand.java
index 1f6eb70..8275a5e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/AddVmTemplateInterfaceCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/AddVmTemplateInterfaceCommand.java
@@ -6,6 +6,7 @@
 
 import org.ovirt.engine.core.bll.VmCommand;
 import org.ovirt.engine.core.bll.VmTemplateHandler;
+import org.ovirt.engine.core.bll.network.cluster.NetworkHelper;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
 import org.ovirt.engine.core.bll.utils.VmDeviceUtils;
 import org.ovirt.engine.core.bll.validator.VmNicValidator;
@@ -23,8 +24,6 @@
 import org.ovirt.engine.core.common.validation.group.CreateEntity;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.Version;
-import org.ovirt.engine.core.utils.linq.LinqUtils;
-import org.ovirt.engine.core.utils.linq.Predicate;
 
 public class AddVmTemplateInterfaceCommand<T extends 
AddVmTemplateInterfaceParameters>
         extends VmTemplateInterfaceCommandBase<T> {
@@ -43,7 +42,7 @@
         getVmNicDao().save(getParameters().getInterface());
         VmDeviceUtils.addNetworkInterfaceDevice(
                 new VmDeviceId(getParameters().getInterface().getId(), 
getParameters().getVmTemplateId()),
-                getParameters().getInterface().isPlugged(),
+                getParameters().isPlugged(),
                 getParameters().getInterface().getVnicProfileId());
 
         setSucceeded(true);
@@ -73,15 +72,13 @@
             return false;
         }
 
-        if (getNetworkName() != null) {
+        if (getParameters().getInterface().getVnicProfileId() != null) {
             // check that the network exists in current cluster
-            List<Network> networks = 
getNetworkDAO().getAllForCluster(getVmTemplate().getVdsGroupId());
-            if (null == LinqUtils.firstOrNull(networks, new 
Predicate<Network>() {
-                @Override
-                public boolean eval(Network network) {
-                    return network.getName().equals(getNetworkName());
-                }
-            })) {
+            Network interfaceNetwork =
+                    
NetworkHelper.getNetworkByVnicProfileId(getParameters().getInterface().getVnicProfileId());
+
+            if (interfaceNetwork == null
+                    || !NetworkHelper.isNetworkInCluster(interfaceNetwork, 
getVmTemplate().getVdsGroupId())) {
                 
addCanDoActionMessage(VdcBllMessages.NETWORK_NOT_EXISTS_IN_CURRENT_CLUSTER);
                 return false;
             }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/UpdateVmTemplateInterfaceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/UpdateVmTemplateInterfaceCommand.java
index 91f5d6a..d381420 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/UpdateVmTemplateInterfaceCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/UpdateVmTemplateInterfaceCommand.java
@@ -4,6 +4,7 @@
 
 import org.apache.commons.lang.ObjectUtils;
 import org.apache.commons.lang.StringUtils;
+import org.ovirt.engine.core.bll.network.cluster.NetworkHelper;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
 import org.ovirt.engine.core.bll.validator.VmNicValidator;
 import org.ovirt.engine.core.common.AuditLogType;
@@ -12,6 +13,7 @@
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.VmDevice;
 import org.ovirt.engine.core.common.businessentities.VmDeviceId;
+import org.ovirt.engine.core.common.businessentities.network.Network;
 import org.ovirt.engine.core.common.businessentities.network.VmNic;
 import org.ovirt.engine.core.common.businessentities.network.VnicProfile;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
@@ -29,8 +31,10 @@
     @Override
     protected void executeCommand() {
         getVmNicDao().update(getParameters().getInterface());
-        VmDevice vmDevice = getDbFacade().getVmDeviceDao().get(new 
VmDeviceId(getParameters().getInterface().getId(), 
getParameters().getVmTemplateId()));
-        
vmDevice.setCustomProperties(getParameters().getInterface().getCustomProperties());
+        VmDevice vmDevice =
+                getDbFacade().getVmDeviceDao().get(new 
VmDeviceId(getParameters().getInterface().getId(),
+                        getParameters().getVmTemplateId()));
+        vmDevice.setIsPlugged(getParameters().isPlugged());
         getDbFacade().getVmDeviceDao().update(vmDevice);
         setSucceeded(true);
     }
@@ -56,7 +60,6 @@
             }
         });
 
-
         Version clusterCompatibilityVersion = 
getVdsGroup().getcompatibility_version();
         VmNicValidator nicValidator = new 
VmNicValidator(getParameters().getInterface(), clusterCompatibilityVersion);
 
@@ -68,6 +71,18 @@
             return false;
         }
 
+        if (getParameters().getInterface().getVnicProfileId() != null) {
+            // check that the network exists in current cluster
+            Network interfaceNetwork =
+                    
NetworkHelper.getNetworkByVnicProfileId(getParameters().getInterface().getVnicProfileId());
+
+            if (interfaceNetwork == null
+                    || !NetworkHelper.isNetworkInCluster(interfaceNetwork, 
getVmTemplate().getVdsGroupId())) {
+                
addCanDoActionMessage(VdcBllMessages.NETWORK_NOT_EXISTS_IN_CURRENT_CLUSTER);
+                return false;
+            }
+        }
+
         return true;
     }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/VmTemplateInterfaceCommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/VmTemplateInterfaceCommandBase.java
index 1e26d5e..b488239 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/VmTemplateInterfaceCommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/template/VmTemplateInterfaceCommandBase.java
@@ -35,10 +35,6 @@
         return 
VmInterfaceType.forValue(getParameters().getInterface().getType()).getDescription();
     }
 
-    public String getNetworkName() {
-        return getParameters().getInterface().getNetworkName();
-    }
-
     protected boolean interfaceNameUnique(List<VmNic> interfaces) {
         return VmHandler.IsNotDuplicateInterfaceName(interfaces,
                 getInterfaceName(),
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVmTemplateInterfaceParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVmTemplateInterfaceParameters.java
index e844681..479b929 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVmTemplateInterfaceParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddVmTemplateInterfaceParameters.java
@@ -2,24 +2,51 @@
 
 import javax.validation.Valid;
 
-import 
org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface;
+import org.ovirt.engine.core.common.businessentities.network.VmNic;
 import org.ovirt.engine.core.compat.Guid;
 
 public class AddVmTemplateInterfaceParameters extends VmTemplateParametersBase 
{
     private static final long serialVersionUID = 5177618608953713542L;
 
     @Valid
-    private VmNetworkInterface _interface;
-
-    public AddVmTemplateInterfaceParameters(Guid vmtId, VmNetworkInterface 
iface) {
-        super(vmtId);
-        _interface = iface;
-    }
-
-    public VmNetworkInterface getInterface() {
-        return _interface;
-    }
+    private VmNic nic;
+    private boolean plugged = true;
+    private boolean portMirroring;
+    private String networkName;
 
     public AddVmTemplateInterfaceParameters() {
     }
+
+    public AddVmTemplateInterfaceParameters(Guid templateId, VmNic nic) {
+        super(templateId);
+        this.nic = nic;
+    }
+
+    public VmNic getInterface() {
+        return nic;
+    }
+
+    public boolean isPlugged() {
+        return plugged;
+    }
+
+    public void setPlugged(boolean plugged) {
+        this.plugged = plugged;
+    }
+
+    public boolean isPortMirroring() {
+        return portMirroring;
+    }
+
+    public void setPortMirroring(boolean portMirroring) {
+        this.portMirroring = portMirroring;
+    }
+
+    public String getNetworkName() {
+        return networkName;
+    }
+
+    public void setNetworkName(String networkName) {
+        this.networkName = networkName;
+    }
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I033ad326d41d9c339b69b284514f1e19f54b6f5f
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

Reply via email to