Пример #1
0
def Run(idx_row):

    output_msg = ''
    KEY = '1bAdzoB9bg6nbyxCOBsTAWSSJy6FHNfmkrIDqY-Nmdi0'
    sheet = '2016'

    title_list = GetTitleFromSpreadsheet(KEY,
                                         sheet,
                                         i_column="A",
                                         f_column="Z")
    info_list = GetInfoFromSpreadsheet(idx_row,
                                       KEY,
                                       sheet,
                                       i_column="A",
                                       f_column="Z")

    this_dic = {}

    for i in range(0, len(title_list)):
        title = title_list[i]
        #print title
        value = info_list[i]
        #print value
        this_dic[title] = value

    FullFragment = MakeFullFragment(this_dic["gridpackPATH"],
                                    this_dic["PSfragment"],
                                    this_dic["card_ref"])
    generator_parameters=Make_generator_parameters(this_dic["cross_section"],\
                                                   this_dic["filter_efficiency"],\
                                                   this_dic["filter_efficiency_error"],\
                                                   this_dic["match_efficiency"],\
                                                   this_dic["match_efficiency_error"],\
                                                   this_dic["negative_weights_fraction"])

    print this_dic['dataset_name']
    new_request = {
        'pwg': 'HIG',
        'member_of_campaign': this_dic['member_of_campaign'],
        'dataset_name': this_dic['dataset_name'],
        'generators': this_dic['generators'].split(','),
        "fragment": FullFragment,
        'generator_parameters': generator_parameters,
        'total_events': int(this_dic['total_events']),
        'mcdb_id': 0,
        'size_event': [600],
        'time_event': [60.]
    }

    if this_dic["PrepID"] != '':
        #print "ALREADY"
        mcm = McM(dev=False)
        this_request = mcm.get("requests", this_dic["PrepID"])

        for key in new_request:

            this_request[key] = new_request[key]
        update = mcm.update('requests', this_request)

        return str(update)
    # push it to McM
    #mcm = McM(dev=False,cookie="dev-cookie.txt")
    #mcm = McM(dev=False,cookie='prod-cookie.txt')
    mcm = McM(dev=False)
    put_answer = mcm.put('requests', new_request)

    if put_answer.get('results'):
        prepid = put_answer['prepid']

        print('New PrepID: %s' % (prepid))
        #f.write(prepid+'\n')
        output_msg = str(prepid)
    else:
        print('Something went wrong while creating a request. %s' %
              (dumps(put_answer)))
        #f.write("fail,idx_row-->"+this_dic['dataset_name']+'\n')
        output_msg = "fail" + str(idx_row) + "-->" + this_dic['dataset_name']
    #print output_msg
    return output_msg
Пример #2
0
    f.write(clone_answer['prepid'] + '\n')

    #modify and update cloned request
    #note that these modifications must be done after cloning since they might otherwise be reset
    cloned_request = mcm.get('requests', clone_answer['prepid'])

    total_events = request['total_events']

    modifications = {  #'dataset_name'   : datasetname,
        #'fragment'       : fragment,
        #'extension'      : 0,
        'total_events': int(total_events * 1.5),
        #'process_string' : '',
        #'memory'         : 4000,
        'keep_output': [False]
        #'keep_output'    : [True] # Special for long-lived models
    }

    # Make predefined modifications
    for key in modifications:
        cloned_request[key] = modifications[key]

    cloned_request['sequences'][0][
        'customise_commands'] = '"process.source.numberEventsInLuminosityBlock = cms.untracked.uint32(200)"'

    #update the cloned request
    update_response = mcm.update('requests', cloned_request)
    updated_clone = mcm.get('requests', clone_answer['prepid'])

