summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorSahina Bose <sabose@redhat.com>2014-04-21 17:36:08 +0530
committerBala.FA <barumuga@redhat.com>2014-04-29 10:21:37 +0530
commit89db997887f8b993fd5fcc68860b7c7f09732076 (patch)
treebed54561fdce5c18246c793dbf746f7d766db27f /plugins
parent6d9d04248ea574ffbe94edec9e552232924eb8ff (diff)
plugins: Server side plugin for self-heal
Server side plugin to check the volume self heal status Change-Id: Ia1ee3fb653913360edb1b54b42cce3ed105bdb79 Signed-off-by: Sahina Bose <sabose@redhat.com>
Diffstat (limited to 'plugins')
-rwxr-xr-xplugins/check_vol_server.py9
-rw-r--r--plugins/config_generator.py17
2 files changed, 25 insertions, 1 deletions
diff --git a/plugins/check_vol_server.py b/plugins/check_vol_server.py
index f780ba8..8e42126 100755
--- a/plugins/check_vol_server.py
+++ b/plugins/check_vol_server.py
@@ -42,6 +42,10 @@ def _getVolQuotaStatusNRPECommand(args):
return ("check_vol_quota_status -a " + args.volume)
+def _getVolSelfHealStatusNRPECommand(args):
+ return ("check_vol_heal_status -a " + args.volume)
+
+
def _getNRPEBaseCmd(host):
return NRPE_PATH + " -H " + host + " -c "
@@ -134,6 +138,8 @@ def showVolumeOutput(args):
command = _getVolUtilizationNRPECommand(args)
elif args.option == 'quota':
return _getVolumeQuotaStatusOutput(args)
+ elif args.option == 'self-heal':
+ command = _getVolSelfHealStatusNRPECommand(args)
return _executeRandomHost(command)
@@ -167,7 +173,8 @@ def parse_input():
help='the volume option to check',
choices=['utilization',
'status',
- 'quota'])
+ 'quota',
+ 'self-heal'])
args = parser.parse_args()
if args.critical <= args.warning:
print "UNKNOWN:Critical must be greater than Warning."
diff --git a/plugins/config_generator.py b/plugins/config_generator.py
index 6ba1631..d383b0b 100644
--- a/plugins/config_generator.py
+++ b/plugins/config_generator.py
@@ -96,6 +96,18 @@ class GlusterNagiosConfManager:
volumeService['notes'] = "Volume type : %s" % (volume['type'])
return volumeService
+ def __createVolumeHealStatusService(self, volume, clusterName):
+ volumeService = {}
+ volumeService['host_name'] = clusterName
+ volumeService['use'] = 'gluster-service-without-graph'
+ serviceDesc = 'Volume Self-Heal - %s' % (volume['name'])
+ volumeService['service_description'] = serviceDesc
+ volumeService['_VOL_NAME'] = volume['name']
+ checkCommand = 'check_vol_heal_status!%s!%s' % \
+ (clusterName, volume['name'])
+ volumeService['check_command'] = checkCommand
+ return volumeService
+
def createClusterUtilizationService(self, clusterName):
service = {}
service['host_name'] = clusterName
@@ -122,6 +134,11 @@ class GlusterNagiosConfManager:
volumeService = self.__createVolumeQuotaStatusService(volume,
clusterName)
volumeServices.append(volumeService)
+ if 'Replicate' in volume['type']:
+ volumeService = (self.
+ __createVolumeHealStatusService(volume,
+ clusterName))
+ volumeServices.append(volumeService)
volumeService = self.__createVolumeStatusService(volume,
clusterName)
volumeServices.append(volumeService)