Request Manager
This document provides a detailed guide on submitting requests through the ReqMgr System using the RESTful interface. It outlines the creation of a "RequestSchema" file, specifies the parameters for submission, and describes the interactions with various database systems. The submission process includes uploading configuration documents and calculating PSet hashes, with communication conducted via HTTP methods. The WorkQueue component retrieves and posts requests while managing and updating the database. Authentication methods and whitelisting processes are also discussed to ensure successful deployment.
Request Manager
E N D
Presentation Transcript
Request Manager R. Wilkinson & the DMWM team
REST Interface • Communication done via HTTP GET, PUT, POST, & DELETE • See https://twiki.cern.ch/twiki/bin/view/CMS/ReqMgrSystemDesign
Command Line Request Submission • User makes a small “RequestSchema” file requestSchema = {} requestSchema['ConfigFile'] = ‘my_cfg.py' requestSchema["Group"] = "Offline" requestSchema["InputDatasets"] = [] requestSchema["PileupDatasets"] = [] requestSchema["RequestType"] = 'CmsGen' requestSchema["RequestSizeEvents"] = 1000 • “submitRequest” script accepts the RequestSchema • Uploads three documents to CouchDB: • Original configuration • Fully expanded configuration • PSetTweaks which can be used to modify configs outside of the CMSSW environment • Calculates PSet hashes • Sends the RequestSchema to the ReqMgr, via a REST “PUT”. reqMgrHost = 'cmssrv49.fnal.gov:8585' jsonSender = JSONRequests(reqMgrHost) response = jsonSender.put('/reqMgr/request/'+requestSchema['RequestName'], requestSchema) • When the ReqMgr receives a Request, it: • Builds a new Workload • Saves the Request in the RequestDB
Web cmsDriver Interface May be useful on its own
Interaction with WorkQueues • Communication done using REST URIs • WorkQueue GETs requests assigned to its Team • Response is JSON-encoded list of Requests • WorkQueue downloads the Request Workloads • WorkQueue POSTs to acquire a request • ReqMgr updates the database • WorkQueue POSTs updates & final status
To Do • Authentication • Site whitelists & blacklists • Run & lumi block whitelists & blacklists • Document installation procedures • Deploy on Oracle at CERN