def main(): #url = 'cmsweb.cern.ch' url = 'https://cmsweb-testbed.cern.ch' if len(sys.argv) != 3: print "Usage: python createSitesBackfill.py JSON_FILE SITE1,SITE2,..." sys.exit(0) jsonFile = sys.argv[1] siteList = sys.argv[2].split(',') #read request params configJson = json.load(open(jsonFile, 'r')) #wrap config in an object config = Config(configJson) reqMgrClient = ReqMgrClient(url, config) #set up common stuff config.requestArgs["createRequest"]["Campaign"] += "SiteBackfill" reqStr = config.requestArgs["createRequest"]["RequestString"] config.requestArgs["assignRequest"]["AcquisitionEra"] += "SiteBackfill" config.requestArgs["createRequest"]["Campaign"] += "SiteBackfill" #create a request for each site for site in siteList: #setup creation stuff config.requestArgs["createRequest"]["RequestString"] = reqStr+"-"+site config.requestArgs["createRequest"]["PrepID"] = None r = reqMgrClient.createRequest(config) print "Created:", r reqMgrClient.changeSplitting(config) print "Changed splitting" #change assignment stuff config.requestArgs["assignRequest"]["SiteWhitelist"] = [site] config.requestArgs["assignRequest"]["ProcessingString"] = "SITE_TEST_"+site #assign reqMgrClient.assignRequests(config) print "Assigned: ", r ,"to",site
def main(): url = 'https://cmsweb.cern.ch' testbed_url = 'https://cmsweb-testbed.cern.ch' #url = 'https://alan-cloud1.cern.ch' #Create option parser usage = "usage: %prog [options] JSON_FILE SITE1,SITE2,..." parser = OptionParser(usage=usage) parser.add_option( "-t", "--team", dest="team", default=None, help="Team for assigning, if empty, the one on the Json file") parser.add_option("--testbed", action="store_true", dest="testbed", default=False, help="Use testbed ReqMgr instead of production ReqMgr.") parser.add_option("-m", "--multi", action="store_true", dest="multi", default=False, help="Assign to all sites") (options, args) = parser.parse_args() if len(args) != 2: parser.error("Provide the JSON file and the site list") sys.exit(1) #the input options jsonFile = args[0] siteList = args[1].split(',') if options.testbed: url = testbed_url #read request params and wrap configJson = json.load(open(jsonFile, 'r')) config = Config(configJson) reqMgrClient = ReqMgrClient(url, config) #set up common stuff config.requestArgs["createRequest"]["Campaign"] += "SiteBackfill" reqStr = config.requestArgs["createRequest"]["RequestString"] config.requestArgs["assignRequest"]["AcquisitionEra"] += "SiteBackfill" config.requestArgs["createRequest"]["Campaign"] += "SiteBackfill" if options.team: config.requestArgs["assignRequest"]["Team"] = options.team #create a request for each site if not options.multi: for site in siteList: #setup creation stuff config.requestArgs["createRequest"][ "RequestString"] = reqStr + "-" + site + "Backfill" config.requestArgs["createRequest"]["PrepID"] = None r = reqMgrClient.createRequest(config) print "Created:" print r reqMgrClient.changeSplitting(config) print "Changed splitting" #change assignment stuff config.requestArgs["assignRequest"]["SiteWhitelist"] = [site] config.requestArgs["assignRequest"][ "ProcessingString"] = "SITE_TEST_" + site #assign reqMgrClient.assignRequests(config) print "Assigned to", site else: #setup creation stuff config.requestArgs["createRequest"][ "RequestString"] = reqStr + "-SiteBackfill" config.requestArgs["createRequest"]["PrepID"] = None r = reqMgrClient.createRequest(config) print "Created:" print r reqMgrClient.changeSplitting(config) print "Changed splitting" #change assignment stuff config.requestArgs["assignRequest"]["SiteWhitelist"] = siteList config.requestArgs["assignRequest"]["ProcessingString"] = "SITE_TEST" #assign reqMgrClient.assignRequests(config) print "Assigned to", siteList
def main(): url = 'https://cmsweb.cern.ch' testbed_url = 'https://cmsweb-testbed.cern.ch' #url = 'https://alan-cloud1.cern.ch' #Create option parser usage = "usage: %prog [options] JSON_FILE SITE1,SITE2,..." parser = OptionParser(usage=usage) parser.add_option("-t","--team", dest="team", default=None, help="Team for assigning, if empty, the one on the Json file") parser.add_option("--testbed",action="store_true", dest="testbed", default=False, help="Use testbed ReqMgr instead of production ReqMgr.") (options, args) = parser.parse_args() if len(args) != 2: parser.error("Provide the JSON file and the site list") sys.exit(1) #the input options jsonFile = args[0] siteList = args[1].split(',') if options.testbed: url = testbed_url #read request params and wrap configJson = json.load(open(jsonFile, 'r')) config = Config(configJson) reqMgrClient = ReqMgrClient(url, config) #set up common stuff config.requestArgs["createRequest"]["Campaign"] += "SiteBackfill" reqStr = config.requestArgs["createRequest"]["RequestString"] config.requestArgs["assignRequest"]["AcquisitionEra"] += "SiteBackfill" config.requestArgs["createRequest"]["Campaign"] += "SiteBackfill" if options.team: config.requestArgs["assignRequest"]["Team"] = options.team #create a request for each site for site in siteList: #setup creation stuff config.requestArgs["createRequest"]["RequestString"] = reqStr+"-"+site+"Backfill" config.requestArgs["createRequest"]["PrepID"] = None r = reqMgrClient.createRequest(config) print "Created:" print r reqMgrClient.changeSplitting(config) print "Changed splitting" #change assignment stuff config.requestArgs["assignRequest"]["SiteWhitelist"] = [site] config.requestArgs["assignRequest"]["ProcessingString"] = "SITE_TEST_"+site #assign reqMgrClient.assignRequests(config) print "Assigned to",site