summaryrefslogtreecommitdiffstats
path: root/plugins/discover_volumes.py
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/discover_volumes.py')
-rwxr-xr-xplugins/discover_volumes.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/plugins/discover_volumes.py b/plugins/discover_volumes.py
index 53d17a8..c175247 100755
--- a/plugins/discover_volumes.py
+++ b/plugins/discover_volumes.py
@@ -50,7 +50,15 @@ def discoverVolumes(volumeName, list):
}
"""
resultlist = {}
- volumes = glustercli.volumeInfo(volumeName)
+ try:
+ volumes = glustercli.volumeInfo(volumeName)
+ except glustercli.GlusterLockedException as e:
+ resultString = ("UNKNOWN: temporary error. %s" % '.'.join(e.err))
+ return utils.PluginStatusCode.UNKNOWN, resultString
+ except glustercli.GlusterCmdFailedException as e:
+ resultString = ("UNKNOWN: Failed to get the volume Information. "
+ "%s" % '.'.join(e.err))
+ return utils.PluginStatusCode.UNKNOWN, resultString
for key, volume in volumes.iteritems():
volDict = {}
volDict['name'] = key
@@ -74,7 +82,7 @@ def discoverVolumes(volumeName, list):
'hostUuid': brick['hostUuid']})
resultlist[key] = volDict
resultString = json.dumps(resultlist)
- return resultString
+ return utils.PluginStatusCode.OK, resultString
def get_arg_parser():
@@ -89,6 +97,6 @@ def get_arg_parser():
if __name__ == '__main__':
args = get_arg_parser().parse_args()
- resultString = discoverVolumes(args.volume, args.list)
+ status, resultString = discoverVolumes(args.volume, args.list)
print resultString
- sys.exit(utils.PluginStatusCode.OK)
+ sys.exit(status)