Daniel Erez has uploaded a new change for review. Change subject: core: introduce update method to LunDAO ......................................................................
core: introduce update method to LunDAO * Added update method to LunDAO and LunDaoDbFacadeImpl. * Added stored procedure to storages_san_sp.sql. * Replaced current usages of updateLUNsDeviceSize and updateLUNsVolumeGroupId with update. * Modified tests accordingly. Change-Id: Ie0391443313a6ff065f08e0204f95b4980c01e02 Signed-off-by: Daniel Erez <de...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHelperBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/SyncLunsInfoForIscsiStorageDomainCommand.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAO.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/LunDAOTest.java M packaging/dbscripts/storages_san_sp.sql 7 files changed, 55 insertions(+), 68 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/77/22977/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java index ed51ebb..f7717c4 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java @@ -269,11 +269,11 @@ } public static void proceedLUNInDb(final LUNs lun, StorageType storageType, String volumeGroupId) { + lun.setvolume_group_id(volumeGroupId); if (DbFacade.getInstance().getLunDao().get(lun.getLUN_id()) == null) { - lun.setvolume_group_id(volumeGroupId); DbFacade.getInstance().getLunDao().save(lun); - } else if (!volumeGroupId.isEmpty()){ - DbFacade.getInstance().getLunDao().updateLUNsVolumeGroupId(lun.getLUN_id(), volumeGroupId); + } else if (!volumeGroupId.isEmpty()) { + DbFacade.getInstance().getLunDao().update(lun); } for (StorageServerConnections connection : lun.getLunConnections()) { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHelperBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHelperBase.java index 666db45..2033a98 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHelperBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHelperBase.java @@ -120,7 +120,8 @@ getLunDao().remove(lun.getLUN_id()); numOfRemovedLuns++; } else { - getLunDao().updateLUNsVolumeGroupId(lun.getLUN_id(), ""); + lun.setvolume_group_id(""); + getLunDao().update(lun); } } return numOfRemovedLuns; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/SyncLunsInfoForIscsiStorageDomainCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/SyncLunsInfoForIscsiStorageDomainCommand.java index 7566fad..3ac623c 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/SyncLunsInfoForIscsiStorageDomainCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/SyncLunsInfoForIscsiStorageDomainCommand.java @@ -55,7 +55,7 @@ log.infoFormat("New LUN discovered, ID: {0}", lunFromVgInfo.getLUN_id()); } else if (lunFromDB.getDeviceSize() != lunFromVgInfo.getDeviceSize()) { - getLunDao().updateLUNsDeviceSize(lunFromVgInfo.getLUN_id(), lunFromVgInfo.getDeviceSize()); + getLunDao().update(lunFromVgInfo); log.infoFormat("Updated LUN device size - ID: {0}, previous size: {1}, new size: {2}.", lunFromVgInfo.getLUN_id(), lunFromDB.getDeviceSize(), lunFromVgInfo.getDeviceSize()); } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAO.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAO.java index 9d404ee..09d6732 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAO.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAO.java @@ -45,16 +45,6 @@ List<LUNs> getAll(); /** - * Updates the lun volume group id - */ - void updateLUNsVolumeGroupId(String id, String volumeGroupId); - - /** - * Updates the lun device size - */ - void updateLUNsDeviceSize(String id, int deviceSize); - - /** * Saves the supplied LUN instance. * * @param lun @@ -63,6 +53,14 @@ void save(LUNs lun); /** + * Updates the specified LUN. + * + * @param lun + * the LUN + */ + void update(LUNs lun); + + /** * Removes the specified LUN. * * @param id diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java index f291e75..0a3aa58 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/LunDAODbFacadeImpl.java @@ -72,22 +72,6 @@ } @Override - public void updateLUNsVolumeGroupId(String id, String volumeGroupId) { - MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("LUN_id", id) - .addValue("volume_group_id", volumeGroupId); - - getCallsHandler().executeModification("UpdateLUNsVolumeGroupId", parameterSource); - } - - @Override - public void updateLUNsDeviceSize(String id, int deviceSize) { - MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource().addValue("LUN_id", id) - .addValue("device_size", deviceSize); - - getCallsHandler().executeModification("updateLUNsDeviceSize", parameterSource); - } - - @Override public void save(LUNs lun) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("LUN_id", lun.getLUN_id()) @@ -103,6 +87,21 @@ } @Override + public void update(LUNs lun) { + MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() + .addValue("LUN_id", lun.getLUN_id()) + .addValue("physical_volume_id", lun.getphysical_volume_id()) + .addValue("volume_group_id", lun.getvolume_group_id()) + .addValue("serial", lun.getSerial()) + .addValue("lun_mapping", lun.getLunMapping()) + .addValue("vendor_id", lun.getVendorId()) + .addValue("product_id", lun.getProductId()) + .addValue("device_size", lun.getDeviceSize()); + + getCallsHandler().executeModification("UpdateLUNs", parameterSource); + } + + @Override public void remove(String id) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("LUN_id", id); diff --git a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/LunDAOTest.java b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/LunDAOTest.java index 6e0ab27..aa9795e 100644 --- a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/LunDAOTest.java +++ b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/LunDAOTest.java @@ -74,28 +74,6 @@ } /** - * Ensures that LUNs are returned for the connection. - */ - @Test - public void testUpdateLUNsVolumeGroupId() { - String testGroupId = "testvolgroupId"; - dao.updateLUNsVolumeGroupId(existingLUN.getLUN_id(), testGroupId); - LUNs dbLun = dao.get(existingLUN.getLUN_id()); - assertEquals("LUNs volume group id wasn't updated", testGroupId, dbLun.getvolume_group_id()); - } - - /** - * Ensures that LUN's device size is updated correctly - */ - @Test - public void testUpdateLUNsDeviceSize() { - int testDeviceSize = 20; - dao.updateLUNsDeviceSize(existingLUN.getLUN_id(), testDeviceSize); - LUNs dbLun = dao.get(existingLUN.getLUN_id()); - assertEquals("LUN device size wasn't updated", testDeviceSize, dbLun.getDeviceSize()); - } - - /** * Ensures that an empty collection is returned. */ @Test @@ -144,4 +122,18 @@ assertNull(result); } + + /** + * Ensures updating a LUN works as expected. + */ + @Test + public void testUpdateLUNs() { + dao.update(existingLUN); + + LUNs result = dao.get(existingLUN.getLUN_id()); + + assertNotNull(result); + assertEquals(existingLUN, result); + } + } diff --git a/packaging/dbscripts/storages_san_sp.sql b/packaging/dbscripts/storages_san_sp.sql index 5f07bc8..9425543 100644 --- a/packaging/dbscripts/storages_san_sp.sql +++ b/packaging/dbscripts/storages_san_sp.sql @@ -23,25 +23,22 @@ -Create or replace FUNCTION UpdateLUNsVolumeGroupId(v_LUN_id VARCHAR(50), -v_volume_group_id VARCHAR(50)) -RETURNS VOID - AS $procedure$ -BEGIN -UPDATE LUNs set volume_group_id = v_volume_group_id where LUN_id = v_LUN_ID; -END; $procedure$ -LANGUAGE plpgsql; - - - - - -Create or replace FUNCTION UpdateLUNsDeviceSize(v_LUN_id VARCHAR(50), +Create or replace FUNCTION UpdateLUNs(v_LUN_id VARCHAR(50), + v_physical_volume_id VARCHAR(50) , + v_volume_group_id VARCHAR(50) , + v_serial VARCHAR(4000) , + v_lun_mapping INTEGER , + v_vendor_id VARCHAR(50) , + v_product_id VARCHAR(50) , v_device_size INTEGER) RETURNS VOID AS $procedure$ BEGIN -UPDATE LUNs set device_size = v_device_size where LUN_id = v_LUN_ID; + UPDATE LUNs + SET LUN_id = v_LUN_id, physical_volume_id = v_physical_volume_id, volume_group_id = v_volume_group_id, + serial = v_serial, lun_mapping = v_lun_mapping, vendor_id = v_vendor_id, + product_id = v_product_id, device_size = v_device_size + WHERE LUN_id = v_LUN_id; END; $procedure$ LANGUAGE plpgsql; -- To view, visit http://gerrit.ovirt.org/22977 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie0391443313a6ff065f08e0204f95b4980c01e02 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <de...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches