diff options
author | vamahaja <vamahaja@redhat.com> | 2019-09-11 13:28:35 +0530 |
---|---|---|
committer | Nitin Goyal <nigoyal@redhat.com> | 2019-10-17 12:39:50 +0530 |
commit | 654392bf300d5d915f5e4ea6145b441d86e4e579 (patch) | |
tree | a721462e00443fd4d05b34f118b2d885f5fa80ac /openshift-storage-libs/openshiftstoragelibs/baseclass.py | |
parent | d0ef143cc10a74ea2f8a311e1f97088c9b9edcfc (diff) |
Add test cases to perform heketi cluster operations with nodes
Change-Id: I22410ad8c81ca71ac9c2cbaddd66f086abcdf3c5
Signed-off-by: vamahaja <vamahaja@redhat.com>
Diffstat (limited to 'openshift-storage-libs/openshiftstoragelibs/baseclass.py')
-rw-r--r-- | openshift-storage-libs/openshiftstoragelibs/baseclass.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/openshift-storage-libs/openshiftstoragelibs/baseclass.py b/openshift-storage-libs/openshiftstoragelibs/baseclass.py index 715bbc64..1e52f560 100644 --- a/openshift-storage-libs/openshiftstoragelibs/baseclass.py +++ b/openshift-storage-libs/openshiftstoragelibs/baseclass.py @@ -22,6 +22,10 @@ from openshiftstoragelibs.heketi_ops import ( heketi_volume_info, heketi_volume_list, ) +from openshiftstoragelibs.node_ops import ( + node_add_iptables_rules, + node_delete_iptables_rules, +) from openshiftstoragelibs.openshift_ops import ( get_pod_name_from_dc, get_pv_name_from_pvc, @@ -32,9 +36,11 @@ from openshiftstoragelibs.openshift_ops import ( oc_delete, oc_get_custom_resource, oc_get_pods, + oc_label, scale_dcs_pod_amount_and_wait, switch_oc_project, wait_for_pvcs_be_bound, + wait_for_pods_be_ready, wait_for_resources_absence, ) from openshiftstoragelibs.openshift_storage_libs import ( @@ -364,6 +370,51 @@ class BaseClass(unittest.TestCase): return h_volume_info + def configure_node_to_run_gluster_node(self, storage_hostname): + glusterd_status_cmd = "systemctl is-active glusterd" + command.cmd_run(glusterd_status_cmd, storage_hostname) + + ports = ("24010", "3260", "111", "22", "24007", "24008", "49152-49664") + add_port = " ".join(["--add-port=%s/tcp" % port for port in ports]) + add_firewall_rule_cmd = "firewall-cmd --zone=public %s" % add_port + command.cmd_run(add_firewall_rule_cmd, storage_hostname) + + def configure_node_to_run_gluster_pod(self, storage_hostname): + ports = ( + "24010", "3260", "111", "2222", "24007", "24008", "49152:49664") + iptables_rule_pattern = ( + "-p tcp -m state --state NEW -m %s --%s %s -j ACCEPT") + iptables_rule_chain = "OS_FIREWALL_ALLOW" + iptables_rules = [] + for port in ports: + if ":" in port: + iptables_rules.append( + iptables_rule_pattern % ("multiport", "dports", port)) + else: + iptables_rules.append( + iptables_rule_pattern % ("tcp", "dport", port)) + node_add_iptables_rules( + storage_hostname, iptables_rule_chain, iptables_rules) + self.addCleanup( + node_delete_iptables_rules, + storage_hostname, iptables_rule_chain, iptables_rules) + + gluster_host_label = "glusterfs=storage-host" + gluster_pod_label = "glusterfs=storage-pod" + oc_label( + self.ocp_client[0], "node", storage_hostname, gluster_host_label) + self.addCleanup( + wait_for_pods_be_ready, + self.ocp_client[0], len(self.gluster_servers), + selector=gluster_pod_label) + self.addCleanup( + oc_label, + self.ocp_client[0], "node", storage_hostname, "glusterfs-") + + wait_for_pods_be_ready( + self.ocp_client[0], len(self.gluster_servers) + 1, + selector=gluster_pod_label) + def is_containerized_gluster(self): cmd = ("oc get pods --no-headers -l glusterfs-node=pod " "-o=custom-columns=:.spec.nodeName") |