From 255dbf79a9c987d354c5d27ea6af88dacfa54427 Mon Sep 17 00:00:00 2001 From: Sahina Bose Date: Mon, 5 May 2014 17:32:05 +0530 Subject: plugins: Enhanced volume quota status plugin Quota status plugin enhanced to return soft-limit as well as hard-limit exceeded messages along with the directories that it's exceeded on. Change-Id: I77a8686e2742e2174c9f5ebdade8f017a1ffad4e Signed-off-by: Sahina Bose Reviewed-on: http://review.gluster.org/7672 Reviewed-by: Kanagaraj M --- plugins/check_volume_status.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'plugins/check_volume_status.py') diff --git a/plugins/check_volume_status.py b/plugins/check_volume_status.py index 9404251..2a1e051 100755 --- a/plugins/check_volume_status.py +++ b/plugins/check_volume_status.py @@ -48,15 +48,26 @@ def getVolumeStatus(args): def getVolumeQuotaStatus(args): try: - status = glustercli.volumeQuotaStatus(args.volume) + qstatus = glustercli.volumeQuotaStatus(args.volume) except glustercli.GlusterCmdFailedException as e: out = ("QUOTA: Quota status could not be determined %s" % '.'.join(e.err)) return utils.PluginStatusCode.UNKNOWN, out - if status == glustercli.VolumeQuotaStatus.EXCEEDED: - return utils.PluginStatusCode.WARNING, "QUOTA: limit exceeded" - elif status == glustercli.VolumeQuotaStatus.DISABLED: + returnMsg = "QUOTA:" + if qstatus.get("hard_ex_dirs") is not None: + hard_limit_ex = ', '.join(qstatus['hard_ex_dirs']) + returnMsg += ("hard limit exceeded on %s; " % hard_limit_ex) + if qstatus.get('soft_ex_dirs'): + soft_limit_ex = ', '.join(qstatus['soft_ex_dirs']) + returnMsg += ("soft limit exceeded on %s" % soft_limit_ex) + + if qstatus['status'] == glustercli.VolumeQuotaStatus.SOFT_LIMIT_EXCEEDED: + return utils.PluginStatusCode.WARNING, returnMsg + elif (qstatus['status'] == + glustercli.VolumeQuotaStatus.HARD_LIMIT_EXCEEDED): + return utils.PluginStatusCode.CRITICAL, returnMsg + elif qstatus['status'] == glustercli.VolumeQuotaStatus.DISABLED: return utils.PluginStatusCode.OK, "QUOTA: not enabled or configured" else: return utils.PluginStatusCode.OK, "QUOTA: OK" -- cgit