f.close()
              (request['prepid']))
        continue

    #print('Will leave %s' % (member_of_chains[-1]))
    # Leave the last (with biggest number) chain
    #member_of_chains = member_of_chains[:-1]

    print('Will delete:')
    for chain_prepid in member_of_chains:
        print('    %s' % (chain_prepid))

    for chain_prepid in member_of_chains:
        print('Deleting %s' % (chain_prepid))
        chain = mcm.get('chained_requests', chain_prepid)
        chain['action_parameters']['flag'] = False
        mcm.update('chained_requests', chain)
        requests_in_chain = mcm.get('requests',
                                    query='member_of_chain=%s' %
                                    (chain_prepid))

        requests_inverted = []

        for request_in_chain in requests_in_chain:

            requests_inverted.append(request_in_chain)

        requests_inverted = list(reversed(requests_inverted))

        for request_in_chain in requests_inverted:

            print("Which requests are in the chain? " +
Пример #4
0
                               query='prepid=%s' % (chained_request_id))

    if (len(chained_requests[0]['chain']) < 3):
        continue

    if ('PU0' in chained_requests[0]['prepid']):
        continue

    request_prepid_to_update = chained_requests[0]['chain'][1]

    request_to_update = mcm.get('requests', request_prepid_to_update)

    field_to_update = 'tags'

    print('Request\'s "%s" field "%s" BEFORE update: %s' %
          (request_prepid_to_update, field_to_update,
           request_to_update[field_to_update]))

    # Modify what we want
    request_to_update[field_to_update] = ["MTDTDRAutumn18PU200DR"]

    # Push it back to McM
    update_response = mcm.update('requests', request_to_update)
    print('Update response: %s' % (update_response))

    # Fetch the request again, after the update, to check whether value actually changed
    request2 = mcm.get('requests', request_prepid_to_update)
    print(
        'Request\'s "%s" field "%s" AFTER update: %s' %
        (request_prepid_to_update, field_to_update, request2[field_to_update]))
