diff options
author | Nishanth Thomas <nthomas@redhat.com> | 2014-04-02 18:10:40 +0530 |
---|---|---|
committer | Bala.FA <barumuga@redhat.com> | 2014-04-29 10:14:33 +0530 |
commit | 13928ae0da5afb2d58fa2a268ebc61ee522ba3c4 (patch) | |
tree | 32a73c5d4d262649f48520c9f228a336287c27a3 /plugins/discoverpeers.py | |
parent | 3f8ba5ca094e20d01fbd437a35c7f91c2d69b06f (diff) |
Added the plugins for discovering the gluster components
Modified the code to address the review comments
Change-Id: Iaf18745920ec1177622b5f8a667a2e77f89796da
Signed-off-by: Nishanth Thomas <nthomas@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/22345
Tested-by: Ramesh Nachimuthu <rnachimu@redhat.com>
Reviewed-by: Kanagaraj Mayilsamy <kmayilsa@redhat.com>
Diffstat (limited to 'plugins/discoverpeers.py')
-rwxr-xr-x | plugins/discoverpeers.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/plugins/discoverpeers.py b/plugins/discoverpeers.py new file mode 100755 index 0000000..b4d8a70 --- /dev/null +++ b/plugins/discoverpeers.py @@ -0,0 +1,47 @@ +#!/usr/bin/python +# discoverpeers.py -- nagios plugin for discovering gluster peers +# Copyright (C) 2014 Red Hat Inc +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +import commands +import sys +import json + +from glusternagios import utils + + +def discoverhosts(): + xmlElemList = [] + nrpe_out_list = [] + resltdict = {} + resultstring = "" + + command_peer_status = utils.sudoCmdPath.cmd + " " \ + + utils.glusterCmdPath.cmd + " peer status --xml" + peer_status_out = commands.getoutput(command_peer_status) + + xmlElemList = utils.parseXml(peer_status_out, "./peerStatus/peer") + for peer in xmlElemList: + if (peer.find('connected').text == "1"): + resltdict['hostip'] = peer.find('hostname').text + nrpe_out_list.append(resltdict) + resultstring = json.dumps(nrpe_out_list) + print resultstring + sys.exit(utils.PluginStatusCode.OK) + + +if __name__ == '__main__': + discoverhosts() |