Yevgeny Zaspitsky has uploaded a new change for review.

Change subject: engine: Add management field to network_cluster table
......................................................................

engine: Add management field to network_cluster table

Add management field to network_cluster table and support it in the DAO.

Change-Id: I854a824d4ecac10cfc57829c169c52424aeaa75a
Signed-off-by: Yevgeny Zaspitsky <[email protected]>
---
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 backend/manager/modules/dal/src/test/resources/fixtures.xml
M packaging/dbscripts/network_sp.sql
A packaging/dbscripts/upgrade/03_06_0430_add_management_to_network_cluster.sql
5 files changed, 72 insertions(+), 27 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/81/32781/9

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 d69221f..3aaa119 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
@@ -26,6 +26,7 @@
                     entity.setDisplay(rs.getBoolean("is_display"));
                     entity.setRequired(rs.getBoolean("required"));
                     entity.setMigration(rs.getBoolean("migration"));
+                    entity.setManagement(rs.getBoolean("management"));
                     return entity;
                 }
             };
@@ -66,28 +67,28 @@
 
     @Override
     public void save(NetworkCluster cluster) {
-        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
-                .addValue("cluster_id", cluster.getClusterId())
-                .addValue("network_id", cluster.getNetworkId())
-                .addValue("status", cluster.getStatus())
-                .addValue("is_display", cluster.isDisplay())
-                .addValue("required", cluster.isRequired())
-                .addValue("migration", cluster.isMigration());
+        MapSqlParameterSource parameterSource = 
createAllFieldsParameterSource(cluster);
 
         getCallsHandler().executeModification("Insertnetwork_cluster", 
parameterSource);
     }
 
     @Override
     public void update(NetworkCluster cluster) {
+        MapSqlParameterSource parameterSource = 
createAllFieldsParameterSource(cluster);
+
+        getCallsHandler().executeModification("Updatenetwork_cluster", 
parameterSource);
+    }
+
+    private MapSqlParameterSource 
createAllFieldsParameterSource(NetworkCluster cluster) {
         MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
                 .addValue("cluster_id", cluster.getClusterId())
                 .addValue("network_id", cluster.getNetworkId())
                 .addValue("status", cluster.getStatus())
                 .addValue("is_display", cluster.isDisplay())
                 .addValue("required", cluster.isRequired())
-                .addValue("migration", cluster.isMigration());
-
-        getCallsHandler().executeModification("Updatenetwork_cluster", 
parameterSource);
+                .addValue("migration", cluster.isMigration())
+                .addValue("management", cluster.isManagement());
+        return parameterSource;
     }
 
     @Override
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..a28217a 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
@@ -42,11 +42,20 @@
         network = networkDAO.getByName("engine");
         networkNoCluster = networkDAO.getByName("engine3");
 
+        createNewNetworkCluster();
+
+        existingNetworkCluster = dao.getAll().get(0);
+    }
+
+    private void createNewNetworkCluster() {
         newNetworkCluster = new NetworkCluster();
         newNetworkCluster.setNetworkId(networkNoCluster.getId());
         newNetworkCluster.setClusterId(freeCluster.getId());
-
-        existingNetworkCluster = dao.getAll().get(0);
+        newNetworkCluster.setStatus(NetworkStatus.OPERATIONAL);
+        newNetworkCluster.setManagement(true);
+        newNetworkCluster.setRequired(true);
+        newNetworkCluster.setDisplay(true);
+        newNetworkCluster.setMigration(true);
     }
 
     /**
@@ -134,7 +143,17 @@
         List<NetworkCluster> after = 
dao.getAllForNetwork(networkNoCluster.getId());
 
         assertFalse(after.isEmpty());
-        assertEquals(newNetworkCluster, after.get(0));
+        assertNetworkClustersEqual(newNetworkCluster, after.get(0));
+    }
+
+    private void assertNetworkClustersEqual(NetworkCluster expected, 
NetworkCluster actual) {
+        assertEquals(expected.getClusterId(), actual.getClusterId());
+        assertEquals(expected.getNetworkId(), actual.getNetworkId());
+        assertEquals(expected.getStatus(), actual.getStatus());
+        assertEquals(expected.isManagement(), actual.isManagement());
+        assertEquals(expected.isRequired(), actual.isRequired());
+        assertEquals(expected.isMigration(), actual.isMigration());
+        assertEquals(expected.isDisplay(), actual.isDisplay());
     }
 
     /**
@@ -142,20 +161,22 @@
      */
     @Test
     public void testUpdate() {
+
         
existingNetworkCluster.setRequired(!existingNetworkCluster.isRequired());
+        existingNetworkCluster.setDisplay(!existingNetworkCluster.isDisplay());
+        
existingNetworkCluster.setMigration(!existingNetworkCluster.isMigration());
+        
existingNetworkCluster.setManagement(!existingNetworkCluster.isManagement());
+        
existingNetworkCluster.setStatus(invert(existingNetworkCluster.getStatus()));
 
         dao.update(existingNetworkCluster);
 
-        List<NetworkCluster> result = dao.getAll();
-        boolean itworked = false;
+        NetworkCluster result = dao.get(existingNetworkCluster.getId());
 
-        for (NetworkCluster thiscluster : result) {
-            itworked |= 
(thiscluster.getClusterId().equals(existingNetworkCluster.getClusterId())) &&
-                    
(thiscluster.getNetworkId().equals(existingNetworkCluster.getNetworkId())) &&
-                    (thiscluster.getStatus() == 
existingNetworkCluster.getStatus());
-        }
+        assertNetworkClustersEqual(existingNetworkCluster, result);
+    }
 