Пример #5
0
Take all chained requests that these requests are members of.
Leave only those chained requests that have MiniAODv3 in their name.
Skip (remove) chained request with biggest number (the last one).
For all chained requests that are left in the list, set action_parameters.flag to False,
delete requests in them if these requests appear only in that chained request,
delete chained request itself.
"""
import sys
sys.path.append('/afs/cern.ch/cms/PPD/PdmV/tools/McM/')
from rest import McM

# McM instance
mcm = McM(dev=False,
          cookie='/afs/cern.ch/user/p/pgunnell/private/prod-cookie.txt')

# Iterate through all requests in the range

chain_prepid = 'chain_RunIIFall18pLHE_*Fall18GS*_flowRunIIFall18DR*'

chains = mcm.get('chained_campaigns', query='prepid=%s' % (chain_prepid))

for chain in chains:

    print chain['prepid']

    chain['valid'] = False

    answer = mcm.update('chained_campaigns', chain)

    print answer
Пример #6
0
            print(
                str(root_id_req['dataset_name']) + '    ' +
                str(root_id_req['prepid']) +
                '    https://cms-pdmv.cern.ch/mcm/requests?prepid=' +
                str(root_id_req['prepid']))

            answer = mcm._McM__get('restapi/requests/approve/%s' %
                                   (root_mini_req['prepid']))
            answer = mcm._McM__get('restapi/requests/approve/%s' %
                                   (root_nano_req['prepid']))
            #mcm._McM__get('restapi/chained_requests/flow/%s/force' % (chained_request['prepid']))

            continue

            chained_request['action_parameters']['flag'] = False
            answer = mcm.update('chained_requests', chained_request)
            print answer

            if (len(chained_request['chain']) > 3):
                mcm._McM__get('restapi/chained_requests/rewind/%s' %
                              (chained_request['prepid']))
                #mcm._McM__get('restapi/requests/reset/%s' % (root_nano_req['prepid']))
                answer = mcm.delete('requests', root_nano_req['prepid'])
                print answer

            mcm._McM__get('restapi/chained_requests/rewind/%s' %
                          (chained_request['prepid']))
            #mcm._McM__get('restapi/requests/reset/%s' % (root_mini_req['prepid']))
            answer = mcm.delete('requests', root_mini_req['prepid'])
            print answer
def Run(idx_row,KEY,sheet):

    output_msg=''
    #KEY='1bAdzoB9bg6nbyxCOBsTAWSSJy6FHNfmkrIDqY-Nmdi0'
    #sheet='2018'




    info_list=GetInfoFromSpreadsheet(idx_row,KEY,sheet,i_column="A",f_column="Z")
    if len(info_list)==0: 
        print "pass"
        return
    title_list=GetTitleFromSpreadsheet(KEY,sheet,i_column="A",f_column="Z")
    this_dic={}

    for i in range(0,len(title_list)):
        title=title_list[i]
        #print title
        value=info_list[i]
        
        #print value
        if not value.replace(' ','')=='':
            #print title 
            this_dic[title]=value
        
    
    ##Combine card refs
    if 'card_ref2' in this_dic:
        this_dic['card_ref']=this_dic['card_ref']+'\n'+this_dic['card_ref2']
    

    if not 'size_event' in this_dic:
        this_dic['size_event']=[600]
    elif this_dic['size_event'].replace(' ','')=='':
        this_dic['size_event']=[600]
    if not 'time_event' in this_dic:
        this_dic['time_event']=[60]
    elif this_dic['time_event'].replace(' ','')=='':
        this_dic['time_event']=[60.]
    FullFragment=MakeFullFragment(this_dic["gridpackPATH"], this_dic["PSfragment"],this_dic["card_ref"])
    generator_parameters=Make_generator_parameters(float(this_dic["cross_section"]),\
                                                   float(this_dic["filter_efficiency"]),\
                                                   float(this_dic["filter_efficiency_error"]),\
                                                   float(this_dic["match_efficiency"]),\
                                                   float(this_dic["match_efficiency_error"]),\
                                                   float(this_dic["negative_weights_fraction"]))


    print this_dic['dataset_name']
    #print this_dic['PrepID']

    
    new_request = {'pwg': 'HIG', 'member_of_campaign': this_dic['member_of_campaign'],'dataset_name':this_dic['dataset_name'],'generators':this_dic['generators'].split(','),"fragment":FullFragment,'generator_parameters':generator_parameters,'total_events':int(this_dic['total_events']),'mcdb_id':0,'size_event':this_dic['size_event'],'time_event':this_dic['time_event']}

    check_reqeust_info(this_dic)

    if 'PrepID' in this_dic:
        #print "ALREADY"
        mcm = McM(dev=False)
        this_request=mcm.get("requests",this_dic["PrepID"])

        for key in new_request:
            
            this_request[key]=new_request[key]
        if not this_request['approval'] == 'none':
            print "already submiited"
            return this_dic["PrepID"]+'not None status, not updated'

        update=mcm.update('requests', this_request)
        
        return this_dic["PrepID"]+str(update['results'])
    # push it to McM
    #mcm = McM(dev=False,cookie="dev-cookie.txt")
    #mcm = McM(dev=False,cookie='prod-cookie.txt')
    mcm = McM(dev=False)
    put_answer = mcm.put('requests', new_request)
    
    if put_answer.get('results'):
        prepid=put_answer['prepid']
        
        print('New PrepID: %s' % (prepid))
        #f.write(prepid+'\n')
        output_msg=str(prepid)
    else:
        print('Something went wrong while creating a request. %s' % (dumps(put_answer)))
        #f.write("fail,idx_row-->"+this_dic['dataset_name']+'\n')
        output_msg="fail"+str(idx_row)+"-->"+this_dic['dataset_name']
    #print output_msg
    return output_msg
Пример #8
0
        present_ul18 = False
        present_ul16 = False
        present_ul16apv = False

        if request_ul17['interested_pwg']:
            text_pwg = ','.join(request_ul17['interested_pwg'])
        else:
            text_pwg = request_ul17['prepid'].split('-')[0]

        for request_ul18 in requests_ul18:
            if request_ul18['dataset_name'] == dataset_name:
                request_ul18['interested_pwg'] = interested_pwgs
                logger.info('Will update (UL18) %s interested PWGs to %s',
                            request_ul18['prepid'], interested_pwgs)
                update_response = mcm.update('requests', request_ul18)
                logger.info('Update response (UL18): %s', update_response)

                present_ul18 = True

        for request_ul16 in requests_ul16:
            if request_ul16['dataset_name'] == dataset_name:
                request_ul16['interested_pwgs'] = interested_pwgs
                logger.info('Will update (UL16) %s interested PWGs to %s',
                            request_ul16['prepid'], interested_pwgs)
                update_response = mcm.update('requests', request_ul16)
                logger.info('Update response (UL16): %s', update_response)

                present_ul16 = True

        for request_ul16apv in requests_ul16apv:
Пример #9
0
                               (chained_request['prepid']))
        print answer

        answer = mcm._McM__get('restapi/requests/reset/%s' %
                               (request['prepid']))
        print answer

for request in requests:

    break

    print request['prepid']
    request = mcm.get('requests', request['prepid'])
    request[field_to_update] = 'new_pmx'

    answer = mcm.update('requests', request)
    print answer

    request2 = mcm.get('requests', request['prepid'])

    print request2['process_string']

for request in requests:

    break

    answer = mcm._McM__get('restapi/requests/approve/%s' % (request['prepid']))
    print answer

    chained_requests = request['member_of_chain']