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