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)
Exemple #2
0
 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)