Exemple #1
0
    def __init__(self):
        aCTATLASProcess.__init__(self)

        # Get DN from configured proxy file
        uc = arc.UserConfig()
        uc.ProxyPath(str(self.arcconf.get(['voms', 'proxypath'])))
        cred = arc.Credential(uc)
        dn = cred.GetIdentityName()
        self.log.info("Running under DN %s" % dn)
        self.agisparser = aCTAGISParser(self.log)
        # Keep a panda object per proxy. The site "type" maps to a specific
        # proxy role
        self.pandas = {}
        # Map the site type to a proxy id in proxies table
        # In future for analysis the id will change once the job is picked up
        self.proxymap = {}

        actp = aCTProxy.aCTProxy(self.log)
        for role in self.arcconf.getList(['voms', 'roles', 'item']):
            attr = '/atlas/Role=' + role
            proxyid = actp.getProxyId(dn, attr)
            if not proxyid:
                raise Exception("Proxy with DN " + dn + " and attribute " +
                                attr + " was not found in proxies table")

            proxyfile = actp.path(dn, attribute=attr)
            # pilot role is mapped to analysis type
            if role == 'pilot':
                role = 'analysis'
            self.pandas[role] = aCTPanda.aCTPanda(self.log, proxyfile)
            self.proxymap[role] = proxyid

        # queue interval
        self.queuestamp = 0

        # AGIS queue info
        self.sites = {}
        # Panda info on activated jobs: {queue: {'rc_test': 2, 'rest': 40}}
        self.activated = {}
        # Flag for calling getJob no matter what to have a constant stream
        self.getjob = False
Exemple #2
0
 def __init__(self):
     aCTATLASProcess.__init__(self)
     self.agisparser = aCTAGISParser(self.log)
     self.sites = {}
     self.setSites()
Exemple #3
0
 def __init__(self):
     aCTATLASProcess.__init__(self)
     self.agisparser = aCTAGISParser(self.log)
Exemple #4
0
 def __init__(self):
     aCTATLASProcess.__init__(self)
     self.queues = self.conf.get(['agis', 'server'])
     self.oses = self.conf.get(['agis', 'objectstores'])
     self.queuesfile = self.conf.get(['agis', 'jsonfilename'])
     self.osesfile = self.conf.get(['agis', 'osfilename'])