summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSelvasundaram <selvam@gluster.com>2011-07-23 18:56:42 +0530
committerSelvasundaram <selvam@gluster.com>2011-07-23 18:56:42 +0530
commitda029069ac72d3205b0b96b13bd2c0b161423765 (patch)
treef8fe0ec1bc0cc28ff8133d15fe84d681787b13c3 /src
parent2449f85473438e7b3d96600c040edc603e9d421f (diff)
Gluster online status check includes glusterd status
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java2
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServer.java23
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Server.java24
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/AlertsManager.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterDataModelManager.java3
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterServerTableLabelProvider.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java19
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ClusterSummaryView.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerSummaryView.java5
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServersSummaryView.java5
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java2
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java2
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/ClusterService.java16
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java2
14 files changed, 53 insertions, 56 deletions
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java
index 22681919..d162ec38 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java
@@ -24,7 +24,7 @@ import java.util.Date;
import java.util.List;
import com.gluster.storage.management.core.model.Device.DEVICE_STATUS;
-import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
+import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
import com.gluster.storage.management.core.model.Volume.TRANSPORT_TYPE;
import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServer.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServer.java
index 5928f3af..92943074 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServer.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServer.java
@@ -25,14 +25,7 @@ import com.gluster.storage.management.core.utils.StringUtil;
@XmlRootElement(name = "glusterServer")
public class GlusterServer extends Server {
- public enum SERVER_STATUS {
- ONLINE, OFFLINE
- };
-
- private static final String[] STATUS_STR = new String[] { "Online", "Offline" };
-
private String uuid;
- private SERVER_STATUS status;
public GlusterServer() {
}
@@ -47,22 +40,6 @@ public class GlusterServer extends Server {
setStatus(status);
}
- public Boolean isOnline() {
- return getStatus() == SERVER_STATUS.ONLINE;
- }
-
- public String getStatusStr() {
- return STATUS_STR[getStatus().ordinal()];
- }
-
- public SERVER_STATUS getStatus() {
- return status;
- }
-
- public void setStatus(SERVER_STATUS status) {
- this.status = status;
- }
-
public String getUuid() {
return uuid;
}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Server.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Server.java
index 5697530e..cfca8206 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Server.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Server.java
@@ -30,12 +30,19 @@ import com.gluster.storage.management.core.utils.StringUtil;
@XmlRootElement(name = "server")
public class Server extends Entity {
+ public enum SERVER_STATUS {
+ ONLINE, OFFLINE
+ };
+
+ protected static final String[] STATUS_STR = new String[] { "Online", "Offline" };
+
private int numOfCPUs;
private double cpuUsage;
private double totalMemory;
private double memoryInUse;
private List<Disk> disks = new ArrayList<Disk>();
private List<NetworkInterface> networkInterfaces = new ArrayList<NetworkInterface>();
+ private SERVER_STATUS status;
public Server() {
@@ -166,6 +173,22 @@ public class Server extends Entity {
}
return ipAddresses;
}
+
+ public String getStatusStr() {
+ return STATUS_STR[getStatus().ordinal()];
+ }
+
+ public SERVER_STATUS getStatus() {
+ return status;
+ }
+
+ public void setStatus(SERVER_STATUS status) {
+ this.status = status;
+ }
+
+ public Boolean isOnline() {
+ return getStatus() == SERVER_STATUS.ONLINE;
+ }
@Override
public boolean filter(String filterString, boolean caseSensitive) {
@@ -188,6 +211,7 @@ public class Server extends Entity {
setCpuUsage(server.getCpuUsage());
setTotalMemory(server.getTotalMemory());
setMemoryInUse(server.getMemoryInUse());
+ setStatus(server.getStatus());
}
@Override
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/AlertsManager.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/AlertsManager.java
index 5bfae8d0..7680caaf 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/AlertsManager.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/AlertsManager.java
@@ -32,8 +32,8 @@ import com.gluster.storage.management.core.model.Brick.BRICK_STATUS;
import com.gluster.storage.management.core.model.Cluster;
import com.gluster.storage.management.core.model.Disk;
import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
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.Volume;
import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
import com.gluster.storage.management.core.utils.StringUtil;
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 da72d1cc..aba7dde2 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
@@ -152,9 +152,6 @@ public class GlusterDataModelManager {
monitor.done();
return model;
- } catch(RuntimeException e) {
- logger.error("Error in data sync!", e);
- return null;
} finally {
syncInProgress = false;
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterServerTableLabelProvider.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterServerTableLabelProvider.java
index ac82f2c6..31bb49ed 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterServerTableLabelProvider.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterServerTableLabelProvider.java
@@ -21,7 +21,7 @@ package com.gluster.storage.management.gui;
import org.eclipse.swt.graphics.Image;
import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
+import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
import com.gluster.storage.management.core.utils.NumberUtil;
import com.gluster.storage.management.gui.utils.GUIHelper;
import com.gluster.storage.management.gui.views.pages.GlusterServersPage.GLUSTER_SERVER_TABLE_COLUMN_INDICES;
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java
index f041495e..9c7988e3 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java
@@ -215,6 +215,9 @@ public class LoginDialog extends Dialog {
// authentication successful. close the login dialog and open the next one.
close();
+ IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore();
+ boolean showClusterSelectionDialog = preferenceStore.getBoolean(PreferenceConstants.P_SHOW_CLUSTER_SELECTION_DIALOG);
+
// If the password is default, Let user to change the password
if (password.equalsIgnoreCase(CoreConstants.DEFAULT_PASSWORD)) {
String oldSecurityTokeString = GlusterDataModelManager.getInstance().getSecurityToken();
@@ -227,13 +230,13 @@ public class LoginDialog extends Dialog {
cancelPressed();
return;
}
+
+ // after first login, cluster selection dialog must be shown.
+ showClusterSelectionDialog = true;
}
ClustersClient clustersClient = new ClustersClient();
- IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore();
- boolean showClusterSelectionDialog = preferenceStore.getBoolean(PreferenceConstants.P_SHOW_CLUSTER_SELECTION_DIALOG);
-
CLUSTER_MODE mode;
String clusterName = null;
if (!showClusterSelectionDialog) {
@@ -270,7 +273,7 @@ public class LoginDialog extends Dialog {
final String clusterName1 = clusterName;
new ProgressMonitorDialog(getShell()).run(true, false, new IRunnableWithProgress() {
-
+
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
GlusterDataModelManager.getInstance().initializeModel(clusterName1, monitor);
@@ -278,8 +281,14 @@ public class LoginDialog extends Dialog {
});
super.okPressed();
} catch (Exception e) {
+ String errMsg;
+ if(e instanceof InvocationTargetException) {
+ errMsg = ((InvocationTargetException) e).getTargetException().getMessage();
+ } else {
+ errMsg = e.getMessage();
+ }
setReturnCode(RETURN_CODE_ERROR);
- MessageDialog.openError(getShell(), "Gluster Management Console", e.getMessage());
+ MessageDialog.openError(getShell(), "Gluster Management Console", errMsg);
}
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ClusterSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ClusterSummaryView.java
index a358066d..d391628b 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ClusterSummaryView.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ClusterSummaryView.java
@@ -45,8 +45,8 @@ import com.gluster.storage.management.core.model.Cluster;
import com.gluster.storage.management.core.model.EntityGroup;
import com.gluster.storage.management.core.model.GlusterDataModel;
import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
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.TaskInfo;
import com.gluster.storage.management.core.utils.NumberUtil;
import com.gluster.storage.management.gui.GlusterDataModelManager;
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerSummaryView.java
index fbf787e3..f9718d06 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerSummaryView.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerSummaryView.java
@@ -46,14 +46,11 @@ import org.eclipse.ui.forms.widgets.Hyperlink;
import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.part.ViewPart;
-import com.gluster.storage.management.client.GlusterServersClient;
import com.gluster.storage.management.core.model.ClusterListener;
import com.gluster.storage.management.core.model.DefaultClusterListener;
import com.gluster.storage.management.core.model.Event;
import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
-import com.gluster.storage.management.core.model.ServerStats;
-import com.gluster.storage.management.core.model.ServerStatsRow;
+import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
import com.gluster.storage.management.core.utils.NumberUtil;
import com.gluster.storage.management.gui.GlusterDataModelManager;
import com.gluster.storage.management.gui.IImageKeys;
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServersSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServersSummaryView.java
index 197b925f..11b69c2e 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServersSummaryView.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServersSummaryView.java
@@ -36,14 +36,13 @@ import com.gluster.storage.management.core.model.Alert;
import com.gluster.storage.management.core.model.Alert.ALERT_TYPES;
import com.gluster.storage.management.core.model.EntityGroup;
import com.gluster.storage.management.core.model.GlusterServer;
+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.GlusterServer.SERVER_STATUS;
import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE;
import com.gluster.storage.management.gui.GlusterDataModelManager;
import com.gluster.storage.management.gui.IImageKeys;
-import com.gluster.storage.management.gui.utils.ChartViewerComposite.CHART_TYPE;
-import com.gluster.storage.management.gui.utils.GUIHelper;
import com.gluster.storage.management.gui.utils.ChartViewerComposite;
+import com.gluster.storage.management.gui.utils.GUIHelper;
/**
*
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 d9e82f64..be23fcd3 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
@@ -39,8 +39,8 @@ import com.gluster.storage.management.core.model.DefaultClusterListener;
import com.gluster.storage.management.core.model.Disk;
import com.gluster.storage.management.core.model.Event;
import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
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.Volume;
import com.gluster.storage.management.core.model.Volume.NAS_PROTOCOL;
import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java
index 271161b9..28cf419d 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java
@@ -57,7 +57,7 @@ import com.gluster.storage.management.core.constants.RESTConstants;
import com.gluster.storage.management.core.exceptions.ConnectionException;
import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
+import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
import com.gluster.storage.management.core.model.TaskStatus;
import com.gluster.storage.management.core.response.GlusterServerListResponse;
import com.gluster.storage.management.core.response.ServerNameListResponse;
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/ClusterService.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/ClusterService.java
index 59cb185b..47960827 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/ClusterService.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/ClusterService.java
@@ -18,16 +18,10 @@
*******************************************************************************/
package com.gluster.storage.management.server.services;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_CLUSTER_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_SERVER_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_CLUSTER_NAME;
-
import java.util.ArrayList;
import java.util.List;
import javax.persistence.EntityTransaction;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.PathParam;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -37,8 +31,9 @@ import com.gluster.storage.management.core.constants.CoreConstants;
import com.gluster.storage.management.core.exceptions.ConnectionException;
import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
+import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
import com.gluster.storage.management.core.utils.LRUCache;
+import com.gluster.storage.management.core.utils.ProcessResult;
import com.gluster.storage.management.server.data.ClusterInfo;
import com.gluster.storage.management.server.data.PersistenceDao;
import com.gluster.storage.management.server.data.ServerInfo;
@@ -105,15 +100,14 @@ public class ClusterService {
for (ServerInfo serverInfo : cluster.getServers()) {
GlusterServer server = new GlusterServer(serverInfo.getName());
- server.setStatus(SERVER_STATUS.ONLINE);
try {
- serverUtil.fetchServerDetails(server);
+ serverUtil.fetchServerDetails(server); // Online status come with server details
+ // server is online. add it to cache and return
if (server.isOnline() && !server.getName().equals(exceptServerName)) {
- // server is online. add it to cache and return
addOnlineServer(clusterName, server);
return server;
}
- } catch(ConnectionException e) {
+ } catch (ConnectionException e) {
// server is offline. continue checking next one.
continue;
}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
index f43b7ae6..304da012 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
@@ -34,9 +34,9 @@ import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Brick.BRICK_STATUS;
import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
import com.gluster.storage.management.core.model.InitDiskStatusResponse;
import com.gluster.storage.management.core.model.InitDiskStatusResponse.FORMAT_STATUS;
+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.TaskStatus;
import com.gluster.storage.management.core.model.Volume;