コード例 #1
0
 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) 
コード例 #2
0
    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)
コード例 #3
0
 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
コード例 #4
0
 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