diff options
author | Shwetha-H-Panduranga <shwetha@gluster.com> | 2012-01-20 13:12:15 +0530 |
---|---|---|
committer | Shwetha-H-Panduranga <shwetha@gluster.com> | 2012-02-08 18:02:43 +0530 |
commit | 94603abafce645dea8144b0c564805a44808fec9 (patch) | |
tree | 22f54bdbee7e081ad7a7a050a5bae85c912c8ae1 /libs | |
parent | 2e06fd3e78331c0352fb9992a7ca3f49f86a2f54 (diff) |
Automating afr self-heal testcases
Change-Id: I32af843e2c375a869f811844656dd90fac283f4d
Signed-off-by: Shwetha-H-Panduranga <shwetha@gluster.com>
Diffstat (limited to 'libs')
-rw-r--r-- | libs/utils/afrutils.py | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/libs/utils/afrutils.py b/libs/utils/afrutils.py new file mode 100644 index 0000000..26b8e92 --- /dev/null +++ b/libs/utils/afrutils.py @@ -0,0 +1,115 @@ +import time +import atfutils +import glusterutils + +def wait_till_selfheal_completes(timeout): + """ + Wait for selfheal to Complete + """ + time.sleep(timeout) + selfheal_completion_status = 0 + return selfheal_completion_status + +def wait_till_brick_reboot(timeout): + """ + Wait for brick to reboot + """ + time.sleep(timeout) + reboot_completion_status = 0 + return reboot_completion_status + +def set_read_subvolume(from_server, subvolumeid): + """ + Parameters: + from_server: volume set read-subvolume will be executed on 'from_server' + subvolumeid (Ex: client-0) + """ + output = atfutils.get_new_output_obj() + active_volume = atfutils.get_active_volume() + if active_volume is None: + output["exitstatus"] = 1 + return output + + volumename = active_volume.volumename + subvolume = "-".join([volumename, subvolumeid]) + output = glusterutils.volume_set(from_server, + key="cluster.read-subvolume", + value=subvolume) + return output + +def disable_self_heal(from_server, *types): + """ + Parameters: + from_server: volume self-heal off will be executed on 'from_server' + *type : type of self heal (it can be data, entry, metadata) + Usage: + disable_self_heal("server1", data) + disable_self_heal("server1", data, entry) + disable_self_heal("server1", data, metadata) + disable_self_heal("server1", entry, metadata) + disable_self_heal("server1", data, entry, metadata) + """ + output = atfutils.get_new_output_obj() + selfheal = { + 'data' : 'cluster.data-self-heal', + 'entry' : 'cluster.entry-self-heal', + 'metadata' : 'cluster.metadata-self-heal' + } + + for _type in types: + if selfheal.has_key(_type): + output = glusterutils.volume_set(from_server, key=selfheal[_type], + value="off") + assert_success_status = atfutils.assert_success(output["exitstatus"]) + if assert_success_status is not 0: + return output + + if output['exitstatus'] is None: + output['exitstatus'] = 1 + output['stderrdata'] = "Unable to Disable self-heal %s" % str(types) + else: + output['exitstatus'] = 0 + output['stdoutdata'] = "Successfully Disabled self-healed %s" % str(types) + + return output + +def setup_testenv_gfid_heal(): + """ + """ + output = glusterutils.glusterd_start_allservers(force=True) + assert_success_status = atfutils.assert_success(output["exitstatus"]) + if assert_success_status is not 0: + return assert_success_status + + output = glusterutils.create_brick_allservers() + assert_success_status = atfutils.assert_success(output["exitstatus"]) + if assert_success_status is not 0: + return assert_success_status + + return 0 + +def create_volume_gfid_heal(from_server): + """ + """ + output = glusterutils.peer_probe(from_server) + assert_success_status = atfutils.assert_success(output["exitstatus"]) + if assert_success_status is not 0: + return assert_success_status + + output = glusterutils.volume_create(from_server) + assert_success_status = atfutils.assert_success(output["exitstatus"]) + if assert_success_status is not 0: + return assert_success_status + + output = glusterutils.volume_set(from_server, key="self-heal-daemon", + value="off") + assert_success_status = atfutils.assert_success(output["exitstatus"]) + if assert_success_status is not 0: + return assert_success_status + + glusterutils.volume_set(from_server, key="diagnostics.client-log-level", + value="DEBUG") + + glusterutils.volume_set(from_server, key="diagnostics.brick-log-level", + value="DEBUG") + return 0 |