summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkshithijiyer <kshithij.ki@gmail.com>2019-01-28 15:40:26 +0530
committerVijay Avuthu <vavuthu@redhat.com>2019-02-07 06:34:14 +0000
commitc393ca9b4d8f2aeb9dfa749e4c4c96d2db088660 (patch)
tree57cdec9383eb137d4c3865de700cdc33aacd87a0
parent4c5945448f0b85b103c4447d2175defec93883b4 (diff)
Test to check if setting volume level options at cluster level is crashing glusterd
Change-Id: I6ee034f019a4aa36a83e087f2d9fed007e4fd9d7 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
-rw-r--r--tests/functional/glusterd/test_setting_volume_level_option_to_cluster.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/functional/glusterd/test_setting_volume_level_option_to_cluster.py b/tests/functional/glusterd/test_setting_volume_level_option_to_cluster.py
new file mode 100644
index 0000000..70aba25
--- /dev/null
+++ b/tests/functional/glusterd/test_setting_volume_level_option_to_cluster.py
@@ -0,0 +1,72 @@
+# Copyright (C) 2019 Red Hat, Inc. <http://www.redhat.com>
+#
+# 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
+# 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.
+
+from glusto.core import Glusto as g
+from glustolibs.gluster.gluster_base_class import GlusterBaseClass
+from glustolibs.gluster.peer_ops import is_peer_connected
+from glustolibs.gluster.gluster_init import is_glusterd_running
+from glustolibs.gluster.volume_ops import set_volume_options
+
+
+class TestSettingVolumeLevelOptionToCluster(GlusterBaseClass):
+
+ def test_setting_volume_level_option_to_cluster(self):
+ # pylint: disable=too-many-statements
+ """
+ Test Case:
+ 1) Create a cluster.
+ 2) Try to set volume level options to cluster level.
+ (These should fail!)
+ eg: gluster v set all transport.listen-backlog 128
+ gluster v set all performance.parallel-readdir on
+ 3) Check if glusterd has crashed or not.(Should not crash!)
+ """
+
+ # Set transport.listen-backlog to 128 for all volumes.(Should fail!)
+ ret = set_volume_options(self.mnode, 'all',
+ {'transport.listen-backlog': '128'})
+ self.assertFalse(ret, "Error: Able to set transport.listen-backlog "
+ "to 128 for all volumes.")
+ g.log.info("EXPECTED: Failed to set transport.listen-backlog to 128"
+ " for all volumes.")
+
+ # Checking if glusterd is running on all the nodes.
+ ret = is_glusterd_running(self.servers)
+ self.assertEqual(ret, 0, "glusterd has crashed.")
+ g.log.info("glusterd is running on all servers.")
+
+ # Checking if all the peers are in connected state or not.
+ ret = is_peer_connected(self.mnode, self.servers)
+ self.assertTrue(ret, "All peers are not in connected state.")
+ g.log.info("All peers are in connected state.")
+
+ # Set performance.parallel-readdir to on for all volumes.(Should fail!)
+ ret = set_volume_options(self.mnode, 'all',
+ {'performance.parallel-readdir': 'on'})
+ self.assertFalse(ret, "Error: Able to set performance.parallel"
+ "-readdir to ON for all volumes.")
+ g.log.info("EXPECTED: Failed to set parallel-readdir to"
+ " ON for all volumes.")
+
+ # Checking if glusterd is running on all the nodes
+ ret = is_glusterd_running(self.servers)
+ self.assertEqual(ret, 0, "glusterd has crashed.")
+ g.log.info("glusterd is running on all servers.")
+
+ # Checking if all the peers are in connected state or not.
+ ret = is_peer_connected(self.mnode, self.servers)
+ self.assertTrue(ret, "All peers are not in connected state.")
+ g.log.info("All peers are in connected state.")