summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.server.scripts
diff options
context:
space:
mode:
authorTim <timothyasir@gluster.com>2011-06-09 17:33:01 +0530
committerTim <timothyasir@gluster.com>2011-06-09 17:33:01 +0530
commite7438d4a3e5990c69820f37c80bd4c9a53247ef8 (patch)
tree9ffaa50015d4eb0200d6192dd1b99ec6c7baad66 /src/com.gluster.storage.management.server.scripts
parente7fa3154115f72e3eefdb5790acbee1223de65a4 (diff)
Updated clear_volume_directory.py based on requirement changes
Updated function to clear volume directory using disk mount point and volume name
Diffstat (limited to 'src/com.gluster.storage.management.server.scripts')
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/DiskUtils.py16
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/clear_volume_directory.py31
2 files changed, 30 insertions, 17 deletions
diff --git a/src/com.gluster.storage.management.server.scripts/src/DiskUtils.py b/src/com.gluster.storage.management.server.scripts/src/DiskUtils.py
index 0e42bba2..69417f88 100644
--- a/src/com.gluster.storage.management.server.scripts/src/DiskUtils.py
+++ b/src/com.gluster.storage.management.server.scripts/src/DiskUtils.py
@@ -210,6 +210,22 @@ def readFsTab(fsTabFile=Globals.FSTAB_FILE):
return fsTabEntryList
+def checkDiskMountPoint(diskMountPoint):
+ try:
+ fstabEntries = open(Globals.FSTAB_FILE).readlines()
+ except IOError:
+ fstabEntries = []
+ found = False
+ for entry in fstabEntries:
+ entry = entry.strip()
+ if not entry:
+ continue
+ entries = entry.split()
+ if entries and len(entries) > 1 and entries[0].startswith("UUID=") and entries[1].upper() == diskMountPoint.upper():
+ return True
+ return False
+
+
def getMountPointByUuid(partitionUuid):
# check uuid in etc/fstab
try:
diff --git a/src/com.gluster.storage.management.server.scripts/src/clear_volume_directory.py b/src/com.gluster.storage.management.server.scripts/src/clear_volume_directory.py
index 3bd0ab6f..6cf2ef38 100755
--- a/src/com.gluster.storage.management.server.scripts/src/clear_volume_directory.py
+++ b/src/com.gluster.storage.management.server.scripts/src/clear_volume_directory.py
@@ -25,28 +25,26 @@ import Utils
import Common
from optparse import OptionParser
-def clearVolumeDirectory(disk, volumeName, todelete):
-
- # Retrieving disk uuid
- diskUuid = DiskUtils.getUuidByDiskPartition(DiskUtils.getDevice(disk))
-
+def clearVolumeDirectory(diskMountPoint, volumeName, todelete):
rs = ResponseXml()
- if not diskUuid:
- Common.log(syslog.LOG_ERR, "failed to find disk:%s uuid" % disk)
+ if not DiskUtils.checkDiskMountPoint(diskMountPoint):
+ Common.log(syslog.LOG_ERR, "failed to find disk mount point %s" % diskMountPoint)
rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "Error: Unable to find disk uuid")
+ rs.appendTagRoute("status.message", "Error: Mount point does not exists")
return rs.toprettyxml()
- # Retrieving disk mount point using disk uuid
- diskMountPoint = DiskUtils.getMountPointByUuid(diskUuid)
if not os.path.exists(diskMountPoint):
- Common.log(syslog.LOG_ERR, "failed to retrieve disk:%s mount point" % disk)
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "Error: Failed to retrieve disk details")
+ rs.appendTagRoute("status.code", "-2")
+ rs.appendTagRoute("status.message", "Error: Mount point path does not exists")
return rs.toprettyxml()
# clear volume directory from the disk
volumeDirectory = "%s/%s" % (diskMountPoint, volumeName)
+ if not os.path.exists(volumeDirectory):
+ rs.appendTagRoute("status.code", "-3")
+ rs.appendTagRoute("status.message", "Error: Volume directory does not exists")
+ return rs.toprettyxml()
+
newVolumeDirectoryName = "%s_%s" % (volumeDirectory, time.time())
command = ["sudo", "mv", "-f", volumeDirectory, newVolumeDirectoryName]
rv = Utils.runCommandFG(command, stdout=True, root=True)
@@ -88,14 +86,13 @@ def main():
(options, args) = parser.parse_args()
if len(args) != 2:
- print >> sys.stderr, "usage: %s <disk name> <volume name> [-d/--delete]" % sys.argv[0]
+ print >> sys.stderr, "usage: %s <disk mount point> <volume name> [-d/--delete]" % sys.argv[0]
sys.exit(-1)
- disk = args[0]
+ diskMountPoint = args[0]
volumeName = args[1]
- print clearVolumeDirectory(disk, volumeName, options.deletedir)
+ print clearVolumeDirectory(diskMountPoint, volumeName, options.deletedir)
sys.exit(0)
if __name__ == "__main__":
main()
-