Ejemplo n.º 1
0
    def validate(self):
        """
        _validate_

        Check that basic required parameters are provided and do some more
        detailed checks on each of the parameters for the chain sub steps
        """
        RequestSchema.validate(self)

        try:
            numTasks = int(self['TaskChain'])
        except ValueError:
            msg = "TaskChain parameter is not an Integer"
            raise RuntimeError(msg)

        for i in range(1, numTasks + 1):
            if not self.has_key("Task%s" % i):
                msg = "No Task%s entry present in request" % i
                raise RuntimeError, msg

            if i == 1:
                if self['Task1'].has_key('InputDataset'):
                    validateProcFirstTask(self['Task1'])
                else:
                    validateGenFirstTask(self['Task1'])
                validateSubTask(self['Task1'], firstTask=True)
            else:
                validateSubTask(self['Task%s' % i])
Ejemplo n.º 2
0
    def validate(self):
        """
        _validate_
        
        Check that basic required parameters are provided and do some more
        detailed checks on each of the parameters for the chain sub steps
        """
        RequestSchema.validate(self)
        
        try:
            numTasks = int(self['TaskChain'])
        except ValueError:
            msg = "TaskChain parameter is not an Integer"
            raise RuntimeError(msg)
            
        for i in range (1, numTasks+1):
            if not self.has_key("Task%s" % i):
                msg = "No Task%s entry present in request" % i
                raise RuntimeError, msg

            if i == 1:
                if self['Task1'].has_key('InputDataset'):
                    validateProcFirstTask(self['Task1'])
                else:
                    validateGenFirstTask(self['Task1'])
                validateSubTask(self['Task1'], firstTask = True)
            else:
                validateSubTask(self['Task%s' % i])
Ejemplo n.º 3
0
    def validate(self):
        def _checkSiteList(list):
            if self.has_key(list) and hasattr(self,'allCMSNames'):
                for site in self[list]:
                    if not site in self.allCMSNames: #self.allCMSNames needs to be initialized to allow sitelisk check
                        raise RuntimeError("The site " + site + " provided in the " + list + " param has not been found. Check https://cmsweb.cern.ch/sitedb/json/index/SEtoCMSName?name= for a list of known sites")

        RequestSchema.validate(self)

        _checkSiteList("SiteWhitelist")
        _checkSiteList("SiteBlacklist")

        if self.get("RequestName").count(' ') > 0:
            raise RuntimeError("RequestName cannot contain spaces")
Ejemplo n.º 4
0
 def validate(self):
     RequestSchema.validate(self)
     if self['InputDataset'].count('/') != 3:
         raise RuntimeError, "Need three slashes in InputDataset "+self['InputDataset']
Ejemplo n.º 5
0
 def validate(self):
     RequestSchema.validate(self)
Ejemplo n.º 6
0
 def validate(self):
     RequestSchema.validate(self)
     assert(isinstance(self['OutputTiers'], list))
     for tier in self['OutputTiers']:
         assert(tier in ['RECO', 'AOD', 'ALCA'])
Ejemplo n.º 7
0
 def validate(self):
     RequestSchema.validate(self)
Ejemplo n.º 8
0
 def validate(self):
     RequestSchema.validate(self)
     if self['InputDataset'].count('/') != 3:
         raise RuntimeError, "Need three slashes in InputDataset " + self[
             'InputDataset']