예제 #1
0
 def __init__(self, opt):
     cmd.Cmd.__init__(self)
     self.opt_ = opt
     self.matrices_ = {}
     tmp = MatrixReader(self.opt_)
     for what in tmp.files:
         self.opt_.what = what
         self.matrices_[what] = MatrixReader(self.opt_)
         self.matrices_[what].prepare(self.opt_.useInput, self.opt_.refRel,
                                     self.opt_.fromScratch)
     os.system("clear")
예제 #2
0
def runSelected(opt):

    mrd = MatrixReader(opt)
    mrd.prepare(opt.useInput, opt.refRel, opt.fromScratch)

    # test for wrong input workflows
    if opt.testList:
        definedSet = set([dwf.numId for dwf in mrd.workFlows])
        testSet = set(opt.testList)
        undefSet = testSet - definedSet
        if len(undefSet) > 0:
            raise ValueError('Undefined workflows: ' +
                             ', '.join(map(str, list(undefSet))))

    ret = 0
    if opt.show:
        mrd.show(opt.testList, opt.extended, opt.cafVeto)
        if opt.testList: print('testListected items:', opt.testList)
    else:
        mRunnerHi = MatrixRunner(mrd.workFlows, opt.nProcs, opt.nThreads)
        ret = mRunnerHi.runTests(opt)

    if opt.wmcontrol:
        if ret != 0:
            print('Cannot go on with wmagent injection with failing workflows')
        else:
            wfInjector = MatrixInjector(opt,
                                        mode=opt.wmcontrol,
                                        options=opt.wmoptions)
            ret = wfInjector.prepare(mrd, mRunnerHi.runDirs)
            if ret == 0:
                wfInjector.upload()
                wfInjector.submit()
    return ret
예제 #3
0
def runSelected(opt):

    mrd = MatrixReader(opt)
    mrd.prepare(opt.useInput, opt.refRel, opt.fromScratch)

    ret = 0
    if opt.show:
        mrd.show(opt.testList, opt.extended, opt.cafVeto)
        if opt.testList: print 'testListected items:', opt.testList
    else:
        mRunnerHi = MatrixRunner(mrd.workFlows, opt.nProcs, opt.nThreads)
        ret = mRunnerHi.runTests(opt)

    if opt.wmcontrol:
        if ret != 0:
            print 'Cannot go on with wmagent injection with failing workflows'
        else:
            wfInjector = MatrixInjector(opt,
                                        mode=opt.wmcontrol,
                                        options=opt.wmoptions)
            ret = wfInjector.prepare(mrd, mRunnerHi.runDirs)
            if ret == 0:
                wfInjector.upload()
                wfInjector.submit()
    return ret
예제 #4
0
 def __init__(self,what='standard',strict=True):
     from Configuration.PyReleaseValidation.MatrixReader import MatrixReader
     self.mrd = MatrixReader(what,noRun=True)
     self.mrd.prepare('all','',None)
     self.configBuilders={}
     self.processes={}
     self.strict=strict
예제 #5
0
def runSelected(opt):

    mrd = MatrixReader(opt)
    mrd.prepare(opt.useInput, opt.refRel, opt.fromScratch)

    # test for wrong input workflows
    if opt.testList:
        definedWF = []
        for dwf in mrd.workFlows:
            definedWF.append(dwf.numId)
        for twf in opt.testList:
            if twf not in definedWF:
                raise ValueError('Not defined workflow ', twf, ' requested')

    ret = 0
    if opt.show:
        mrd.show(opt.testList, opt.extended, opt.cafVeto)
        if opt.testList: print('testListected items:', opt.testList)
    else:
        mRunnerHi = MatrixRunner(mrd.workFlows, opt.nProcs, opt.nThreads)
        ret = mRunnerHi.runTests(opt)

    if opt.wmcontrol:
        if ret != 0:
            print('Cannot go on with wmagent injection with failing workflows')
        else:
            wfInjector = MatrixInjector(opt,
                                        mode=opt.wmcontrol,
                                        options=opt.wmoptions)
            ret = wfInjector.prepare(mrd, mRunnerHi.runDirs)
            if ret == 0:
                wfInjector.upload()
                wfInjector.submit()
    return ret
예제 #6
0
def showRaw(opt):

    mrd = MatrixReader(opt)
    mrd.showRaw(opt.useInput,
                opt.refRel,
                opt.fromScratch,
                opt.raw,
                opt.step1Only,
                selected=opt.testList)

    return 0
예제 #7
0
    except Exception, e:
        bdir = os.getenv('CMSSW_RELEASE_BASE', None)
        if bdir != None:
            sys.path.insert(
                0, bdir + '/src/Configuration/PyReleaseValidation/scripts')
        bdir = os.getenv('CMSSW_BASE', None)
        if bdir != None:
            sys.path.insert(
                0, bdir + '/src/Configuration/PyReleaseValidation/scripts')
        from runTheMatrix import MatrixReader
        from runTheMatrix import MatrixRunner

    newWorkFlows = False
    opts = MatrixOpts()
    try:
        mrd = MatrixReader()
    except:
        mrd = MatrixReader(opts)
        newWorkFlows = True
    mrd.prepare()

    for wf in mrd.workFlows:
        if str(wf.numId) not in testList: continue
        print "processing ", wf.numId

        if newWorkFlows: updateNewWF(wf)
        else: updateOldWF(wf)

    ret = 0
    if show:
        if not newWorkFlows: