diff options
| author | Tim <timothyasir@gluster.com> | 2011-08-01 18:44:01 +0530 |
|---|---|---|
| committer | Tim <timothyasir@gluster.com> | 2011-08-01 18:44:01 +0530 |
| commit | 0655e2fcb51474972729b33622e3df9607b7016e (patch) | |
| tree | e016bbc54063aae9a7ca4a019ebc8ec240b35bc3 /src | |
| parent | ce647a62d7826aba1a7c3b10a1e4e74ee7558582 (diff) | |
Updated clear_volume_directory.py to delete or rename the given directory based on the given option.
Diffstat (limited to 'src')
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/clear_volume_directory.py | 93 |
1 files changed, 21 insertions, 72 deletions
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__": |
