def _check_heketi_and_gluster_pod_after_node_reboot(self, heketi_node): openshift_ops.switch_oc_project( self._master, self.storage_project_name) heketi_pod = openshift_ops.get_pod_names_from_dc( self._master, self.heketi_dc_name)[0] # Wait for heketi pod to become ready and running openshift_ops.wait_for_pod_be_ready(self._master, heketi_pod) heketi_ops.hello_heketi(self._master, self.heketi_server_url) # Wait for glusterfs pods to become ready if hosted on same node heketi_node_ip = openshift_ops.oc_get_custom_resource( self._master, 'pod', '.:status.hostIP', heketi_pod)[0] if heketi_node_ip in self.gluster_servers: gluster_pod = openshift_ops.get_gluster_pod_name_for_specific_node( self._master, heketi_node) # Wait for glusterfs pod to become ready openshift_ops.wait_for_pod_be_ready(self._master, gluster_pod) services = ( ("glusterd", "running"), ("gluster-blockd", "running"), ("tcmu-runner", "running"), ("gluster-block-target", "exited")) for service, state in services: openshift_ops.check_service_status_on_pod( self._master, gluster_pod, service, "active", state)
def _get_gluster_pod(self): """Fetch gluster pods""" # Fetch one gluster pod from its nodes g_hostname = list(self.gluster_servers_info.values())[0].get('manage') self.assertTrue(g_hostname, "Failed to fetch gluster hostname") g_pod = openshift_ops.get_gluster_pod_name_for_specific_node( self.node, g_hostname) return g_pod
def _wait_for_gluster_pod_after_node_reboot(self, node_hostname): """Wait for glusterfs pod to be ready after node reboot""" openshift_ops.wait_for_ocp_node_be_ready( self.ocp_client, node_hostname) gluster_pod = openshift_ops.get_gluster_pod_name_for_specific_node( self.ocp_client, node_hostname) openshift_ops.wait_for_pod_be_ready(self.ocp_client, gluster_pod) services = ( ("glusterd", "running"), ("gluster-blockd", "running"), ("tcmu-runner", "running"), ("gluster-block-target", "exited")) for service, state in services: openshift_ops.check_service_status_on_pod( self.ocp_client, gluster_pod, service, "active", state)