Yevgeny Zaspitsky has uploaded a new change for review.

Change subject: engine: Add setNetworkExclusivelyAsManagement to 
NetworkClusterDao
......................................................................

engine: Add setNetworkExclusivelyAsManagement to NetworkClusterDao

Add setNetworkExclusivelyAsManagement method to NetworkClusterDao
and its implementation.

Change-Id: I5315d5bd634a94f7a5aadb51de86a14cbafdaf3e
Signed-off-by: Yevgeny Zaspitsky <yzasp...@redhat.com>
---
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDao.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoTest.java
M packaging/dbscripts/network_sp.sql
4 files changed, 50 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/82/32782/1

diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDao.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDao.java
index 9dd9c4b..a98ee8d 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDao.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDao.java
@@ -91,4 +91,12 @@
      * @param networkId
      */
     void setNetworkExclusivelyAsMigration(Guid clusterId, Guid networkId);
+
+    /**
+     * Sets this cluster network as the only management network on the cluster.
+     *
+     * @param clusterId
+     * @param networkId
+     */
+    void setNetworkExclusivelyAsManagement(Guid clusterId, Guid networkId);
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
index 5bbba11..cc57717 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoDbFacadeImpl.java
@@ -127,4 +127,13 @@
 
         
getCallsHandler().executeModification("set_network_exclusively_as_migration", 
parameterSource);
     }
+
+
+    @Override
+    public void setNetworkExclusivelyAsManagement(Guid clusterId, Guid 
networkId) {
+        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
+                .addValue("cluster_id", clusterId).addValue("network_id", 
networkId);
+
+        
getCallsHandler().executeModification("set_network_exclusively_as_management", 
parameterSource);
+    }
 }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoTest.java
index 329afc3..c8a578d 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkClusterDaoTest.java
@@ -221,4 +221,18 @@
             }
         }
     }
+
+    @Test
+    public void testSetManagement() {
+        
dao.setNetworkExclusivelyAsManagement(existingNetworkCluster.getClusterId(),
+                existingNetworkCluster.getNetworkId());
+        List<NetworkCluster> allForCluster = 
dao.getAllForCluster(existingNetworkCluster.getClusterId());
+        for (NetworkCluster net : allForCluster) {
+            if (net.getId().equals(existingNetworkCluster.getId())) {
+                assertTrue(net.isManagement());
+            } else {
+                assertFalse(net.isManagement());
+            }
+        }
+    }
 }
diff --git a/packaging/dbscripts/network_sp.sql 
b/packaging/dbscripts/network_sp.sql
index 9f9f5d7..50cf0ee 100644
--- a/packaging/dbscripts/network_sp.sql
+++ b/packaging/dbscripts/network_sp.sql
@@ -1087,6 +1087,25 @@
 LANGUAGE plpgsql;
 
 
+Create or replace FUNCTION set_network_exclusively_as_management(v_cluster_id 
UUID, v_network_id UUID)
+RETURNS VOID
+   AS $procedure$
+BEGIN
+
+   UPDATE network_cluster
+   SET management = true
+   WHERE cluster_id = v_cluster_id AND network_id = v_network_id;
+
+   IF FOUND THEN
+       UPDATE network_cluster
+       SET management = false
+       WHERE cluster_id = v_cluster_id AND network_id != v_network_id;
+   END IF;
+
+END; $procedure$
+LANGUAGE plpgsql;
+
+
 ----------------------------------------------------------------------
 --  Vnic Profile
 ----------------------------------------------------------------------


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5315d5bd634a94f7a5aadb51de86a14cbafdaf3e
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yevgeny Zaspitsky <yzasp...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to