Muli Salem has uploaded a new change for review.

Change subject: core: Change Network Validation (#844396)
......................................................................

core: Change Network Validation (#844396)

https://bugzilla.redhat.com/844396

This patch changes the way VmInterfaceManager validates
a network. The purpose is to allow better use of the method
from ImportVmCommand and from ImportVmTemplateCommand.

Signed-off-by: Muli Salem <[email protected]>
Change-Id: I1081d3c323ac33ee6eb5a3b1aa3a589fe8bc36a6
---
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/network/VmInterfaceManager.java
3 files changed, 15 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/24/7324/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 80588e0..28030e3 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
@@ -33,6 +33,8 @@
 import org.ovirt.engine.core.common.businessentities.DiskImage;
 import org.ovirt.engine.core.common.businessentities.DiskImageBase;
 import org.ovirt.engine.core.common.businessentities.DiskImageDynamic;
+import org.ovirt.engine.core.common.businessentities.Entities;
+import org.ovirt.engine.core.common.businessentities.Network;
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
 import org.ovirt.engine.core.common.businessentities.Snapshot;
 import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotStatus;
@@ -934,10 +936,12 @@
      */
     private void auditInvalidInterfaces() {
         List<VmNetworkInterface> interfaces = getVm().getInterfaces();
+        Map<String, Network> networksInVdsByName =
+                
Entities.entitiesByName(getNetworkDAO().getAllForCluster(getVm().getvds_group_id()));
         StringBuilder networks = new StringBuilder();
         StringBuilder ifaces = new StringBuilder();
         for (VmNetworkInterface iface : interfaces) {
-            if (!VmInterfaceManager.isValidVmNetwork(iface, 
getVm().getvds_group_id())) {
+            if (!VmInterfaceManager.isValidVmNetwork(iface, 
networksInVdsByName)) {
                 networks.append(iface.getNetworkName()).append(",");
                 ifaces.append(iface.getName()).append(",");
             }
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 ad8f428..9ac8da2 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
@@ -25,6 +25,8 @@
 import org.ovirt.engine.core.common.businessentities.CopyVolumeType;
 import org.ovirt.engine.core.common.businessentities.DiskImage;
 import org.ovirt.engine.core.common.businessentities.DiskImageDynamic;
+import org.ovirt.engine.core.common.businessentities.Entities;
+import org.ovirt.engine.core.common.businessentities.Network;
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
 import org.ovirt.engine.core.common.businessentities.StorageDomainType;
 import org.ovirt.engine.core.common.businessentities.StorageType;
@@ -342,6 +344,8 @@
 
     protected void AddVmInterfaces() {
         List<VmNetworkInterface> interfaces = getVmTemplate().getInterfaces();
+        Map<String, Network> networksInVdsByName =
+                
Entities.entitiesByName(getNetworkDAO().getAllForCluster(getVm().getvds_group_id()));
         String networkName;
         for (VmNetworkInterface iface : interfaces) {
             if (iface.getId() == null) {
@@ -357,7 +361,7 @@
             iStat.setVmId(getVmTemplateId());
             iDynamic.setVmTemplateId(getVmTemplateId());
             iDynamic.setName(iface.getName());
-            if (VmInterfaceManager.isValidVmNetwork(iface, 
getVmTemplate().getvds_group_id())) {
+            if (VmInterfaceManager.isValidVmNetwork(iface, 
networksInVdsByName)) {
                 iDynamic.setNetworkName(networkName);
             }
             else {
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 85edfc8..25b67f2 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
@@ -6,9 +6,8 @@
 import org.ovirt.engine.core.bll.MacPoolManager;
 import org.ovirt.engine.core.bll.context.CompensationContext;
 import org.ovirt.engine.core.common.AuditLogType;
-import org.ovirt.engine.core.common.businessentities.Entities;
-import org.ovirt.engine.core.common.businessentities.VmNetworkInterface;
 import org.ovirt.engine.core.common.businessentities.Network;
+import org.ovirt.engine.core.common.businessentities.VmNetworkInterface;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector;
@@ -78,16 +77,13 @@
     }
 
     /**
-     * Checks if a Network belongs to the cluster and is a VM Network
+     * Checks if a Network is in the given list and is a VM Network
+     * 
      * @param iface
-     * @param clusterId
+     * @param networksByName
      * @return
      */
-    public static boolean isValidVmNetwork(VmNetworkInterface iface, Guid 
clusterId) {
-        Map<String, Network> networksByName =
-            Entities.entitiesByName(DbFacade.getInstance()
-                    .getNetworkDAO()
-                    .getAllForCluster(clusterId));
+    public static boolean isValidVmNetwork(VmNetworkInterface iface, 
Map<String, Network> networksByName) {
         String networkName = iface.getNetworkName();
         return (networksByName.containsKey(networkName) && 
networksByName.get(networkName).isVmNetwork());
     }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1081d3c323ac33ee6eb5a3b1aa3a589fe8bc36a6
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Muli Salem <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to