コード例 #1
0
 def _recover_network_isolation(self, cluster_name, fail_node_name):
     cluster = ResourceManager.get_cluster(cluster_name)
     if not cluster:
         logging.error("RecoverManager : cluster not found")
         return
     fail_node = cluster.get_node_by_name(fail_node_name)
     logging.info(
         "RecoverManager : start to recover the network isolation of node %s"
         % (fail_node))
     self._recover_vm(cluster, fail_node)
     return self._recover_node_by_reboot(fail_node)
コード例 #2
0
 def _recover_hardware_fault(self, cluster_name, fail_node_name):
     cluster = ResourceManager.get_cluster(cluster_name)
     if not cluster:
         logging.error("RecoverManager : cluster not found")
         return
     fail_node = cluster.get_node_by_name(fail_node_name)
     logging.info(
         "RecoverManager : start to recover the hardware fault of node %s" %
         (fail_node))
     self._recover_vm(cluster, fail_node)
     return self._recover_node_by_reboot(fail_node)
コード例 #3
0
 def _recover_power_off(self, cluster_name, fail_node_name):
     cluster = ResourceManager.get_cluster(cluster_name)
     if not cluster:
         logging.error("RecoverManager : cluster not found")
         return
     fail_node = cluster.get_node_by_name(fail_node_name)
     print "fail node is %s, power fail" % fail_node.name
     print "start recovery vm"
     self._recover_vm(cluster, fail_node)
     print "end recovery vm"
     return self._recover_node_by_start(fail_node)
コード例 #4
0
 def _recover_os_hanged(self, cluster_name, fail_node_name):
     cluster = ResourceManager.get_cluster(cluster_name)
     if not cluster:
         logging.error("RecoverManager : cluster not found")
         return
     fail_node = cluster.get_node_by_name(fail_node_name)
     print "fail node is %s, OS fail" % fail_node.name
     logging.info("fail node is %s, OS fail", fail_node.name)
     print "start recovery vm"
     self._recover_vm(cluster, fail_node)
     print "end recovery vm"
     return self._recover_node_by_reboot(fail_node)
コード例 #5
0
 def _recover_instance_crash(self, cluster_name, failed_instance_name):
     cluster = ResourceManager.get_cluster(cluster_name)
     if not cluster:
         logging.warning(
             "RecoverManager, _recover_instance_crash: cluster not found")
         return
     failed_instance = cluster.get_protected_instance_by_instance_name(
         failed_instance_name)
     if failed_instance == None:
         logging.warning(
             "RecoverManager, _recover_instance_crash: failed instance not found"
         )
         return
     logging.info(
         "RecoverManager : start to recover the instance crash of instance %s"
         % (failed_instance_name))
     result = failed_instance.recover_instance_crash()
     return result