def _lookup_res(self, resource_source, res_name): res = resource_source(Name=res_name) n = len(res) if n == 0: return None elif n > 1: raise exceptions.HyperVClusterException( _('Duplicate resource name %s found.') % res_name) else: return res[0]
def _init_hyperv_conn(self, host): try: self._conn_cluster = self._get_wmi_conn( self._MS_CLUSTER_NAMESPACE % host) self._cluster = self._conn_cluster.MSCluster_Cluster()[0] # extract this node name from cluster's path path = self._cluster.path_() self._this_node = re.search(r'\\\\(.*)\\root', path, re.IGNORECASE).group(1) except AttributeError: raise exceptions.HyperVClusterException( _("Could not initialize cluster wmi connection."))
def check_cluster_state(self): if len(self._get_cluster_nodes()) < 1: raise exceptions.HyperVClusterException( _("Not enough cluster nodes."))