summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorselvam <selvam@selvam-Studio-XPS-1340.(none)>2011-06-02 19:51:31 +0530
committerselvam <selvam@selvam-Studio-XPS-1340.(none)>2011-06-02 20:01:57 +0530
commitad437a67712efb0f03db71914363b09c65e4a952 (patch)
treeaec48f913b16673d6154c5a10b19a34f5dff05b0 /src
parent9f9a2c2850f4b2d1b5ac2ad44750e0b82282e4b2 (diff)
Remove server REST path issue fix
Removed server comes to Discovered list (UI) if it is online.
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java18
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java4
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java6
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java2
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[]) {