diff options
| author | Shireesh Anjal <anjalshireesh@gmail.com> | 2011-08-01 23:50:43 -0700 |
|---|---|---|
| committer | Shireesh Anjal <anjalshireesh@gmail.com> | 2011-08-01 23:50:43 -0700 |
| commit | baea8eab66c1c452f119490a54a55bfb5da019e9 (patch) | |
| tree | 0ebb60cb856ad6a683da41655734196dee7656f3 /src | |
| parent | 5fb3c44d1c5f7c4e21f6457cc68f6cadf40cc7ee (diff) | |
| parent | ae74f94465f66a4972faa87504aa2e46654b4d96 (diff) | |
Merge pull request #174 from TimothyAsir/master
Updated clear volume function to delete or rename the given path based on given option.
Diffstat (limited to 'src')
3 files changed, 29 insertions, 73 deletions
diff --git a/src/com.gluster.storage.management.gateway.scripts/src/Utils.py b/src/com.gluster.storage.management.gateway.scripts/src/Utils.py index 3408c14a..391a2bb3 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/Utils.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/Utils.py @@ -442,6 +442,13 @@ def getInfinibandPortStatus(): return portkeys +def getServerFqdn(): + rv = runCommand("hostname --fqdn", output=True, root=True) + if not rv["Stderr"]: + return stripEmptyLines(rv["Stdout"]) + return socket.gethostname() + + def getServerCount(): try: return int(open(Globals.SERVER_COUNT_FILE).read().strip()) diff --git a/src/com.gluster.storage.management.gateway.scripts/src/clear_volume_directory.py b/src/com.gluster.storage.management.gateway.scripts/src/clear_volume_directory.py index 96677f56..6b6d453e 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/clear_volume_directory.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/clear_volume_directory.py @@ -1,20 +1,8 @@ #!/usr/bin/python -# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com> -# This file is part of Gluster Storage Platform. +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. # -# 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 @@ -24,73 +12,34 @@ import DiskUtils import Utils from optparse import OptionParser -def clearVolumeDirectory(diskMountPoint, volumeName, todelete): - rs = ResponseXml() - if not DiskUtils.checkDiskMountPoint(diskMountPoint): - Utils.log("failed to find disk mount point %s" % diskMountPoint) - rs.appendTagRoute("status.code", "-1") - rs.appendTagRoute("status.message", "Error: Mount point does not exists") - return rs.toprettyxml() +def main(): + parser = OptionParser() + parser.add_option("-d", "--delete", dest="todelete", action="store_true", default=False, help="force delete") + (options, args) = parser.parse_args() - if not os.path.exists(diskMountPoint): - rs.appendTagRoute("status.code", "-2") - rs.appendTagRoute("status.message", "Error: Mount point path does not exists") - return rs.toprettyxml() + if len(args) != 1: + sys.stderr.write("usage: %s VOLUME_PATH [-d/--delete]\n" % os.path.basename(sys.argv[0])) + sys.exit(-1) - # clear volume directory from the disk - volumeDirectory = "%s/%s" % (diskMountPoint, volumeName) + volumeDirectory = args[0] if not os.path.exists(volumeDirectory): - rs.appendTagRoute("status.code", "-3") - rs.appendTagRoute("status.message", "Error: Volume directory does not exists") - return rs.toprettyxml() + sys.stderr.write("Given volume directory path:%s does not exists" % volumeDirectory) + sys.exit(1) newVolumeDirectoryName = "%s_%s" % (volumeDirectory, time.time()) - command = ["sudo", "mv", "-f", volumeDirectory, newVolumeDirectoryName] - rv = Utils.runCommandFG(command, stdout=True, root=True) - message = Utils.stripEmptyLines(rv["Stdout"]) + rv = Utils.runCommand("mv -f %s %s" % (volumeDirectory, newVolumeDirectoryName), output=True, root=True) if rv["Stderr"]: - error = Utils.stripEmptyLines(rv["Stderr"]) - message += "Error: [%s]" % (error) - Utils.log("failed to rename volume directory %s, %s" % (volumeDirectory, error)) - rs.appendTagRoute("status.code", rv["Status"]) - rs.appendTagRoute("status.message", message) - return rs.toprettyxml() + sys.stderr.write(Utils.stripEmptyLines(rv["Stderr"])) + sys.exit(2) - if not todelete: - rv["Status"] = "0" - rs.appendTagRoute("status.code", rv["Status"]) - rs.appendTagRoute("status.message", message) - return rs.toprettyxml() + if not options.todelete: + sys.exit(0) - command = ["sudo", "rm", "-fr", newVolumeDirectoryName] - rv = Utils.runCommandFG(command, stdout=True, root=True) - message = Utils.stripEmptyLines(rv["Stdout"]) + rv = Utils.runCommand("rm -fr %s" % newVolumeDirectoryName, output=True, root=True) if rv["Stderr"]: - error = Utils.stripEmptyLines(rv["Stderr"]) - message += "Error: [%s]" % (error) - Utils.log("failed to clear volume directory %s, %s" % (newVolumeDirectoryName, error)) - rs.appendTagRoute("status.code", rv["Status"]) - rs.appendTagRoute("status.message", message) - return rs.toprettyxml() - - if not rv["Status"]: - rv["Status"] = "0" - rs.appendTagRoute("status.code", rv["Status"]) - rs.appendTagRoute("status.message", message) - return rs.toprettyxml() - -def main(): - parser = OptionParser() - parser.add_option("-d", "--delete", dest="deletedir", action="store_true", default=False, help="force delete") - (options, args) = parser.parse_args() - - if len(args) != 2: - sys.stderr.write("usage: %s <disk mount point> <volume name> [-d/--delete]\n" % os.path.basename(sys.argv[0])) - sys.exit(-1) + sys.stderr.write(Utils.stripEmptyLines(rv["Stderr"])) + sys.exit(3) - diskMountPoint = args[0] - volumeName = args[1] - print clearVolumeDirectory(diskMountPoint, volumeName, options.deletedir) sys.exit(0) if __name__ == "__main__": diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_server_details.py b/src/com.gluster.storage.management.gateway.scripts/src/get_server_details.py index 9c3da741..ba735892 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_server_details.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/get_server_details.py @@ -28,7 +28,7 @@ from optparse import OptionParser def getServerDetails(listall): - serverName = socket.gethostname() + serverName = Utils.getServerFqdn() meminfo = getMeminfo() cpu = getCpuUsageAvg() nameServerList, domain, searchDomain = readResolvConfFile() |
