コード例 #1
0
  def configureFromSection( self, mySection ):
    """
      reload from CS
    """
    self.log.debug( 'Configuring from %s' % mySection )
    self.errorMailAddress = gConfig.getValue( mySection + '/ErrorMailAddress' , self.errorMailAddress )
    self.alarmMailAddress = gConfig.getValue( mySection + '/AlarmMailAddress' , self.alarmMailAddress )
    self.mailFromAddress = gConfig.getValue( mySection + '/MailFromAddress'  , self.mailFromAddress )

    # following will do something only when call from reload including SubmitPool as mySection
    requestedRunningEndPoints = gConfig.getValue( mySection + '/RunningEndPoints', self.runningEndPoints.keys() )

    for runningEndPointName in requestedRunningEndPoints:
      self.log.verbose( 'Trying to configure RunningEndPoint:', runningEndPointName )
      if runningEndPointName in self.runningEndPoints:
        continue
      RunningBDEndPointDict = BigDataDB.getRunningEnPointDict( runningEndPointName )
      if not RunningBDEndPointDict['OK']:
        self.log.error( 'Error in RunningBDEndPointDict: %s' % RunningBDEndPointDict['Message'] )
        return RunningBDEndPointDict
      self.log.verbose( 'Trying to configure RunningBDEndPointDict:', RunningBDEndPointDict )
      RunningBDEndPointDict = RunningBDEndPointDict[ 'Value' ]
      for option in ['NameNode', 'Port', 'SiteName', 'BigDataSoftware',
                     'BigDataSoftwareVersion', 'HighLevelLanguage',
                     'LimitQueueJobsEndPoint', 'URL', 'PublicIP']:
        if option not in RunningBDEndPointDict.keys():
          self.log.error( 'Missing option in "%s" EndPoint definition:%s' % ( runningEndPointName, option ) )
          continue

      self.runningEndPoints[runningEndPointName] = {}
      self.runningEndPoints[runningEndPointName]['NameNode'] = RunningBDEndPointDict['NameNode']
      self.runningEndPoints[runningEndPointName]['Port'] = int ( RunningBDEndPointDict['Port'] )
      self.runningEndPoints[runningEndPointName]['SiteName'] = RunningBDEndPointDict['SiteName']
      self.runningEndPoints[runningEndPointName]['BigDataSoftware'] = RunningBDEndPointDict['BigDataSoftware']
      self.runningEndPoints[runningEndPointName]['BigDataSoftwareVersion'] = RunningBDEndPointDict['BigDataSoftwareVersion']
      self.runningEndPoints[runningEndPointName]['LimitQueueJobsEndPoint'] = int( RunningBDEndPointDict['LimitQueueJobsEndPoint'] )
      self.runningEndPoints[runningEndPointName]['URL'] = RunningBDEndPointDict['URL']
      self.runningEndPoints[runningEndPointName]['User'] = RunningBDEndPointDict['User']
      self.runningEndPoints[runningEndPointName]['PublicIP'] = RunningBDEndPointDict['PublicIP']

      self.runningEndPoints[runningEndPointName]['UsePilot'] = RunningBDEndPointDict['UsePilot']
      self.runningEndPoints[runningEndPointName]['IsInteractive'] = RunningBDEndPointDict['IsInteractive']

      self.runningEndPoints[runningEndPointName]['HighLevelLanguage'] = RunningBDEndPointDict['HighLevelLanguage']

      self.runningEndPoints[runningEndPointName]['Requirements'] = RunningBDEndPointDict['Requirements']
      self.runningEndPoints[runningEndPointName]['Requirements']['CPUTime'] = int ( self.runningEndPoints[runningEndPointName]['Requirements']['CPUTime'] )
コード例 #2
0
    def configureFromSection(self, mySection, endPoint):
        """
      get CS for monitoring endpoints
    """
        self.log.debug("Configuring from %s" % mySection)

        monitoringBDEndPointDict = BigDataDB.getRunningEnPointDict(endPoint)
        if not monitoringBDEndPointDict["OK"]:
            self.log.error("Error in RunninggBDEndPointDict: %s" % monitoringBDEndPointDict["Message"])
            return monitoringBDEndPointDict
        self.log.verbose("Trying to configure RunningBDEndPointDict:", monitoringBDEndPointDict)
        monitoringBDEndPointDict = monitoringBDEndPointDict["Value"]
        for option in [
            "NameNode",
            "Port",
            "SiteName",
            "BigDataSoftware",
            "BigDataSoftwareVersion",
            "HighLevelLanguage",
            "LimitQueueJobsEndPoint",
            "URL",
            "PublicIP",
        ]:
            if option not in monitoringBDEndPointDict.keys():
                self.log.error('Missing option in "%s" EndPoint definition:' % endPoint, option)
                continue

        self.monitoringEndPoints[endPoint] = {}
        self.monitoringEndPoints[endPoint]["NameNode"] = monitoringBDEndPointDict["NameNode"]
        self.monitoringEndPoints[endPoint]["Port"] = int(monitoringBDEndPointDict["Port"])
        self.monitoringEndPoints[endPoint]["SiteName"] = monitoringBDEndPointDict["SiteName"]
        self.monitoringEndPoints[endPoint]["BigDataSoftware"] = monitoringBDEndPointDict["BigDataSoftware"]
        self.monitoringEndPoints[endPoint]["BigDataSoftwareVersion"] = monitoringBDEndPointDict[
            "BigDataSoftwareVersion"
        ]
        self.monitoringEndPoints[endPoint]["LimitQueueJobsEndPoint"] = int(
            monitoringBDEndPointDict["LimitQueueJobsEndPoint"]
        )
        self.monitoringEndPoints[endPoint]["URL"] = monitoringBDEndPointDict["URL"]
        self.monitoringEndPoints[endPoint]["User"] = monitoringBDEndPointDict["User"]
        self.monitoringEndPoints[endPoint]["PublicIP"] = monitoringBDEndPointDict["PublicIP"]
        self.monitoringEndPoints[endPoint]["IsInteractive"] = monitoringBDEndPointDict["IsInteractive"]

        self.monitoringEndPoints[endPoint]["HighLevelLanguage"] = monitoringBDEndPointDict["HighLevelLanguage"]