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

Reply via email to