Ramesh N has uploaded a new change for review. Change subject: gluster: add is_gluster_brick flag to storage device ......................................................................
gluster: add is_gluster_brick flag to storage device Add is_gluster_brick column to storage device table. This flag helps to identify a mounted device as a gluster brick. This flag will be set to true for the bricks created from ovirt. Change-Id: I375a7340eb76db9cf2bbf142923929bf9ede748a Bug-Url: https://bugzilla.redhat.com/1208089 Signed-off-by: Ramesh Nachimuthu <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateBrickCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetUnusedGlusterBricksQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/StorageDevice.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/StorageDeviceDaoDbFacadeImpl.java M packaging/dbscripts/storage_device_sp.sql A packaging/dbscripts/upgrade/03_06_1250_add_is_brick_flag-to_storage_device_table.sql 6 files changed, 29 insertions(+), 11 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/99/40199/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateBrickCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateBrickCommand.java index ffb2a80..e52c5c7 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateBrickCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateBrickCommand.java @@ -109,6 +109,7 @@ if (getSucceeded()) { StorageDevice storageDevice = (StorageDevice) returnValue.getReturnValue(); storageDevice.setMountPoint(getParameters().getMountPoint()); + storageDevice.setGlusterBrick(true); saveStoageDevice(storageDevice); // Reset the isFree flag on all the devices which are used for brick creation resetIsFreeFlag(getParameters().getDisks()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetUnusedGlusterBricksQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetUnusedGlusterBricksQuery.java index 9235e89..3cfcfca 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetUnusedGlusterBricksQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetUnusedGlusterBricksQuery.java @@ -26,7 +26,7 @@ } - private List<StorageDevice> getUnUsedBricks(List<StorageDevice> bricksFromServer) { + private List<StorageDevice> getUnUsedBricks(List<StorageDevice> storageDevicesInHost) { List<GlusterBrickEntity> usedBricks = getDbFacade().getGlusterBrickDao().getGlusterVolumeBricksByServerId(getParameters().getVdsId()); List<StorageDevice> freeBricks = new ArrayList<StorageDevice>(); @@ -34,12 +34,14 @@ for (GlusterBrickEntity brick : usedBricks) { bricksDir.add(brick.getBrickDirectory()); } - for (StorageDevice brick : bricksFromServer) { - if (brick.getMountPoint() != null && !brick.getMountPoint().isEmpty() - && brick.getMountPoint() + for (StorageDevice storageDevice : storageDevicesInHost) { + if (storageDevice.getMountPoint() != null + && !storageDevice.getMountPoint().isEmpty() + && (storageDevice.getMountPoint() .startsWith(Config.<String> getValue(ConfigValues.DefaultGlusterBrickMountPoint)) - && !bricksDir.contains(brick.getMountPoint())) { - freeBricks.add(brick); + || storageDevice.isGlusterBrick()) + && !bricksDir.contains(storageDevice.getMountPoint())) { + freeBricks.add(storageDevice); } } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/StorageDevice.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/StorageDevice.java index cf88451..47486f8 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/StorageDevice.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/StorageDevice.java @@ -24,6 +24,7 @@ private String mountPoint; private long size; private boolean canCreateBrick; + private boolean isGlusterBrick; public String getName() { return name; @@ -133,6 +134,7 @@ final int prime = 31; int result = 1; result = prime * result + (canCreateBrick ? 0 : 1); + result = prime * result + (isGlusterBrick ? 0 : 1); result = prime * result + ((description == null) ? 0 : description.hashCode()); result = prime * result + ((devPath == null) ? 0 : devPath.hashCode()); result = prime * result + ((devType == null) ? 0 : devType.hashCode()); @@ -153,6 +155,7 @@ StorageDevice storageDevice = (StorageDevice) obj; if (ObjectUtils.objectsEqual(getId(), storageDevice.getId()) && canCreateBrick == storageDevice.canCreateBrick + && isGlusterBrick == storageDevice.isGlusterBrick && (ObjectUtils.objectsEqual(getDescription(), storageDevice.getDescription())) && (ObjectUtils.objectsEqual(getDevPath(), storageDevice.getDevPath())) && (ObjectUtils.objectsEqual(getDevType(), storageDevice.getDevType())) @@ -174,6 +177,14 @@ return "StorageDevice [id=" + id + ", name=" + name + ", devUuid=" + devUuid + ", fsUuid=" + fsUuid + ", vdsId=" + vdsId + ", description=" + description + ", devType=" + devType + ", devPath=" + devPath + ", fsType=" + fsType + ", mountPoint=" + mountPoint + ", size=" + size + ", canCreateBrick=" - + canCreateBrick + "]"; + + canCreateBrick + ", isGlusterBrick=" + isGlusterBrick + "]"; + } + + public boolean isGlusterBrick() { + return isGlusterBrick; + } + + public void setGlusterBrick(boolean isGlusterBrick) { + this.isGlusterBrick = isGlusterBrick; } } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/StorageDeviceDaoDbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/StorageDeviceDaoDbFacadeImpl.java index 76413af..79d5a24 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/StorageDeviceDaoDbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/StorageDeviceDaoDbFacadeImpl.java @@ -36,6 +36,7 @@ entity.setMountPoint(rs.getString("mount_point")); entity.setSize(rs.getLong("size")); entity.setCanCreateBrick(rs.getBoolean("is_free")); + entity.setGlusterBrick(rs.getBoolean("is_gluster_brick")); return entity; } } @@ -73,7 +74,8 @@ .addValue("filesystem_type", entity.getFsType()) .addValue("mount_point", entity.getMountPoint()) .addValue("size", entity.getSize()) - .addValue("is_free", entity.getCanCreateBrick()); + .addValue("is_free", entity.getCanCreateBrick()) + .addValue("is_gluster_brick", entity.isGlusterBrick()); } @Override diff --git a/packaging/dbscripts/storage_device_sp.sql b/packaging/dbscripts/storage_device_sp.sql index b0cbe29..cf7ab11 100644 --- a/packaging/dbscripts/storage_device_sp.sql +++ b/packaging/dbscripts/storage_device_sp.sql @@ -14,14 +14,15 @@ v_filesystem_type VARCHAR(50), v_mount_point text, v_size BIGINT, - v_is_free BOOLEAN) + v_is_free BOOLEAN, + v_is_gluster_brick BOOLEAN) RETURNS VOID AS $procedure$ BEGIN INSERT INTO storage_device(id, name, device_uuid, filesystem_uuid, vds_id, - description, device_type, device_path, filesystem_type, mount_point, size, is_free) + description, device_type, device_path, filesystem_type, mount_point, size, is_free, is_gluster_brick) VALUES (v_id, v_name, v_device_uuid, v_filesystem_uuid, v_vds_id, v_description, v_device_type, - v_device_path, v_filesystem_type, v_mount_point, v_size, v_is_free); + v_device_path, v_filesystem_type, v_mount_point, v_size, v_is_free, v_is_gluster_brick); END; $procedure$ LANGUAGE plpgsql; diff --git a/packaging/dbscripts/upgrade/03_06_1250_add_is_brick_flag-to_storage_device_table.sql b/packaging/dbscripts/upgrade/03_06_1250_add_is_brick_flag-to_storage_device_table.sql new file mode 100644 index 0000000..7247b41 --- /dev/null +++ b/packaging/dbscripts/upgrade/03_06_1250_add_is_brick_flag-to_storage_device_table.sql @@ -0,0 +1 @@ +select fn_db_add_column('storage_device', 'is_gluster_brick', 'BOOLEAN default FALSE'); -- To view, visit https://gerrit.ovirt.org/40199 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I375a7340eb76db9cf2bbf142923929bf9ede748a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5-gluster Gerrit-Owner: Ramesh N <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
