diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-06-07 21:56:56 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-06-07 21:56:56 +0530 |
| commit | 55ab23c6d34435c264f1c756abf74c6f06e8566e (patch) | |
| tree | 1ccf9c60c222d6d7f7d5fc43bfbdd30c9d1656e8 /src | |
| parent | ccea7d5048c969a9c53de060b6e8bc3d883b7e32 (diff) | |
| parent | feeb2bf9ce16c9e6ac4268cae4d9c5e94d805fd2 (diff) | |
Merge branch 'volume-logs'
Diffstat (limited to 'src')
3 files changed, 20 insertions, 10 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java index 864418a7..25ba6b10 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java @@ -18,6 +18,8 @@ *******************************************************************************/ package com.gluster.storage.management.client; +import java.net.ConnectException; + import javax.ws.rs.core.Response; import com.gluster.storage.management.core.model.Status; @@ -42,22 +44,25 @@ public class UsersClient extends AbstractClient { setSecurityToken(generateSecurityToken(user, password)); try { Status authStatus = (Status) fetchSubResource(user, Status.class); - if(!authStatus.isSuccess()) { + if (!authStatus.isSuccess()) { // authentication failed. clear security token. setSecurityToken(null); } return authStatus; - } catch (Exception e) { - if (e instanceof UniformInterfaceException - && ((UniformInterfaceException) e).getResponse().getStatus() == Response.Status.UNAUTHORIZED - .getStatusCode()) { + } catch (UniformInterfaceException e) { + if ((e.getResponse().getStatus() == Response.Status.UNAUTHORIZED.getStatusCode())) { // authentication failed. clear security token. setSecurityToken(null); return new Status(Status.STATUS_CODE_FAILURE, "Invalid user id or password!"); } else { - return new Status(Status.STATUS_CODE_FAILURE, "Exception during authentication: [" + e.getMessage() - + "]"); + throw e; + } + } catch (Exception e) { + Throwable cause = e.getCause(); + if(cause != null && cause instanceof ConnectException) { + return new Status(Status.STATUS_CODE_FAILURE, "Couldn't connect to Gluster Management Gateway!"); } + return new Status(Status.STATUS_CODE_FAILURE, "Exception during authentication: [" + e.getMessage() + "]"); } } 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 d480e503..9db0f0e8 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 @@ -200,7 +200,8 @@ public class LoginDialog extends Dialog { String password = connectionDetails.getPassword(); UsersClient usersClient = new UsersClient(); - if (usersClient.authenticate(user, password).isSuccess()) { + Status loginStatus = usersClient.authenticate(user, password); + if (loginStatus.isSuccess()) { close(); ClustersClient clustersClient = new ClustersClient(usersClient.getSecurityToken()); List<String> clusterNames = getClusterNames(clustersClient); @@ -250,7 +251,7 @@ public class LoginDialog extends Dialog { close(); } } else { - MessageDialog.openError(getShell(), "Authentication Failed", "Invalid User ID or password"); + MessageDialog.openError(getShell(), "Authentication Failed", loginStatus.getMessage()); } } diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java index b96b1ddb..728da2dc 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java @@ -206,7 +206,11 @@ public class GlusterServersResource extends AbstractServersResource { Status status; try { - status = glusterUtil.addServer(serverName, onlineServer.getName()); + status = glusterUtil.addServer(onlineServer.getName(), serverName); + if(status.isSuccess()) { + // other peer probe to ensure that host names appear in peer probe on both sides + status = glusterUtil.addServer(serverName, onlineServer.getName()); + } } catch(ConnectionException e) { onlineServer = getNewOnlineServer(clusterName); if(onlineServer == null) { |
