diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-06-27 19:17:00 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-06-27 19:17:00 +0530 |
| commit | 8c59a588c903cc1a70ea769e78e0414c69006b35 (patch) | |
| tree | c0bdf60d6c24d5b62f5bf61f486fa1b4f8b2556f /src | |
| parent | dbfc04a1dc1bbd998302b7cec914008c3e9d1bd8 (diff) | |
REST API enhancements
Diffstat (limited to 'src')
3 files changed, 23 insertions, 51 deletions
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/LogMessageListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/LogMessageListResponse.java index c1f879bb..8c362fa9 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/LogMessageListResponse.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/LogMessageListResponse.java @@ -9,11 +9,10 @@ import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.VolumeLogMessage; @XmlRootElement(name = "logMessages") -public class LogMessageListResponse extends AbstractResponse { +public class LogMessageListResponse { private List<VolumeLogMessage> logMessages = new ArrayList<VolumeLogMessage>(); public LogMessageListResponse() { @@ -23,11 +22,6 @@ public class LogMessageListResponse extends AbstractResponse { setLogMessages(logMessages); } - public LogMessageListResponse(Status status, List<VolumeLogMessage> logMessages) { - setStatus(status); - setLogMessages(logMessages); - } - @XmlElement(name = "logMessage", type = VolumeLogMessage.class) public List<VolumeLogMessage> getLogMessages() { return logMessages; @@ -36,9 +30,4 @@ public class LogMessageListResponse extends AbstractResponse { public void setLogMessages(List<VolumeLogMessage> logMessages) { this.logMessages = logMessages; } - - @Override - public Object getData() { - return getLogMessages(); - } } diff --git a/src/com.gluster.storage.management.server.scripts/src/get_volume_brick_log.py b/src/com.gluster.storage.management.server.scripts/src/get_volume_brick_log.py index 7c912412..64a40df3 100755 --- a/src/com.gluster.storage.management.server.scripts/src/get_volume_brick_log.py +++ b/src/com.gluster.storage.management.server.scripts/src/get_volume_brick_log.py @@ -19,7 +19,7 @@ import re import os import sys -from XmlHandler import ResponseXml +from XmlHandler import XDOM def enumLogType(logCode): if "M" == logCode.upper(): @@ -44,12 +44,10 @@ def enumLogType(logCode): return "UNKNOWN" ##--end of enumLogType() -def addLog(responseDom, logMessageTag, loginfo): - logTag = responseDom.createTag("logMessage", None) - logTag.appendChild(responseDom.createTag("timestamp", loginfo[0] + " " + loginfo[1])) - logTag.appendChild(responseDom.createTag("severity", enumLogType(loginfo[2]))) - logTag.appendChild(responseDom.createTag("message", loginfo[3])) - logMessageTag.appendChild(logTag) +def addLog(responseDom, loginfo): + responseDom.appendTagRoute("logMessages.logMessage.timestamp", loginfo[0] + " " + loginfo[1]) + responseDom.appendTagRoute("logMessages.logMessage.severity", enumLogType(loginfo[2])) + responseDom.appendTagRoute("logMessages.logMessage.message", loginfo[3]) return True ##--end of addLog() @@ -61,26 +59,21 @@ def logSplit(log): ##--end of logSplit() def getVolumeLog(logFilePath, tailCount): - rs = ResponseXml() + rs = XDOM() if not logFilePath: - rs.appendTagRoute("status.code", "-1") - rs.appendTagRoute("status.message", "No log file path given") - return rs.toprettyxml() + print >> sys.stderr, "No log file path given" + sys.exit(-1); if not tailCount: - rs.appendTagRoute("status.code", "-1") - rs.appendTagRoute("status.message", "No tail count given") - return rs.toprettyxml() + print >> sys.stderr, "No tail count given" + sys.exit(-1); pattern = '\[\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2}.\d+\]\s{1}([MACEWNIDT]){1}\s+' - logMessagesTag = rs.createTag("logMessages") if not os.path.exists(logFilePath): - rs.appendTagRoute("status.code", "-1") - rs.appendTagRoute("status.message", "volume log file [%s] not found!" % logFilePath) - return rs.toprettyxml + print >> sys.stderr, "volume log file [%s] not found!" % logFilePath + sys.exit(-1); fp = open(logFilePath) - #lines = [line for line in fp] lines = [line for line in fp if re.match(pattern, line)] fp.close() i = len(lines) - int(tailCount) @@ -88,11 +81,8 @@ def getVolumeLog(logFilePath, tailCount): i = 0 for log in lines[i:]: loginfo = logSplit(log) - addLog(rs, logMessagesTag, loginfo) - rs.appendTagRoute("status.code", "0") - rs.appendTagRoute("status.message", "Success") - rs.appendTag(logMessagesTag) - return rs.toprettyxml() + addLog(rs, loginfo) + return rs.toxml() ##--end of getVolumeLog() def main(): diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java index c7e18aaa..7b506e67 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java @@ -625,27 +625,20 @@ public class VolumesResource extends AbstractResource { // Usage: get_volume_disk_log.py <volumeName> <diskName> <lineCount> Object responseObj = serverUtil.executeOnServer(true, brick.getServerName(), VOLUME_BRICK_LOG_SCRIPT + " " + logFilePath + " " + lineCount, LogMessageListResponse.class); - Status status = null; + LogMessageListResponse response = null; if (responseObj instanceof LogMessageListResponse) { response = (LogMessageListResponse) responseObj; - status = response.getStatus(); + // populate disk and trim other fields + List<VolumeLogMessage> logMessages = response.getLogMessages(); + for (VolumeLogMessage logMessage : logMessages) { + logMessage.setBrickDirectory(brick.getBrickDirectory()); + } + return logMessages; } else { - status = (Status) responseObj; - } - - if (!status.isSuccess()) { + Status status = (Status) responseObj; throw new GlusterRuntimeException(status.toString()); } - - // populate disk and trim other fields - List<VolumeLogMessage> logMessages = response.getLogMessages(); - for (VolumeLogMessage logMessage : logMessages) { - logMessage.setBrickDirectory(brick.getBrickDirectory()); - logMessage.setMessage(logMessage.getMessage().trim()); - logMessage.setSeverity(logMessage.getSeverity().trim()); - } - return logMessages; } @GET |
