summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTim <timothyasir@gluster.com>2011-08-01 18:44:01 +0530
committerTim <timothyasir@gluster.com>2011-08-01 18:44:01 +0530
commit0655e2fcb51474972729b33622e3df9607b7016e (patch)
treee016bbc54063aae9a7ca4a019ebc8ec240b35bc3 /src
parentce647a62d7826aba1a7c3b10a1e4e74ee7558582 (diff)
Updated clear_volume_directory.py to delete or rename the given directory based on the given option.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/com.gluster.storage.management.gateway.scripts/src/clear_volume_directory.py93
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__":