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
