def getFailoverdomainPrefNode(self, failoverdomain): """ @param failoverdomain: failoverdomain @type failoverdomain: string @return: Name of node which is prefered in failovercase of given failoverdomain @rtype: string """ #no defaultvalue specified because every dailoverdomain needs to have one or more failoverdomainnodes and priority is a needed attribute _tmp1 = self.getFailoverdomainNodes(failoverdomain) #search for lowest priority minprio = "0" for i in range(len(_tmp1)): _xpath=xpathjoin(RedHatClusterRepository.getDefaultClusterFailoverDomain(failoverdomain), RedHatClusterRepository.element_failoverdomainnode+"[@"+RedHatClusterRepository.attribute_failoverdomainnode_name+"=\""+_tmp1[i]+"\"]", "@"+RedHatClusterRepository.attribute_failoverdomainnode_priority) self.log.debug("query lowest priority of failoverdomainnodes belonging to %s : %s" %(failoverdomain,_xpath)) _tmp2 = self.queryValue(_xpath)[0] if (minprio == "0") or (_tmp2 < minprio): minprio = _tmp2 #get node with lowest priority try: _xpath=xpathjoin(RedHatClusterRepository.getDefaultClusterFailoverDomain(failoverdomain), RedHatClusterRepository.element_failoverdomainnode+"[@"+RedHatClusterRepository.attribute_failoverdomainnode_priority+"=\""+str(minprio)+"\"]", "@"+RedHatClusterRepository.attribute_failoverdomainnode_name) self.log.debug("get failoverprefdomainnode from failoverdomain %s: %s" %(failoverdomain, _xpath)) return self.queryValue(_xpath)[0] except IndexError: raise NameError("Cannot find prefered failoverdomainnode for domain %s." %failoverdomain)
def getFailoverdomainPrefNode(self, failoverdomain): """ @param failoverdomain: failoverdomain @type failoverdomain: string @return: Name of node which is prefered in failovercase of given failoverdomain @rtype: string """ #no defaultvalue specified because every dailoverdomain needs to have one or more failoverdomainnodes and priority is a needed attribute _tmp1 = self.getFailoverdomainNodes(failoverdomain) #search for lowest priority minprio = "0" for i in range(len(_tmp1)): _xpath = xpathjoin( RedHatClusterRepository.getDefaultClusterFailoverDomain( failoverdomain), RedHatClusterRepository.element_failoverdomainnode + "[@" + RedHatClusterRepository.attribute_failoverdomainnode_name + "=\"" + _tmp1[i] + "\"]", "@" + RedHatClusterRepository.attribute_failoverdomainnode_priority) self.log.debug( "query lowest priority of failoverdomainnodes belonging to %s : %s" % (failoverdomain, _xpath)) _tmp2 = self.queryValue(_xpath)[0] if (minprio == "0") or (_tmp2 < minprio): minprio = _tmp2 #get node with lowest priority try: _xpath = xpathjoin( RedHatClusterRepository.getDefaultClusterFailoverDomain( failoverdomain), RedHatClusterRepository.element_failoverdomainnode + "[@" + RedHatClusterRepository.attribute_failoverdomainnode_priority + "=\"" + str(minprio) + "\"]", "@" + RedHatClusterRepository.attribute_failoverdomainnode_name) self.log.debug( "get failoverprefdomainnode from failoverdomain %s: %s" % (failoverdomain, _xpath)) return self.queryValue(_xpath)[0] except IndexError: raise NameError( "Cannot find prefered failoverdomainnode for domain %s." % failoverdomain)
def getFailoverdomainNodes(self, failoverdomain): """ @param failoverdomain: failoverdomain @type failoverdomain: string @return: Names of nodes which belong to the given failoverdomain @rtype: string """ #no defaultvalue specified because every dailoverdomain needs to have one or more failoverdomainnodes _xpath=xpathjoin(RedHatClusterRepository.getDefaultClusterFailoverDomain(failoverdomain), RedHatClusterRepository.element_failoverdomainnode, "@"+RedHatClusterRepository.attribute_failoverdomainnode_name) self.log.debug("get failoverdomainnodes from failoverdomain %s: %s" %(failoverdomain,_xpath)) _tmp1 = self.queryValue(_xpath) return _tmp1
def getFailoverdomainNodes(self, failoverdomain): """ @param failoverdomain: failoverdomain @type failoverdomain: string @return: Names of nodes which belong to the given failoverdomain @rtype: string """ #no defaultvalue specified because every dailoverdomain needs to have one or more failoverdomainnodes _xpath = xpathjoin( RedHatClusterRepository.getDefaultClusterFailoverDomain( failoverdomain), RedHatClusterRepository.element_failoverdomainnode, "@" + RedHatClusterRepository.attribute_failoverdomainnode_name) self.log.debug("get failoverdomainnodes from failoverdomain %s: %s" % (failoverdomain, _xpath)) _tmp1 = self.queryValue(_xpath) return _tmp1