diff options
Diffstat (limited to 'glustolibs-gluster/glustolibs/gluster/shared_storage_ops.py')
-rw-r--r-- | glustolibs-gluster/glustolibs/gluster/shared_storage_ops.py | 75 |
1 files changed, 51 insertions, 24 deletions
diff --git a/glustolibs-gluster/glustolibs/gluster/shared_storage_ops.py b/glustolibs-gluster/glustolibs/gluster/shared_storage_ops.py index baf7de77a..b1cf7030a 100644 --- a/glustolibs-gluster/glustolibs/gluster/shared_storage_ops.py +++ b/glustolibs-gluster/glustolibs/gluster/shared_storage_ops.py @@ -19,9 +19,10 @@ Description : Modules for enabling and disabling shared storoge """ -import time +from time import sleep from glusto.core import Glusto as g -from glustolibs.gluster.volume_ops import set_volume_options +from glustolibs.gluster.volume_ops import (set_volume_options, + get_volume_list) def enable_shared_storage(mnode): @@ -46,7 +47,7 @@ def enable_shared_storage(mnode): def disable_shared_storage(mnode): """ - Enables the shared storage + Disables the shared storage Args: mnode (str) : Node on which command is to be executed @@ -60,19 +61,19 @@ def disable_shared_storage(mnode): if not ret: g.log.error("Failed to disable shared storage") return False - g.log.info("Successfully disabled shared storage option") + g.log.info("Successfully disabled shared storage") return True def is_shared_volume_mounted(mnode): """ - Checks shared volume mounted after enabling it + Checks if shared storage volume is mounted Args: mnode (str) : Node on which command is to be executed Returns: - bool : True if successfully mounted shared volume. + bool : True if shared storage volume is mounted. False otherwise. """ halt = 20 @@ -81,36 +82,62 @@ def is_shared_volume_mounted(mnode): while counter < halt: _, out, _ = g.run(mnode, "df -h") if path in out: - g.log.info("Shared volume mounted successfully") + g.log.info("Shared storage volume is mounted") return True else: - time.sleep(2) + sleep(2) counter = counter + 2 - g.log.error("Shared volume not mounted") + g.log.info("Shared storage volume not mounted") return False -def is_shared_volume_unmounted(mnode): +def check_gluster_shared_volume(mnode, present=True): """ - Checks shared volume unmounted after disabling it + Check gluster shared volume present or absent. Args: mnode (str) : Node on which command is to be executed + present (bool) : True if you want to check presence + False if you want to check absence. Returns: - bool : True if successfully unmounted shared volume. + bool : True if shared volume is present or absent. False otherwise. """ - halt = 20 - counter = 0 - path = "/run/gluster/shared_storage" - while counter < halt: - _, out, _ = g.run(mnode, "df -h") - if path not in out: - g.log.info("Shared volume unmounted successfully") - return True - else: - time.sleep(2) + if present: + halt = 20 + counter = 0 + g.log.info("Wait for some seconds to create " + "gluster_shared_storage volume.") + + while counter < halt: + vol_list = get_volume_list(mnode) + if "gluster_shared_storage" in vol_list: + return True + else: + g.log.info("Wait for some seconds, since it takes " + "time to create gluster_shared_storage " + "volume.") + sleep(2) + counter = counter + 2 + + return False + + else: + halt = 20 + counter = 0 + g.log.info("Wait for some seconds to delete " + "gluster_shared_storage volume.") + + while counter < halt: + vol_list = get_volume_list(mnode) + if "gluster_shared_storage" not in vol_list: + return True + else: + g.log.info("Wait for some seconds, since it takes " + "time to delete gluster_shared_storage " + "volume.") + sleep(2) counter = counter + 2 - g.log.error("Shared volume not unmounted") - return False + + return False |