Esempio n. 1
0
   def modifyWorkunit(wuId, wlId=None, builderId=None, areaId=None):
      """Modify workunit (workunit id = @wuId) info
      """
      logger.info("Modify workunit with info: %s" % vars())
      wuObj = {}
      addId(wuObj, 'workload', wlId)
      addId(wuObj, 'area', areaId)

      if builderId:
         #If modify builder id, need to update builddef info
         wuData = Workunit(wuId)
         wuData.initCatRawInfo()
         builddefObj = wuData.getCatObj()['builddefs'][0]
         build_def_id = builddefObj['id']
         build_obj = {}
         addId(build_obj, 'builder', builderId)
         rc, result = patchResultToCat('builddef', build_def_id,
                                       build_obj, apiVersion='v3.0')

      if wlId is None and areaId is None:
         return (rc, result)
      else:
         wuObj = {}
         addId(wuObj, 'workload', wlId)
         addId(wuObj, 'area', areaId)
         return patchResultToCat('workunit', wuId, wuObj, apiVersion='v3.0')
Esempio n. 2
0
   def triageBugIdToTestruns(testrunIds, bugId=None, bugIdInCat=None):
      if not bugId and not bugIdInCat:
         raise Exception("Please provide at least one argument from bugId, bugIdInCat")

      # TODO: use api v3.0 once it's more stable
      apiVersion = 'v2.0'
      testrunIds = [str(testrunId) for testrunId in testrunIds]
      if bugIdInCat:
         logger.info("Triaging bug %s (id in cat DB) to testruns %s...",
                     bugIdInCat, testrunIds)
         bugObj = {}
         addValue(bugObj, 'testruns', testrunIds, convertToStr=False)
         return patchResultToCat('bugzilla', bugIdInCat, bugObj,
                                 apiVersion=apiVersion)
      else:
         logger.info("Triaging PR%s to testruns %s...", bugId, testrunIds)
         bugId_in_cat = Bug.getBugId(bugId)
         if bugId_in_cat:
            bugObj = {}
            addValue(bugObj, 'testruns', testrunIds,
                     convertToStr=False)
            return patchResultToCat('bugzilla', bugId_in_cat, bugObj,
                                    apiVersion=apiVersion)
         else:
            bugObj = {}
            addValue(bugObj, 'testruns', testrunIds,
                     convertToStr=False)
            addValue(bugObj, 'number', bugId, True)
            return postResultToCat('bugzilla', bugObj, apiVersion=apiVersion)
Esempio n. 3
0
 def patchHelpTicketInCAT(ticketIdInCat, testrunID):
     helpnows = {}
     addValue(helpnows, 'testrun_ids', [str(testrunID)], convertToStr=False)
     return patchResultToCat('helpnow',
                             ticketIdInCat,
                             helpnows,
                             apiVersion='v3.0')
Esempio n. 4
0
    def modifyWorkload(wlId,
                       name=None,
                       executable=None,
                       launchhost=None,
                       timeout=None,
                       needsreboot=None,
                       skipboot=None):
        """Modify workload (workload id = @wlId) info
      """
        logger.debug("Modifying workload: %s" % vars())
        wlObj = {}

        if name:
            addValue(wlObj, 'name', name)

        if executable:
            addValue(wlObj, 'executable', executable)

        if launchhost:
            addValue(wlObj, 'launch_host', launchhost)

        if timeout:
            addValue(wlObj, 'timeout', timeout)

        if needsreboot:
            addValue(wlObj, 'needs_reboot', needsreboot, convertToStr=False)

        if skipboot:
            addValue(wlObj, 'skip_boot', skipboot, convertToStr=False)

        return patchResultToCat('workload', wlId, wlObj)
Esempio n. 5
0
 def modifyWorkunitIteration(wuId, iteration):
    """Set workunit iteration as @iteration
    """
    logger.info("Modify workunit %s iteration as %s" % (wuId, iteration))
    wuObj = {}
    addValue(wuObj, 'run_every_nth_iteration', iteration, convertToStr=False)
    return patchResultToCat('workunit', wuId, wuObj, apiVersion='v3.0')
Esempio n. 6
0
 def modifyWorkunitParallelStatus(wuId, parallel):
    """@enable: True, parallel workunit. False, sequence it
    """
    logger.info("Modify workunit %s parallel status as %s", wuId, parallel)
    wuObj = {}
    addValue(wuObj, 'parallel', parallel, convertToStr=False)
    return patchResultToCat('workunit', wuId, wuObj, apiVersion='v3.0')
Esempio n. 7
0
 def modifyWorkunitEnableStatus(wuId, enable):
    """@enable: True, enable workunit. False, disable it
    """
    logger.info("Modify workunit %s enable status as %s", wuId, enable)
    wuObj = {}
    addValue(wuObj, 'enabled', enable, convertToStr=False)
    return patchResultToCat('workunit', wuId, wuObj, apiVersion='v3.0')
Esempio n. 8
0
   def modifyTesterStatus(testerId, status):
      logger.info("Modifying tester: %s" % vars())
      choices = ['enable', 'disable', 'abort']
      if status not in choices:
         raise Exception("status %s invalid, choices: %s" % (status, choices))

      testerObj = {"action": status}
      return patchResultToCat('tester', testerId, testerObj, apiVersion='v3.0')
Esempio n. 9
0
    def modifyAreaowner(areaownerId, owners=None, manager=None):
        logger.info("Modify areaowner with info: %s" % vars())
        areaOwnerObj = {}
        if owners is not None:
            owners = '%s' % ','.join(owners)
            addValue(areaOwnerObj, 'owners', owners)
            addValue(areaOwnerObj, 'bug_shepherds', owners)
            addValue(areaOwnerObj, 'triage_owners', owners)

        if manager is not None:
            addValue(areaOwnerObj, 'cost_center_manager', manager)

        return patchResultToCat('areaowner', areaownerId, areaOwnerObj, 'v3.0')
Esempio n. 10
0
 def ignoreTestrun(testrunId, ignoredReason):
    jsonData = {}
    jsonData['ignoredby'] = SCRIPT_USER
    jsonData['ignored'] = True
    jsonData['ignore_reason'] = ignoredReason
    (ret, _) = patchResultToCat('testrun', testrunId,
                                jsonData, apiVersion='v3.0')
    if ret:
       logger.info("Succeed to ignore testrun: %s with reason %s",
                    testrunId, ignoredReason)
    else:
       logger.info("Failed to ignore testrun: %s, please triage it manually",
                   testrunId)