-        assertTrue(itworked);
+    private NetworkStatus invert(NetworkStatus networkStatus) {
+        return networkStatus == NetworkStatus.OPERATIONAL ? 
NetworkStatus.NON_OPERATIONAL : NetworkStatus.OPERATIONAL;
     }
 
     /**
diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml 
b/backend/manager/modules/dal/src/test/resources/fixtures.xml
index fc41339..d4d796e 100644
--- a/backend/manager/modules/dal/src/test/resources/fixtures.xml
+++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml
@@ -1505,6 +1505,7 @@
         <column>is_display</column>
         <column>required</column>
         <column>migration</column>
+        <column>management</column>
         <row>
             <value>58d5c1c6-cb15-4832-b2a4-023770607188</value>
             <value>b399944a-81ab-4ec5-8266-e19ba7c3c9d1</value>
@@ -1512,6 +1513,7 @@
             <value>0</value>
             <value>0</value>
             <value>0</value>
+            <value>0</value>
         </row>
         <row>
             <value>58d5c1c6-cb15-4832-b2a4-023770607189</value>
@@ -1520,6 +1522,7 @@
             <value>0</value>
             <value>0</value>
             <value>1</value>
+            <value>1</value>
         </row>
         <row>
             <value>58d5c1c6-cb15-4832-b2a4-023770607189</value>
@@ -1528,6 +1531,7 @@
             <value>0</value>
             <value>0</value>
             <value>0</value>
+            <value>0</value>
         </row>
     </table>
 
diff --git a/packaging/dbscripts/network_sp.sql 
b/packaging/dbscripts/network_sp.sql
index 9f9f5d7..1bc3f05 100644
--- a/packaging/dbscripts/network_sp.sql
+++ b/packaging/dbscripts/network_sp.sql
@@ -916,12 +916,13 @@
    v_status INTEGER,
    v_is_display BOOLEAN,
    v_required BOOLEAN,
-   v_migration BOOLEAN)
+   v_migration BOOLEAN,
+   v_management BOOLEAN)
 RETURNS VOID
    AS $procedure$
 BEGIN
-INSERT INTO network_cluster(cluster_id, network_id, status, is_display, 
required, migration)
-       VALUES(v_cluster_id, v_network_id, v_status, v_is_display, v_required, 
v_migration);
+INSERT INTO network_cluster(cluster_id, network_id, status, is_display, 
required, migration, management)
+       VALUES(v_cluster_id, v_network_id, v_status, v_is_display, v_required, 
v_migration, v_management);
 END; $procedure$
 LANGUAGE plpgsql;
 
@@ -933,13 +934,19 @@
     v_status INTEGER,
     v_is_display BOOLEAN,
     v_required BOOLEAN,
-    v_migration BOOLEAN)
+    v_migration BOOLEAN,
+    v_management BOOLEAN)
 RETURNS VOID
    AS $procedure$
 BEGIN
    UPDATE network_cluster
-   SET status = v_status,is_display = v_is_display, required = v_required, 
migration = v_migration
-   WHERE cluster_id = v_cluster_id AND network_id = v_network_id;
+   SET status = v_status,
+       is_display = v_is_display,
+       required = v_required,
+       migration = v_migration,
+       management = v_management
+   WHERE cluster_id = v_cluster_id
+   AND network_id = v_network_id;
 END; $procedure$
 LANGUAGE plpgsql;
 
diff --git 
a/packaging/dbscripts/upgrade/03_06_0430_add_management_to_network_cluster.sql 
b/packaging/dbscripts/upgrade/03_06_0430_add_management_to_network_cluster.sql
new file mode 100644
index 0000000..4821706
--- /dev/null
+++ 
b/packaging/dbscripts/upgrade/03_06_0430_add_management_to_network_cluster.sql
@@ -0,0 +1,12 @@
+select fn_db_add_column('network_cluster', 'management', 'boolean NOT NULL 
DEFAULT false');
+
+update network_cluster
+set management = true
+where network_id in (select id
+                     from network
+                     where name=(select COALESCE((select option_value
+                                                  from vdc_options
+                                                  where 
option_name='ManagementNetwork'
+                                                  and version='general'),
+                                                 'ovirtmgmt')));
+


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I854a824d4ecac10cfc57829c169c52424aeaa75a
Gerrit-PatchSet: 9
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yevgeny Zaspitsky <[email protected]>
Gerrit-Reviewer: Alona Kaplan <[email protected]>
Gerrit-Reviewer: Eli Mesika <[email protected]>
Gerrit-Reviewer: Lior Vernia <[email protected]>
Gerrit-Reviewer: Moti Asayag <[email protected]>
Gerrit-Reviewer: Yevgeny Zaspitsky <[email protected]>
Gerrit-Reviewer: [email protected]
Gerrit-Reviewer: oVirt Jenkins CI Server
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to