summaryrefslogtreecommitdiffstats
path: root/com.gluster.storage.management.server.scripts/src/server/RequestHandler.py
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-03-25 15:43:32 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-03-25 15:43:32 +0530
commite40556bdf8fd27e35878a8c1942573da46204b7e (patch)
treeb4cf1ec243bf13aee4269981d8f8aeeaa57f1c15 /com.gluster.storage.management.server.scripts/src/server/RequestHandler.py
parent9e2122cf8ae1273bb8cdcbcc0f8fb2176f14a428 (diff)
Server agent and transport agent
Diffstat (limited to 'com.gluster.storage.management.server.scripts/src/server/RequestHandler.py')
-rw-r--r--com.gluster.storage.management.server.scripts/src/server/RequestHandler.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/com.gluster.storage.management.server.scripts/src/server/RequestHandler.py b/com.gluster.storage.management.server.scripts/src/server/RequestHandler.py
new file mode 100644
index 00000000..e6fe88ff
--- /dev/null
+++ b/com.gluster.storage.management.server.scripts/src/server/RequestHandler.py
@@ -0,0 +1,58 @@
+import os
+import glob
+#import paramiko
+import tempfile
+#import uuid
+import socket
+import tarfile
+import time
+import Globals
+import Commands
+from Protocol import *
+from RemoteExecute import *
+from NetworkUtils import *
+
+def handleRequestGetServerNetworkConfig(requestDom):
+ messageId = requestDom.getAttribute("id")
+ serverName = requestDom.getTextByTagRoute("command.server-name")
+ version = requestDom.getVersion()
+ request = requestDom.getAttribute("request")
+
+ if not serverName:
+ responseDom = ResponseXml(Commands.COMMAND_GET_SERVER_NETWORK_CONFIG, "No server name given", messageId, version)
+ responseDom.appendTagRoute("server.name", serverName)
+ return responseDom
+
+ #serverIpList = getExecuteServerList([serverName])
+ #if not serverIpList:
+ # responseDom = ResponseXml(Commands.COMMAND_GET_SERVER_NETWORK_CONFIG, "Unable to get server ip", messageId, version)
+ # responseDom.appendTagRoute("server.name", serverName)
+ # return responseDom
+
+ successStatusDict, failureServerList, cleanupStatusDict = \
+ execute({serverName:[serverName]}, requestDom, Globals.REQUEST_MAP[request]["cleanup"])
+ if failureServerList:
+ response = failureServerList[serverName]["StdOutString"]
+ if not response:
+ return ResponseXml(Commands.COMMAND_GET_SERVER_NETWORK_CONFIG,
+ "Failed to execute get server network config", messageId, version)
+ responseDom = XDOM()
+ if responseDom.parseString(response):
+ return responseDom
+ errorResponseDom = ResponseXml(Commands.COMMAND_GET_SERVER_NETWORK_CONFIG,
+ "Invalid response of get server network config", messageId, version)
+ errorResponseDom.appendTagRoute("server.name", serverName)
+ return errorResponseDom
+
+ responseDom = XDOM()
+ if not responseDom.parseString(successStatusDict[serverName]["StdOutString"]):
+ errorResponseDom = ResponseXml(Commands.COMMAND_GET_SERVER_NETWORK_CONFIG,
+ "Invalid response of get server network config", messageId, version)
+ errorResponseDom.appendTagRoute("server.name", serverName)
+ return errorResponseDom
+
+ #configDom = getServerNetworkConfigFromLocalFile(serverName)
+ #if not (configDom and compareServerNetworkDom(configDom, responseDom)):
+ # updateServerNetworkConfigXmlFile(serverName, responseDom)
+ # syncConfiguration()
+ return responseDom