diff options
| author | selvam <selvam@selvam-Studio-XPS-1340.(none)> | 2011-06-02 19:51:31 +0530 |
|---|---|---|
| committer | selvam <selvam@selvam-Studio-XPS-1340.(none)> | 2011-06-02 20:01:57 +0530 |
| commit | ad437a67712efb0f03db71914363b09c65e4a952 (patch) | |
| tree | aec48f913b16673d6154c5a10b19a34f5dff05b0 /src | |
| parent | 9f9a2c2850f4b2d1b5ac2ad44750e0b82282e4b2 (diff) | |
Remove server REST path issue fix
Removed server comes to Discovered list (UI) if it is online.
Diffstat (limited to 'src')
4 files changed, 26 insertions, 4 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java index 7566850a..37230d08 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java @@ -290,6 +290,15 @@ public class GlusterDataModelManager { listener.serverAdded(server); } } + + public void addDiscoveredServer(Server server) { + Cluster cluster = model.getCluster(); + cluster.addDiscoveredServer(server); + + for (ClusterListener listener : listeners) { + listener.discoveredServerAdded(server);; + } + } public void removeDiscoveredServer(Server server) { Cluster cluster = model.getCluster(); @@ -299,6 +308,15 @@ public class GlusterDataModelManager { listener.discoveredServerRemoved(server); } } + + public void removeGlusterServer(GlusterServer server) { + Cluster cluster = model.getCluster(); + cluster.removeServer(server); + + for (ClusterListener listener : listeners) { + listener.serverRemoved(server); + } + } public void deleteVolume(Volume volume) { Cluster cluster = model.getCluster(); diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java index f5609584..4eba0ca9 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java @@ -75,9 +75,7 @@ public class GlusterServersClient extends AbstractClient { } public Status removeServer(String serverName) { - MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.add(RESTConstants.QUERY_PARAM_SERVER_NAME, serverName); - return (Status) deleteResource(Status.class, queryParams); + return (Status) deleteSubResource(serverName, Status.class); } public static void main(String[] args) { diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java index 93f28e11..060b3c38 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java @@ -27,6 +27,7 @@ import org.eclipse.jface.viewers.ISelection; import com.gluster.storage.management.client.GlusterDataModelManager; import com.gluster.storage.management.client.GlusterServersClient; import com.gluster.storage.management.core.model.Cluster; +import com.gluster.storage.management.core.model.GlusterServer; import com.gluster.storage.management.core.model.Server; import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.Volume; @@ -61,6 +62,11 @@ public class RemoveServerAction extends AbstractActionDelegate { if (status.isSuccess()) { showInfoDialog(actionDesc, "Server removed successfully"); + GlusterServer glusterServer = (GlusterServer) server; + GlusterDataModelManager.getInstance().removeGlusterServer(glusterServer); + if (glusterServer.isOnline()) { + GlusterDataModelManager.getInstance().addDiscoveredServer(server); + } } else { showErrorDialog(actionDesc, "Server could not be removed. Error: [" + status + "]"); } 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 6005f6dd..77549add 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 @@ -506,7 +506,7 @@ System.out.println(brickDir); } public Status removeServer(String existingServer, String serverName) { - return new Status(sshUtil.executeRemote(existingServer, "gluster peer detach " + serverName)); + return new Status(sshUtil.executeRemote(existingServer, "gluster --mode=script peer detach " + serverName)); } public static void main(String args[]) { |
