From c3a08bc9a7587f98b096ae7b83f0fd04f6945919 Mon Sep 17 00:00:00 2001 From: Shireesh Anjal Date: Thu, 10 Feb 2011 14:38:06 +0530 Subject: auto-discovery --- .../management/server/resources/ServerResource.java | 19 +++++++++++++++++++ .../management/server/tasks/ServerDiscoveryTask.java | 16 ++++++++++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) (limited to 'com.gluster.storage.management.server/src/com') diff --git a/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ServerResource.java b/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ServerResource.java index 8fb85757..97b874e2 100644 --- a/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ServerResource.java +++ b/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ServerResource.java @@ -26,6 +26,9 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import com.gluster.storage.management.core.utils.FileUtil; +import com.gluster.storage.management.core.utils.MD5Crypt; +import com.gluster.storage.management.core.utils.ProcessResult; +import com.gluster.storage.management.core.utils.ProcessUtil; @Path("/server") public class ServerResource { @@ -50,4 +53,20 @@ public class ServerResource { public String discoveredServers() { return GetDiscoveredServers(); } + + private String GetDetails() { + ProcessResult result = new ProcessUtil().executeCommand("get-server-details.py"); + if (!result.isSuccess()) { + //TODO:Generate error message and return + } + return result.getOutput(); + } + + @Path("/details") + @GET + @Produces(MediaType.TEXT_XML) + public String serverDetails() { + return GetDetails(); + } + } diff --git a/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/ServerDiscoveryTask.java b/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/ServerDiscoveryTask.java index 6bc25e81..05337405 100644 --- a/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/ServerDiscoveryTask.java +++ b/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/ServerDiscoveryTask.java @@ -20,9 +20,14 @@ */ package com.gluster.storage.management.server.tasks; +import java.util.ArrayList; +import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import com.gluster.storage.management.server.resources.DiscoveredServersResource; + /** * Task for auto-discovery of servers eligible to be added to the Gluster cluster. This task runs periodically and keeps * the discovered server list at a common place. The server resource can then pick it and send to client whenever @@ -34,6 +39,9 @@ public class ServerDiscoveryTask { private static final String ENV_VMWARE = "vmware"; private static final String ENV_PHYCAL = "physical"; + @Autowired + private DiscoveredServersResource discoveredServersResource; + @Autowired private String environment; @@ -44,8 +52,12 @@ public class ServerDiscoveryTask { * TODO: Flow should be as follows
* 1) Get the discovery policy specific for the environment
* 2) Execute discovery to get list of auto-discovered server
- * 3) Probe each one of them to fetch server details
- * 4) Store the details in a common place which can be read by the server resource
+ * 3) Set the discovered servers list in the discovered servers resource
*/ + + List discoveredServers = new ArrayList(); + discoveredServers.add("yserver1"); + + discoveredServersResource.setDiscoveredServerNames(discoveredServers); } } \ No newline at end of file -- cgit