summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.gui
diff options
context:
space:
mode:
authorSelvasundaram <selvam@gluster.com>2011-08-02 12:54:37 +0530
committerSelvasundaram <selvam@gluster.com>2011-08-02 17:23:50 +0530
commitfb758c64d9df8a8536f00e9db744a4187be34d94 (patch)
tree517de532ea3239450a2913a293b81da907ecb47b /src/com.gluster.storage.management.gui
parent9e4f1e15459d4e53a901c0ed6ce725cb704e9710 (diff)
Device mount point handling
Parameter changes for directory cleanup script. Bug 3297 - Path seperator is appended as "\" instead of "/" if volume is created from windows client - fix
Diffstat (limited to 'src/com.gluster.storage.management.gui')
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ApplicationActionBarAdvisor.java1
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/BrickTableLabelProvider.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterDataModelManager.java74
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddBrickPage.java1
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/BricksSelectionPage.java5
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java4
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java5
7 files changed, 55 insertions, 37 deletions
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ApplicationActionBarAdvisor.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ApplicationActionBarAdvisor.java
index 8b5dba55..56e5247c 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ApplicationActionBarAdvisor.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ApplicationActionBarAdvisor.java
@@ -18,7 +18,6 @@
*******************************************************************************/
package com.gluster.storage.management.gui;
-import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.GroupMarker;
import org.eclipse.jface.action.ICoolBarManager;
import org.eclipse.jface.action.IMenuManager;
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/BrickTableLabelProvider.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/BrickTableLabelProvider.java
index 3e5907ef..11226e8a 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/BrickTableLabelProvider.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/BrickTableLabelProvider.java
@@ -75,7 +75,7 @@ public class BrickTableLabelProvider extends TableLabelProviderAdapter {
}
Brick brick = (Brick) element;
- Device device = GlusterDataModelManager.getInstance().getDeviceDetails(brick.getDeviceName());
+ Device device = GlusterDataModelManager.getInstance().getDeviceForBrickDir(brick);
return (columnIndex == BRICK_TABLE_COLUMN_INDICES.SERVER.ordinal() ? brick.getServerName()
: columnIndex == BRICK_TABLE_COLUMN_INDICES.BRICK.ordinal() ? brick.getBrickDirectory()
: columnIndex == BRICK_TABLE_COLUMN_INDICES.FREE_SPACE.ordinal() ? getDeviceFreeSpace(device)
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterDataModelManager.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterDataModelManager.java
index d301ad10..d6430255 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterDataModelManager.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterDataModelManager.java
@@ -49,7 +49,6 @@ import com.gluster.storage.management.core.model.GlusterDataModel;
import com.gluster.storage.management.core.model.GlusterServer;
import com.gluster.storage.management.core.model.Partition;
import com.gluster.storage.management.core.model.Server;
-import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.TaskInfo;
import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE;
@@ -565,15 +564,15 @@ public class GlusterDataModelManager {
return volume;
}
- private Device getDevice(String serverName, String deviceName) {
- List<Device> allDevices = getReadyDevicesOfAllServers();
- for (Device device : allDevices) {
- if (device.getServerName().equals(serverName) && device.getName().equals(deviceName)) {
- return device;
- }
- }
- return null;
- }
+// private Device getDevice(String serverName, String deviceName) {
+// List<Device> allDevices = getReadyDevicesOfAllServers();
+// for (Device device : allDevices) {
+// if (device.getServerName().equals(serverName) && device.getName().equals(deviceName)) {
+// return device;
+// }
+// }
+// return null;
+// }
/*
* @param diskName (sda)
@@ -591,11 +590,24 @@ public class GlusterDataModelManager {
}
+ public Device getDeviceForBrickDir(Brick brick) {
+ Device brickDevice = null;
+ for (Device device : getReadyDevicesOfServer(brick.getServerName(), new ArrayList<Device>())) {
+ if (brick.getBrickDirectory().startsWith( device.getMountPoint() )) {
+ if (brickDevice == null || device.getMountPoint().length() > brickDevice.getMountPoint().length()) {
+ brickDevice = device;
+ }
+ }
+ }
+ return brickDevice;
+ }
+
public List<Device> getReadyDevicesOfVolume(Volume volume) {
Device device = null;
List<Device> volumeDevices = new ArrayList<Device>();
for (Brick brick : volume.getBricks()) {
- device = getDevice(brick.getServerName(), brick.getDeviceName());
+ // device = getDevice(brick.getServerName(), brick.getDeviceName());
+ device = getDeviceForBrickDir(brick);
if (device != null && device.isReady()) {
volumeDevices.add(device);
}
@@ -611,24 +623,31 @@ public class GlusterDataModelManager {
List<Device> devices = new ArrayList<Device>();
for (Server server : model.getCluster().getServers()) {
- if (server.getStatus() == SERVER_STATUS.OFFLINE) {
- continue;
- }
- for (Disk disk : server.getDisks()) {
- if(disk.hasPartitions()) {
- for(Partition partition : disk.getPartitions()) {
- if(partition.isReady() && !excludeDevices.contains(partition)) {
- devices.add(partition);
- }
+ devices.addAll( getReadyDevicesOfServer(server.getName(), excludeDevices) );
+ }
+ return devices;
+ }
+
+ public List<Device> getReadyDevicesOfServer(String serverName, List<Device> excludeDevices) {
+ List<Device> devices = new ArrayList<Device>();
+ GlusterServer server = model.getCluster().getServer(serverName);
+ if (server == null || !server.isOnline()) {
+ return devices;
+ }
+ for (Disk disk : server.getDisks()) {
+ if (disk.hasPartitions()) {
+ for (Partition partition : disk.getPartitions()) {
+ if (partition.isReady() && !excludeDevices.contains(partition)) {
+ devices.add(partition);
}
- } else if (disk.isReady() && !excludeDevices.contains(disk)) {
- devices.add(disk);
}
+ } else if (disk.isReady() && !excludeDevices.contains(disk)) {
+ devices.add(disk);
}
}
return devices;
}
-
+
public void addClusterListener(ClusterListener listener) {
listeners.add(listener);
}
@@ -846,7 +865,7 @@ public class GlusterDataModelManager {
public Server getGlusterServer(String serverName) {
for (Server server : model.getCluster().getServers()) {
- if (server.getName().equals(serverName)) {
+ if (server.getName().equalsIgnoreCase(serverName)) {
return server;
}
}
@@ -854,8 +873,11 @@ public class GlusterDataModelManager {
}
private Boolean isDeviceUsed(Volume volume, Device device) {
+ Device brickDevice = null;
for (Brick brick : volume.getBricks()) {
- if (device.getName().equals(brick.getDeviceName()) && device.getServerName().equals(brick.getServerName())) {
+ brickDevice = getDeviceForBrickDir(brick);
+ if (brickDevice != null && device.getName().equals(brickDevice.getName())
+ && device.getServerName().equalsIgnoreCase(brick.getServerName())) {
return true;
}
}
@@ -878,7 +900,7 @@ public class GlusterDataModelManager {
Cluster cluster = model.getCluster();
for (Volume volume : cluster.getVolumes()) {
for (Brick brick : volume.getBricks()) {
- if (serverName.equals(brick.getServerName())) {
+ if (serverName.equalsIgnoreCase(brick.getServerName())) {
volumeNames.add(volume.getName());
break;
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddBrickPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddBrickPage.java
index 14e36852..e570c068 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddBrickPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddBrickPage.java
@@ -31,7 +31,6 @@ import org.eclipse.swt.widgets.Composite;
import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Device;
-import com.gluster.storage.management.core.model.Disk;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
import com.gluster.storage.management.gui.GlusterDataModelManager;
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/BricksSelectionPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/BricksSelectionPage.java
index e0dae4fd..04678da9 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/BricksSelectionPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/BricksSelectionPage.java
@@ -323,9 +323,8 @@ public class BricksSelectionPage extends Composite {
if (bricksArr != null) {
Set<Brick> bricks = new HashSet<Brick>();
for (Object device : bricksArr) {
- bricks.add(new Brick(((Device) device).getServerName(), BRICK_STATUS.ONLINE, ((Device) device).getName(),
- ((Device) device).getMountPoint() + "/" + volumeName)); // Assumption mount point is not having
- // trailing "/"
+ bricks.add(new Brick(((Device) device).getServerName(), BRICK_STATUS.ONLINE, ((Device) device)
+ .getMountPoint() + "/" + volumeName)); // Assumption mount point is not having trailing "/"
}
return bricks;
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java
index 96da6fa3..57cc1266 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java
@@ -338,8 +338,8 @@ public class CreateVolumePage1 extends WizardPage {
}
for (Device device : selectedDevices) {
- Brick brick = new Brick(device.getServerName(), BRICK_STATUS.ONLINE, device.getName(),
- device.getMountPoint() + File.separator + volume.getName());
+ Brick brick = new Brick(device.getServerName(), BRICK_STATUS.ONLINE, device.getMountPoint() + "/"
+ + volume.getName());
volume.addBrick(brick);
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
index 20439aca..722d0ff1 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
@@ -44,7 +44,6 @@ import com.gluster.storage.management.core.model.Event;
import com.gluster.storage.management.core.model.GlusterServer;
import com.gluster.storage.management.core.model.Partition;
import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
-import com.gluster.storage.management.core.model.TaskInfo;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
import com.gluster.storage.management.core.utils.NumberUtil;
@@ -466,10 +465,10 @@ public class VolumeSummaryView extends ViewPart {
private double getTotalDiskSpace() {
double diskSize = 0;
for (Brick brick : volume.getBricks()) {
- diskSize += getDiskSize(brick.getServerName(), brick.getDeviceName());
+ diskSize += getDiskSize(brick.getServerName(),
+ GlusterDataModelManager.getInstance().getDeviceForBrickDir(brick).getName());
}
return diskSize;
-
}
private void createDiskSpaceField(Composite section) {