diff options
-rw-r--r-- | glustolibs-gluster/glustolibs/gluster/gluster_base_class.py | 17 | ||||
-rw-r--r-- | glustolibs-gluster/glustolibs/gluster/gluster_init.py | 16 |
2 files changed, 14 insertions, 19 deletions
diff --git a/glustolibs-gluster/glustolibs/gluster/gluster_base_class.py b/glustolibs-gluster/glustolibs/gluster/gluster_base_class.py index 93e906fdb..d27b9ad3e 100644 --- a/glustolibs-gluster/glustolibs/gluster/gluster_base_class.py +++ b/glustolibs-gluster/glustolibs/gluster/gluster_base_class.py @@ -45,8 +45,7 @@ from glustolibs.gluster.peer_ops import ( peer_probe_servers, peer_status ) from glustolibs.gluster.gluster_init import ( - restart_glusterd, stop_glusterd, wait_for_glusterd_to_start, - reset_failed_glusterd) + restart_glusterd, stop_glusterd, wait_for_glusterd_to_start) from glustolibs.gluster.samba_libs import share_volume_over_smb from glustolibs.gluster.volume_libs import ( cleanup_volume, @@ -291,18 +290,8 @@ class GlusterBaseClass(TestCase): return False ret = restart_glusterd(cls.servers) if not ret: - # Due to recent changes in glusterd.service.in - # we can only restart glusterd 6 times in an hour - # if not then we would need reset-failed glusterd - # and restart glusterd - ret = reset_failed_glusterd(cls.servers) - if not ret: - g.log.error("Failed to reset glusterd") - return False - ret = restart_glusterd(cls.servers) - if not ret: - g.log.error("Failed to start glusterd") - return False + g.log.error("Failed to start glusterd") + return False sleep(2) ret = wait_for_glusterd_to_start(cls.servers) if not ret: diff --git a/glustolibs-gluster/glustolibs/gluster/gluster_init.py b/glustolibs-gluster/glustolibs/gluster/gluster_init.py index 6e6b5aaf7..fd8f174ed 100644 --- a/glustolibs-gluster/glustolibs/gluster/gluster_init.py +++ b/glustolibs-gluster/glustolibs/gluster/gluster_init.py @@ -81,13 +81,17 @@ def stop_glusterd(servers): return True -def restart_glusterd(servers): +def restart_glusterd(servers, enable_retry=True): """Restart the glusterd on specified servers. Args: servers (str|list): A server|List of server hosts on which glusterd has to be restarted. + Kwargs: + enable_retry(Bool): If set to True than runs reset-failed else + do nothing. + Returns: bool : True if restarting glusterd is successful on all servers. False otherwise. @@ -104,10 +108,12 @@ def restart_glusterd(servers): if retcode != 0: g.log.error("Unable to restart glusterd on server %s", server) _rc = False - if not _rc: - return False - - return True + if not _rc and enable_retry: + ret = reset_failed_glusterd(servers) + if ret: + ret = restart_glusterd(servers) + return ret + return _rc def reset_failed_glusterd(servers): |