""" This Module demostrates how to use functions available in gluster_init module """ from glusto.core import Glusto as g from glustolibs.gluster.gluster_base_class import GlusterBaseClass from glustolibs.gluster.exceptions import ExecutionError from glustolibs.gluster.gluster_init import ( is_glusterd_running, restart_glusterd, start_glusterd, stop_glusterd) class DemoGlusterInitClass(GlusterBaseClass): """Demonstrating all the functions available in gluster_init module """ @classmethod def setUpClass(cls): """ """ # Read all the cluster config from the g.config and assign it to # class variables GlusterBaseClass.setUpClass.im_func(cls) def setUp(self): """setUp required for tests """ # Calling GlusterBaseClass setUp GlusterBaseClass.setUp.im_func(self) # Check if glusterd is running on all servers(expected: active) g.log.info("Check if glusterd is running on all servers %s" "(expected: active)", self.servers) ret = is_glusterd_running(self.servers) if ret == 0: g.log.info("Glusterd is running on all servers %s", self.servers) elif ret == 1: g.log.info("Glusterd is not running on all the servers %s", self.servers) elif ret == -1: g.log.info("Glusterd is not running on all the servers %s. " "PID is alive", self.servers) def test_glusterd_services(self): """Test restart, stop, start of glusterd """ # restart glusterd on all servers g.log.info("Restart glusterd on all servers %s", self.servers) ret = restart_glusterd(self.servers) self.assertTrue(ret, ("Failed to restart glusterd on all servers %s", self.servers)) g.log.info("Successfully restarted glusterd on all servers %s", self.servers) # Check if glusterd is running on all servers(expected: active) g.log.info("Check if glusterd is running on all servers %s" "(expected: active)", self.servers) ret = is_glusterd_running(self.servers) self.assertEqual(ret, 0, ("Glusterd is not running on all servers %s", self.servers)) g.log.info("Glusterd is running on all the servers %s", self.servers) # Stop glusterd on all servers g.log.info("Stop glusterd on all servers %s", self.servers) ret = stop_glusterd(self.servers) self.assertTrue(ret, ("Failed to stop glusterd on all servers %s", self.servers)) g.log.info("Successfully stopped glusterd on all servers %s", self.servers) # Check if glusterd is running on all servers(expected: not running) g.log.info("Check if glusterd is running on all servers %s" "(expected: not running)", self.servers) ret = is_glusterd_running(self.servers) self.assertNotEqual(ret, 0, ("Glusterd is still running on some " "servers %s", self.servers)) g.log.info("Glusterd not running on any servers %s as expected.", self.servers) # Start glusterd on all servers g.log.info("Start glusterd on all servers %s", self.servers) ret = start_glusterd(self.servers) self.assertTrue(ret, ("Failed to start glusterd on all servers %s", self.servers)) g.log.info("Successfully started glusterd on all servers %s", self.servers) # Check if glusterd is running on all servers(expected: active) g.log.info("Check if glusterd is running on all servers %s" "(expected: active)", self.servers) ret = is_glusterd_running(self.servers) self.assertEqual(ret, 0, ("Glusterd is not running on all servers %s", self.servers)) g.log.info("Glusterd is running on all the servers %s", self.servers) def tearDown(self): """restart glusterd on all servers during teardown """ # restart glusterd on all servers g.log.info("Restart glusterd on all servers %s", self.servers) ret = restart_glusterd(self.servers) if not ret: raise ExecutionError("Failed to restart glusterd on all " "servers %s", self.servers) g.log.info("Successfully restarted glusterd on all servers %s", self.servers) # Calling GlusterBaseClass tearDown GlusterBaseClass.tearDown.im_func(self) @classmethod def tearDownClass(cls): """ """ GlusterBaseClass.tearDownClass.im_func(cls)