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 15:06:08 +0530
commitb2beb1553211ac587f1cde436160177d8aeb8032 (patch)
treea721a32d0e851e974b898b7c33f6948620837e3d /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.java3
-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/CreateVolumePage1.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java5
6 files changed, 53 insertions, 33 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..175d24ea 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,8 @@ public class BrickTableLabelProvider extends TableLabelProviderAdapter {
}
Brick brick = (Brick) element;
- Device device = GlusterDataModelManager.getInstance().getDeviceDetails(brick.getDeviceName());
+ Device device = GlusterDataModelManager.getInstance().getDeviceForBrickDir(brick);
+System.out.println(device.getServerName() + device.getName());
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..5c7fb5c2 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().matches("^" + 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.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/CreateVolumePage1.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java
index 96da6fa3..c0e76889 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
@@ -339,7 +339,7 @@ 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());
+ 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) {