summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.server.scripts
diff options
context:
space:
mode:
authorselvam <selvam@selvam-Studio-XPS-1340.(none)>2011-06-01 16:56:53 +0530
committerselvam <selvam@selvam-Studio-XPS-1340.(none)>2011-06-01 16:56:53 +0530
commit0dc5b4bdee8e375b264f9056d4e2424d3bde083b (patch)
tree536ca68f3a28de813fc9bc5fddca92bebd19a85a /src/com.gluster.storage.management.server.scripts
parent38ec6fe6aa4ef80838069b9a559b216c1bbee084 (diff)
parenteecdc685f935510142c0ea0f81faf5406b85820f (diff)
Merge branch 'master' of github.com:gluster/console
Diffstat (limited to 'src/com.gluster.storage.management.server.scripts')
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py59
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_server_details.py17
2 files changed, 74 insertions, 2 deletions
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py b/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py
new file mode 100755
index 00000000..4d33381b
--- /dev/null
+++ b/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py
@@ -0,0 +1,59 @@
+#!/usr/bin/python
+# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
+# This file is part of Gluster Storage Platform.
+#
+# Gluster Storage Platform is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 3 of
+# the License, or (at your option) any later version.
+#
+# Gluster Storage Platform is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+import os
+import sys
+import syslog
+from XmlHandler import ResponseXml
+import Utils
+import Common
+
+def getMemData(period):
+ memRrdFile = "/var/lib/rrd/mem.rrd"
+ rs = ResponseXml()
+ command = ["rrdtool", "xport", "--start", "-1%s" % period,
+ "DEF:used=%s:memused:AVERAGE" % memRrdFile,
+ "DEF:free=%s:memfree:AVERAGE" % memRrdFile,
+ "DEF:cache=%s:memcache:AVERAGE" % memRrdFile,
+ "CDEF:total=used,free,+",
+ "XPORT:used:'used'",
+ "XPORT:free:'free'",
+ "XPORT:cache:'cache'",
+ "XPORT:total:'total'"]
+
+ rv = Utils.runCommandFG(command, stdout=True, root=True)
+ message = Common.stripEmptyLines(rv["Stdout"])
+ if rv["Stderr"]:
+ error = Common.stripEmptyLines(rv["Stderr"])
+ message += "Error: [%s]" % (error)
+ Common.log(syslog.LOG_ERR, "failed to create RRD file for memory usages %s" % file)
+ rs.appendTagRoute("status.code", rv["Status"])
+ rs.appendTagRoute("status.message", message)
+ return rs.toxml()
+ return rv["Stdout"]
+
+def main():
+ if len(sys.argv) != 2:
+ print >> sys.stderr, "usage: %s <period>" % sys.argv[0]
+ sys.exit(-1)
+
+ period = sys.argv[1]
+ print getMemData(period)
+ sys.exit(0)
+
+if __name__ == "__main__":
+ main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_server_details.py b/src/com.gluster.storage.management.server.scripts/src/get_server_details.py
index 2253ff30..312dd057 100755
--- a/src/com.gluster.storage.management.server.scripts/src/get_server_details.py
+++ b/src/com.gluster.storage.management.server.scripts/src/get_server_details.py
@@ -27,6 +27,7 @@ from Protocol import *
from NetworkUtils import *
from Disk import *
from XmlHandler import ResponseXml
+from optparse import OptionParser
def getDiskSizeInfo(partition):
# get values from df output
@@ -96,7 +97,7 @@ def getDiskSizeInfo(partition):
return total, used, free
-def getServerDetails():
+def getServerDetails(listall):
serverName = socket.gethostname()
responseDom = ResponseXml()
#responseDom.appendTagRoute("status.code", "0")
@@ -188,6 +189,9 @@ def getServerDetails():
diskSpaceInUse = 0
diskTag = responseDom.createTag("disks")
for disk in disks:
+ if not listall:
+ if not disk['mount_point'].startswith("/export/"):
+ continue
if disk['interface'] in ['usb', 'mmc']:
continue
partitionTag = responseDom.createTag("disk", None)
@@ -217,7 +221,16 @@ def getServerDetails():
return serverTag
def main():
- print getServerDetails().toxml()
+ ME = os.path.basename(sys.argv[0])
+ parser = OptionParser(version="%s %s" % (ME, Globals.GLUSTER_PLATFORM_VERSION))
+
+ parser.add_option("-N", "--only-data-disks",
+ action="store_false", dest="listall", default=True,
+ help="List only data disks")
+
+ (options, args) = parser.parse_args()
+ print getServerDetails(options.listall).toxml()
+
sys.exit(0)
if __name__ == "__main__":