summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTimothy Asir <tim.gluster@gmail.com>2014-04-01 17:31:44 +0530
committerBala.FA <barumuga@redhat.com>2014-04-29 10:14:33 +0530
commit0682f3b48c06a5bf53f305dd77250cdb796693a5 (patch)
tree3c1705697a0f9846ae119f328f839d4bc7460906 /tests
parent666983202013dd3c1e236eb458b75b3a95d74782 (diff)
Add gluster process monitoring plugin
This helps monitoring gluster related process such as glusterd, glusterfsd, gluster self heal process, nfs and also helps to monitor other running services Change-Id: I8c6f252270a847e7ff007c358125a9310525f201 Signed-off-by: Timothy Asir <tjeyasin@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am2
-rw-r--r--tests/check_proc_test_data.py196
-rw-r--r--tests/test_gluster_proc.py42
3 files changed, 240 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a540f11..0712feb 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -21,8 +21,10 @@
test_modules = \
test_check_gluster_syslog.py \
test_check_volume_status.py \
+ check_proc_test_data.py \
test_cpu.py \
test_cpu_dataFile.py \
+ test_gluster_proc.py \
test_memory.py \
test_memory_dataFile.py \
test_network.py \
diff --git a/tests/check_proc_test_data.py b/tests/check_proc_test_data.py
new file mode 100644
index 0000000..b4d4ac4
--- /dev/null
+++ b/tests/check_proc_test_data.py
@@ -0,0 +1,196 @@
+nfsEnabled1 = {'rep1': {'brickCount': '2',
+ 'bricks': ['10.70.43.33:/bricks/rep1_1',
+ '10.70.43.33:/bricks/rep1_2'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '53496a0c-94eb-46a2-9312-eeb700e9fba5',
+ 'volumeName': 'rep1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'REPLICATE'},
+ 'vol1': {'brickCount': '3',
+ 'bricks': ['10.70.43.33:/bricks/b1',
+ '10.70.43.33:/bricks/my-vol1-add-brck-b2.new',
+ '10.70.43.33:/bricks/vol1/my-new-brick_b3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'f96856f1-b2c0-4e24-aef0-7f2a01f37b99',
+ 'volumeName': 'vol1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'vol2': {'brickCount': '1',
+ 'bricks': ['10.70.43.190:/exports/vol2'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '12817858-77cd-450d-8a70-f8d617db838e',
+ 'volumeName': 'vol2',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'vol3': {'brickCount': '1',
+ 'bricks': ['10.70.43.190:/exports/vol3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'a3d0f537-761f-46d3-addd-58c5eeb66b58',
+ 'volumeName': 'vol3',
+ 'volumeStatus': 'OFFLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'vol4': {'brickCount': '2',
+ 'bricks': ['10.70.43.190:/bricks/vol3_a',
+ '10.70.43.190:/bricks/vol3_b'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '81201e32-8f14-4fa0-b4ef-23852f2f9a1d',
+ 'volumeName': 'vol4',
+ 'volumeStatus': 'OFFLINE',
+ 'volumeType': 'REPLICATE'},
+ 'vol5': {'brickCount': '3',
+ 'bricks': ['10.70.43.190:/bricks/vol5_a',
+ '10.70.42.228:/bricks/vol5_b',
+ '10.70.43.33:/bricks/vol5_c'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '69e039dd-e0b1-4069-ad65-99cb26c2d157',
+ 'volumeName': 'vol5',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'}}
+
+# nfs enabled by default
+nfsEnabled2 = {'rep1': {'brickCount': '2',
+ 'bricks': ['10.70.43.133:/bricks/rep1_1',
+ '10.70.43.133:/bricks/rep1_2'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '53496a0c-94eb-46a2-9312-eeb700e9fba5',
+ 'volumeName': 'rep1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'REPLICATE'}}
+
+#NFS enabled using set option
+nfsEnabled3 = {'vol1': {'brickCount': '3',
+ 'bricks': ['10.70.43.33:/bricks/b1',
+ '10.70.43.33:/bricks/my-vol1-add-brck-b2.new',
+ '10.70.43.33:/bricks/vol1/my-new-brick_b3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'off'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'f96856f1-b2c0-4e24-aef0-7f2a01f37b99',
+ 'volumeName': 'vol1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'}}
+
+
+nfsDisabled1 = {'vol1': {'brickCount': '3',
+ 'bricks': ['10.70.43.33:/bricks/b1',
+ '10.70.43.33:/bricks/my-vol1-add-brck-b2.new',
+ '10.70.43.33:/bricks/vol1/my-new-brick_b3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'f96856f1-b2c0-4e24-aef0-7f2a01f37b99',
+ 'volumeName': 'vol1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'rep1': {'brickCount': '2',
+ 'bricks': ['10.70.43.133:/bricks/rep1_1',
+ '10.70.43.133:/bricks/rep1_2'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '53496a0c-94eb-46a2-9312-eeb700e9fba5',
+ 'volumeName': 'rep1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'REPLICATE'}}
+
+
+brickTst1 = {'vol1': {'brickCount': '3',
+ 'bricks': ['10.70.43.33:/bricks/b1',
+ '10.70.43.433:/bricks/my-vol1-add-brck-b2.new',
+ '10.70.43.33:/bricks/vol1/my-new-brick_b3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'f96856f1-b2c0-4e24-aef0-7f2a01f37b99',
+ 'volumeName': 'vol1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'rep1': {'brickCount': '2',
+ 'bricks': ['10.70.43.133:/bricks/rep1_1',
+ '10.70.43.133:/bricks/rep1_2'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '53496a0c-94eb-46a2-9312-eeb700e9fba5',
+ 'volumeName': 'rep1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'REPLICATE'}}
+
+
+brickTst2 = {'vol1': {'brickCount': '3',
+ 'bricks': ['10.70.43.133:/bricks/b1',
+ '10.70.43.233:/bricks/my-vol1-add-brck-b2.new',
+ '10.70.43.333:/bricks/vol1/my-new-brick_b3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'f96856f1-b2c0-4e24-aef0-7f2a01f37b99',
+ 'volumeName': 'vol1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'rep1': {'brickCount': '2',
+ 'bricks': ['10.70.43.133:/bricks/rep1_1',
+ '10.70.43.133:/bricks/rep1_2'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '53496a0c-94eb-46a2-9312-eeb700e9fba5',
+ 'volumeName': 'rep1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'REPLICATE'}}
diff --git a/tests/test_gluster_proc.py b/tests/test_gluster_proc.py
new file mode 100644
index 0000000..36a60fd
--- /dev/null
+++ b/tests/test_gluster_proc.py
@@ -0,0 +1,42 @@
+#
+# Copyright 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
+#
+# Refer to the README and COPYING files for full details of the license
+#
+
+from testrunner import PluginsTestCase as TestCaseBase
+from plugins import check_proc_status as gProc
+from plugins import nscautils
+from glusternagios import utils
+import check_proc_test_data as gData
+
+
+class TestProc(TestCaseBase):
+ def _maskGetoutputSuccess(self, val):
+ return 0, "PROCS OK:", ""
+
+ def _maskGetoutputCritical(self, val):
+ return 0, "PROCS CRITICAL:", ""
+
+ def _maskSendToNsca(self, hostName, service, status, msg):
+ return service, status, msg
+
+ def test_Nfs(self):
+ nscautils.send_to_nsca = self._maskSendToNsca
+ utils.execCmd = self._maskGetoutputCritical
+
+ assert(gProc.sendNfsStatus("10.70.43.33", gData.nfsEnabled1) == None)