diff options
author | Sahina Bose <sabose@redhat.com> | 2014-04-21 17:36:08 +0530 |
---|---|---|
committer | Bala.FA <barumuga@redhat.com> | 2014-04-29 10:21:37 +0530 |
commit | 89db997887f8b993fd5fcc68860b7c7f09732076 (patch) | |
tree | bed54561fdce5c18246c793dbf746f7d766db27f /plugins | |
parent | 6d9d04248ea574ffbe94edec9e552232924eb8ff (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-x | plugins/check_vol_server.py | 9 | ||||
-rw-r--r-- | plugins/config_generator.py | 17 |
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) |