config.TaskArchiver.uploadPublishDir = None config.TaskArchiver.userFileCacheURL = 'http://USERFILECACHEHOST:UFCPORT/userfilecache/' # set to False couch data if request mgr is not used (Tier0, PromptSkiming) config.TaskArchiver.useReqMgrForCompletionCheck = True config.TaskArchiver.localCouchURL = "%s/%s" % ( config.JobStateMachine.couchurl, config.JobStateMachine.couchDBName) config.TaskArchiver.localQueueURL = "%s/%s" % ( config.WorkQueueManager.couchurl, config.WorkQueueManager.dbname) config.TaskArchiver.localWMStatsURL = "%s/%s" % ( config.JobStateMachine.couchurl, config.JobStateMachine.jobSummaryDBName) config.TaskArchiver.centralWMStatsURL = "Central WMStats URL" config.TaskArchiver.DataKeepDays = 0.125 # delete after 3 hours config.TaskArchiver.cleanCouchInterval = 60 * 20 # 20 min config.TaskArchiver.ReqMgrServiceURL = "ReqMgr rest service" config.webapp_('WMBSService') config.WMBSService.default_expires = 0 config.WMBSService.componentDir = os.path.join(config.General.workDir, "WMBSService") config.WMBSService.Webtools.port = wmbsServicePort config.WMBSService.Webtools.host = serverHostName config.WMBSService.Webtools.environment = "devel" config.WMBSService.templates = os.path.join(getWMBASE(), 'src/templates/WMCore/WebTools') config.WMBSService.admin = config.Agent.contact config.WMBSService.title = 'WMBS Data Service' config.WMBSService.description = 'Provide WMBS related service call' config.WMBSService.section_("security") config.WMBSService.security.dangerously_insecure = True
config.Agent.useMsgService = False config.Agent.useTrigger = False config.Agent.useHeartbeat = False config.section_("JobStateMachine") config.JobStateMachine.couchurl = couchURL config.JobStateMachine.configCacheDBName = configCacheDBName config.section_("General") config.General.workDir = workDirectory config.section_("CoreDatabase") config.CoreDatabase.connectUrl = databaseUrl config.CoreDatabase.socket = databaseSocket config.webapp_("reqmgr") config += reqMgrConfig( port = reqMgrPort, reqMgrHost = serverHostName, user = userName, couchurl = couchURL, componentDir = os.path.join(config.General.workDir, "ReqMgr"), workloadCouchDB = reqMgrDBName, configCouchDB = configCacheDBName, wmstatCouchDB = wmstatDBName, connectURL = databaseUrl, startup = "wmcoreD") config.reqmgr.admin = userEmail config.reqmgr.section_("security") config.reqmgr.security.dangerously_insecure = True
config.TaskArchiver.requireCouch = True config.TaskArchiver.uploadPublishInfo = False config.TaskArchiver.uploadPublishDir = None config.TaskArchiver.userFileCacheURL = 'http://USERFILECACHEHOST:UFCPORT/userfilecache/' # set to False couch data if request mgr is not used (Tier0, PromptSkiming) config.TaskArchiver.useReqMgrForCompletionCheck = True config.TaskArchiver.localCouchURL = "%s/%s" % (config.JobStateMachine.couchurl, config.JobStateMachine.couchDBName) config.TaskArchiver.localQueueURL = "%s/%s" % (config.WorkQueueManager.couchurl, config.WorkQueueManager.dbname) config.TaskArchiver.localWMStatsURL = "%s/%s" % (config.JobStateMachine.couchurl, config.JobStateMachine.jobSummaryDBName) config.TaskArchiver.DataKeepDays = 0.125 # couhch history keeping days. config.TaskArchiver.cleanCouchInterval = 60 * 20 # 20 min config.TaskArchiver.ReqMgrServiceURL = "ReqMgr rest service" config.TaskArchiver.ReqMgr2ServiceURL = "ReqMgr2 rest service" config.TaskArchiver.archiveDelayHours = 24 # delay the archiving so monitor can still show. default 24 hours config.webapp_('WMBSService') config.WMBSService.default_expires = 0 config.WMBSService.componentDir = os.path.join(config.General.workDir, "WMBSService") config.WMBSService.Webtools.port = wmbsServicePort config.WMBSService.Webtools.host = serverHostName config.WMBSService.Webtools.environment = "devel" config.WMBSService.templates = os.path.join(getWMBASE(), 'src/templates/WMCore/WebTools') config.WMBSService.admin = config.Agent.contact config.WMBSService.title = 'WMBS Data Service' config.WMBSService.description = 'Provide WMBS related service call' config.WMBSService.section_("security") config.WMBSService.security.dangerously_insecure = True config.WMBSService.section_('views') active = config.WMBSService.views.section_('active')
def reqMgrConfig(componentDir=basedir + "/var", installation=os.environ["WMCORE_ROOT"], port=8240, user=None, reqMgrHost="http://%s:%d" % (socket.gethostname().lower(), 8240), proxyBase=None, couchurl=os.getenv("COUCHURL"), yuiroot="/reqmgr/yuiserver/yui", configCouchDB='reqmgr_config_cache', workloadCouchDB='reqmgr_workload_cache', workloadSummaryCouchDB="workloadsummary", wmstatCouchDB="wmstats", acdcCouchDB="acdcserver", connectURL=None, startup="Root.py", addMonitor=True): config = Configuration() reqMgrHtml = os.path.join(installation, 'data/html/RequestManager') reqMgrTemplates = os.path.join( installation, 'data/templates/WMCore/WebTools/RequestManager') reqMgrJavascript = os.path.join(installation, 'data/javascript') globalOverviewTemplates = os.path.join( installation, 'data/templates/WMCore/WebTools/GlobalMonitor') globalOverviewJavascript = reqMgrJavascript globalOverviewHtml = os.path.join(installation, 'data/html') if startup == "Root.py": # CMS web mode of ReqMgr running config.component_("Webtools") config.Webtools.host = '0.0.0.0' config.Webtools.port = port config.Webtools.application = "reqmgr" if (proxyBase): config.Webtools.proxy_base = proxy_base config.Webtools.environment = 'production' config.component_('reqmgr') from ReqMgrSecrets import connectUrl config.section_("CoreDatabase") #read from Secrets file config.CoreDatabase.connectUrl = connectUrl config.reqmgr.section_('database') config.reqmgr.database.connectUrl = connectUrl else: # localhost, via wmcoreD ReqMgr running # startup = "wmcoreD" config.webapp_("reqmgr") config.reqmgr.Webtools.host = '0.0.0.0' config.reqmgr.Webtools.port = port config.reqmgr.Webtools.environment = 'devel' config.reqmgr.database.connectUrl = connectURL config.reqmgr.componentDir = componentDir config.reqmgr.templates = reqMgrTemplates config.reqmgr.html = reqMgrHtml config.reqmgr.javascript = reqMgrJavascript config.reqmgr.admin = '*****@*****.**' config.reqmgr.title = 'CMS Request Manager' config.reqmgr.description = 'CMS Request Manager' config.reqmgr.couchUrl = couchurl config.reqmgr.configDBName = configCouchDB config.reqmgr.workloadDBName = workloadCouchDB config.reqmgr.wmstatDBName = wmstatCouchDB config.reqmgr.acdcDBName = acdcCouchDB config.reqmgr.security_roles = [ 'Admin', 'Developer', 'Data Manager', 'developer', 'admin', 'data-manager' ] config.reqmgr.yuiroot = yuiroot views = config.reqmgr.section_('views') active = views.section_('active') active.section_('view') active.view.object = 'WMCore.HTTPFrontEnd.RequestManager.ReqMgrBrowser' active.section_('admin') active.admin.object = 'WMCore.HTTPFrontEnd.RequestManager.Admin' active.section_('approve') active.approve.object = 'WMCore.HTTPFrontEnd.RequestManager.Approve' active.section_('assign') active.assign.object = 'WMCore.HTTPFrontEnd.RequestManager.Assign' active.section_('closeout') active.closeout.object = 'WMCore.HTTPFrontEnd.RequestManager.CloseOut' active.section_('announce') active.announce.object = 'WMCore.HTTPFrontEnd.RequestManager.Announce' active.section_('reqMgr') active.reqMgr.section_('model') active.reqMgr.section_('formatter') active.reqMgr.object = 'WMCore.WebTools.RESTApi' active.reqMgr.model.object = 'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel' active.reqMgr.default_expires = 0 # no caching active.reqMgr.formatter.object = 'WMCore.WebTools.RESTFormatter' active.reqMgr.templates = os.path.join(installation, 'data/templates/WMCore/WebTools') #deprecate the old interface active.section_('rest') active.rest.section_('model') active.rest.section_('formatter') active.rest.object = 'WMCore.WebTools.RESTApi' active.rest.model.object = 'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel' active.rest.default_expires = 0 # no caching active.rest.formatter.object = 'WMCore.WebTools.RESTFormatter' active.rest.templates = os.path.join(installation, 'data/templates/WMCore/WebTools') active.section_('create') active.create.object = 'WMCore.HTTPFrontEnd.RequestManager.WebRequestSchema' active.create.requestor = user active.create.cmsswDefaultVersion = 'CMSSW_5_2_5' if addMonitor: active.section_('GlobalMonitor') active.GlobalMonitor.object = 'WMCore.HTTPFrontEnd.GlobalMonitor.GlobalMonitorPage' active.GlobalMonitor.templates = globalOverviewTemplates active.GlobalMonitor.javascript = globalOverviewJavascript active.GlobalMonitor.html = globalOverviewHtml active.GlobalMonitor.serviceLevel = 'RequestManager' active.section_('monitorSvc') active.monitorSvc.serviceURL = "%s/reqmgr/reqMgr" % reqMgrHost active.monitorSvc.serviceLevel = active.GlobalMonitor.serviceLevel active.monitorSvc.workloadSummaryCouchURL = "%s/%s" % ( couchurl, workloadSummaryCouchDB) active.monitorSvc.section_('model') active.monitorSvc.section_('formatter') active.monitorSvc.object = 'WMCore.WebTools.RESTApi' active.monitorSvc.model.object = 'WMCore.HTTPFrontEnd.GlobalMonitor.GlobalMonitorRESTModel' active.monitorSvc.default_expires = 0 # no caching active.monitorSvc.formatter.object = 'WMCore.WebTools.RESTFormatter' active.monitorSvc.template = os.path.join( installation, 'data/templates/WMCore/WebTools') return config
config.General.workDir = os.environ['DBS3_ROOT'] #CoreDatabase section is required by WMCore. config.section_("CoreDatabase") # User specific parameter config.CoreDatabase.version = DBSVersion config.CoreDatabase.dbowner = databaseOwner #mySql config.CoreDatabase.connectUrl = 'mysql://*****:*****@cmssrv18.fnal.gov:3307/CMS_DBS3' config.CoreDatabase.engineParameters = {'pool_size': 50, 'max_overflow': 10, 'pool_timeout':200 } #Oracle #config.CoreDatabase.connectUrl = 'oracle://*****:*****@cmscald' #config.CoreDatabase.engineParameters = {'pool_size': 15, 'max_overflow': 10, 'pool_timeout': 200 } #config web server. These are required fields by WMCore althrough some of them are useless. config.webapp_("cmsdbs") config.cmsdbs.componentDir = config.General.workDir + "/Logs/DBSServer" config.cmsdbs.server.host = "::" config.cmsdbs.server.port = 8688 config.cmsdbs.templates = WMCore.WMInit.getWMBASE() + '/src/templates/WMCore/WebTools' config.cmsdbs.admin = "*****@*****.**" config.cmsdbs.title = 'DBS Server' config.cmsdbs.dbowner = databaseOwner config.cmsdbs.description = 'CMS DBS Service' config.cmsdbs.default_expires=300 config.cmsdbs.section_('views') active=config.cmsdbs.views.section_('active') #DBS server page/view DBS = active.section_('DBS') DBS.object = 'WMCore.WebTools.RESTApi'
# User specific parameter config.CoreDatabase.version = DBSVersion config.CoreDatabase.dbowner = databaseOwner #mySql #config.CoreDatabase.connectUrl = 'mysql://*****:*****@host.fnal.gov:port/CMS_DBS3' #config.CoreDatabase.engineParameters = {'pool_size': 50, 'max_overflow': 10, 'pool_timeout':200 } #Oracle config.CoreDatabase.connectUrl = 'oracle://*****:*****@dbname' config.CoreDatabase.engineParameters = { 'pool_size': 15, 'max_overflow': 10, 'pool_timeout': 200 } #config web server. These are required fields by WMCore althrough some of them are useless. config.webapp_("cmsdbs") config.cmsdbs.section_("security") config.cmsdbs.security.dangerously_insecure = True config.cmsdbs.componentDir = config.General.workDir + "/Logs/DBSServer" config.cmsdbs.section_("Webtools") config.cmsdbs.Webtools.host = "::" config.cmsdbs.Webtools.port = 8688 """ #this configures access and error files for cherrypy, but cherrypy put both access and error logs to #sys.stderr so access log is not used in cherrypy. in Daemon/Create.py, it hard codeed sys.stderr to #(workdir, "stderr.log") and sys.stdout to (workdir, "stdout.log"). So redirect to user defined log files # will created double log files if we start it as a daemon using wmcoreD. config.cmsdbs.Webtools.access_log_file = os.environ['DBS3_ROOT'] +"/Logs/cms_dbs_writer_access.log" config.cmsdbs.Webtools.error_log_file = os.environ['DBS3_ROOT'] +"/Logs/cms_dbs_writer_error.log" """
config.Agent.hostName = serverHostName config.Agent.contact = userEmail config.Agent.teamName = teamName config.Agent.agentName = agentName config.Agent.useMsgService = False config.Agent.useTrigger = False config.Agent.useHeartbeat = False config.section_("General") config.General.workDir = workDirectory config.section_("CoreDatabase") config.CoreDatabase.connectUrl = databaseUrl config.CoreDatabase.socket = databaseSocket config.webapp_("ReqMgr") reqMgrUrl = "http://%s:%s" % (serverHostName, reqMgrPort) config.ReqMgr.componentDir = os.path.join(config.General.workDir, "ReqMgr") config.ReqMgr.Webtools.host = serverHostName config.ReqMgr.Webtools.port = reqMgrPort config.ReqMgr.Webtools.environment = "devel" config.ReqMgr.templates = os.path.join(getWMBASE(), "src/templates/WMCore/WebTools/RequestManager") config.ReqMgr.requestor = userName config.ReqMgr.admin = userEmail config.ReqMgr.title = "CMS Request Manager" config.ReqMgr.description = "CMS Request Manager" config.ReqMgr.couchURL = couchURL config.ReqMgr.default_expires = 0 config.ReqMgr.yuiroot = yuiRoot config.ReqMgr.couchUrl = couchURL
def reqMgrConfig( componentDir = basedir + "/var", installation = os.environ["WMCORE_ROOT"], port = 8240, user = None, reqMgrHost = "http://%s:%d" % (socket.gethostname().lower(), 8240), proxyBase = None, couchurl = os.getenv("COUCHURL"), sitedb = 'https://cmsweb.cern.ch/sitedb/json/index/CEtoCMSName?name', dbs3 = 'http://vocms09.cern.ch:8989/dbs', yuiroot = "/reqmgr/yuiserver/yui", configCouchDB = 'reqmgr_config_cache', workloadCouchDB = 'reqmgr_workload_cache', workloadSummaryCouchDB = "workloadsummary", wmstatCouchDB = "wmstats", connectURL = None, startup = "Root.py", addMonitor = True): config = Configuration() reqMgrHtml = os.path.join(installation, 'data/html/RequestManager') reqMgrTemplates = os.path.join(installation, 'data/templates/WMCore/WebTools/RequestManager') reqMgrJavascript = os.path.join(installation, 'data/javascript') globalOverviewTemplates = os.path.join(installation, 'data/templates/WMCore/WebTools/GlobalMonitor') globalOverviewJavascript = reqMgrJavascript globalOverviewHtml = os.path.join(installation, 'data/html') if startup == "Root.py": config.component_("Webtools") config.Webtools.host = '0.0.0.0' config.Webtools.port = port config.Webtools.application = "reqmgr" if(proxyBase): config.Webtools.proxy_base = proxy_base config.Webtools.environment = 'production' config.component_('reqmgr') from ReqMgrSecrets import connectUrl config.section_("CoreDatabase") #read from Secrets file config.CoreDatabase.connectUrl = connectUrl config.reqmgr.section_('database') config.reqmgr.database.connectUrl = connectUrl else: config.webapp_("reqmgr") config.reqmgr.Webtools.host = '0.0.0.0' config.reqmgr.Webtools.port = port config.reqmgr.Webtools.environment = 'devel' config.reqmgr.database.connectUrl = connectURL config.reqmgr.componentDir = componentDir config.reqmgr.templates = reqMgrTemplates config.reqmgr.html = reqMgrHtml config.reqmgr.javascript = reqMgrJavascript config.reqmgr.admin = '*****@*****.**' config.reqmgr.title = 'CMS Request Manager' config.reqmgr.description = 'CMS Request Manager' config.reqmgr.couchUrl = couchurl config.reqmgr.configDBName = configCouchDB config.reqmgr.workloadDBName = workloadCouchDB config.reqmgr.wmstatDBName = wmstatCouchDB config.reqmgr.security_roles = ['Admin', 'Developer', 'Data Manager', 'developer', 'admin', 'data-manager'] config.reqmgr.yuiroot = yuiroot config.reqmgr.dbs3=dbs3 views = config.reqmgr.section_('views') active = views.section_('active') active.section_('view') active.view.object = 'WMCore.HTTPFrontEnd.RequestManager.ReqMgrBrowser' active.section_('admin') active.admin.object = 'WMCore.HTTPFrontEnd.RequestManager.Admin' active.section_('approve') active.approve.object = 'WMCore.HTTPFrontEnd.RequestManager.Approve' active.section_('assign') active.assign.object = 'WMCore.HTTPFrontEnd.RequestManager.Assign' active.assign.sitedb = sitedb active.section_('closeout') active.closeout.object = 'WMCore.HTTPFrontEnd.RequestManager.CloseOut' active.section_('announce') active.announce.object = 'WMCore.HTTPFrontEnd.RequestManager.Announce' active.section_('reqMgr') active.reqMgr.section_('model') active.reqMgr.section_('formatter') active.reqMgr.object = 'WMCore.WebTools.RESTApi' active.reqMgr.model.object = 'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel' active.reqMgr.default_expires = 0 # no caching active.reqMgr.formatter.object = 'WMCore.WebTools.RESTFormatter' active.reqMgr.templates = os.path.join(installation, 'data/templates/WMCore/WebTools') #deprecate the old interface active.section_('rest') active.rest.section_('model') active.rest.section_('formatter') active.rest.object = 'WMCore.WebTools.RESTApi' active.rest.model.object = 'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel' active.rest.default_expires = 0 # no caching active.rest.formatter.object = 'WMCore.WebTools.RESTFormatter' active.rest.templates = os.path.join(installation, 'data/templates/WMCore/WebTools') active.section_('create') active.create.object = 'WMCore.HTTPFrontEnd.RequestManager.WebRequestSchema' active.create.requestor = user active.create.cmsswDefaultVersion = 'CMSSW_5_2_5' if addMonitor: active.section_('GlobalMonitor') active.GlobalMonitor.object = 'WMCore.HTTPFrontEnd.GlobalMonitor.GlobalMonitorPage' active.GlobalMonitor.templates = globalOverviewTemplates active.GlobalMonitor.javascript = globalOverviewJavascript active.GlobalMonitor.html = globalOverviewHtml active.GlobalMonitor.serviceLevel = 'RequestManager' active.section_('monitorSvc') active.monitorSvc.serviceURL = "%s/reqmgr/reqMgr" % reqMgrHost active.monitorSvc.serviceLevel = active.GlobalMonitor.serviceLevel active.monitorSvc.workloadSummaryCouchURL = "%s/%s" % (couchurl, workloadSummaryCouchDB) active.monitorSvc.section_('model') active.monitorSvc.section_('formatter') active.monitorSvc.object = 'WMCore.WebTools.RESTApi' active.monitorSvc.model.object = 'WMCore.HTTPFrontEnd.GlobalMonitor.GlobalMonitorRESTModel' active.monitorSvc.default_expires = 0 # no caching active.monitorSvc.formatter.object = 'WMCore.WebTools.RESTFormatter' active.monitorSvc.template = os.path.join(installation, 'data/templates/WMCore/WebTools') active.section_('yuiserver') active.yuiserver.object = 'WMCore.WebTools.YUIServer' active.yuiserver.yuidir = os.getenv("YUI_ROOT") return config
config.component_("TaskArchiver") config.TaskArchiver.namespace = "WMComponent.TaskArchiver.TaskArchiver" config.TaskArchiver.componentDir = config.General.workDir + "/TaskArchiver" config.TaskArchiver.logLevel = globalLogLevel config.TaskArchiver.pollInterval = 240 config.TaskArchiver.timeOut = workflowArchiveTimeout config.TaskArchiver.useWorkQueue = True config.TaskArchiver.workloadSummaryCouchURL = workloadSummaryURL config.TaskArchiver.workloadSummaryCouchDBName = workloadSummaryDB config.TaskArchiver.histogramKeys = ["PeakValueRss", "PeakValueVsize", "TotalJobTime", "AvgEventTime"] config.TaskArchiver.requireCouch = True config.TaskArchiver.uploadPublishInfo = False config.TaskArchiver.uploadPublishDir = None config.TaskArchiver.userFileCacheURL = "http://USERFILECACHEHOST:UFCPORT/userfilecache/" config.webapp_("WMBSService") config.WMBSService.default_expires = 0 config.WMBSService.componentDir = os.path.join(config.General.workDir, "WMBSService") config.WMBSService.Webtools.port = wmbsServicePort config.WMBSService.Webtools.host = serverHostName config.WMBSService.Webtools.environment = "devel" config.WMBSService.templates = os.path.join(getWMBASE(), "src/templates/WMCore/WebTools") config.WMBSService.admin = config.Agent.contact config.WMBSService.title = "WMBS Data Service" config.WMBSService.description = "Provide WMBS related service call" config.WMBSService.section_("security") config.WMBSService.security.dangerously_insecure = True config.WMBSService.section_("views") active = config.WMBSService.views.section_("active")
def reqMgrConfig( componentDir = basedir + "/var", installation = os.environ["WMCORE_ROOT"], port = 8240, user = None, proxyBase = None, couchurl = os.getenv("COUCHURL"), yuiroot = "/reqmgr/yuiserver/yui", configCouchDB = 'reqmgr_config_cache', workloadCouchDB = 'reqmgr_workload_cache', wmstatCouchDB = "wmstats", acdcCouchDB = "acdcserver", connectURL = None, startup = "Root.py"): config = Configuration() reqMgrHtml = os.path.join(installation, 'data/html/RequestManager') reqMgrTemplates = os.path.join(installation, 'data/templates/WMCore/WebTools/RequestManager') reqMgrJavascript = os.path.join(installation, 'data/javascript') if startup == "Root.py": # CMS web mode of ReqMgr running config.component_("Webtools") config.Webtools.host = '0.0.0.0' config.Webtools.port = port config.Webtools.application = "reqmgr" if(proxyBase): config.Webtools.proxy_base = proxyBase config.Webtools.environment = 'production' config.component_('reqmgr') from ReqMgrSecrets import connectUrl config.section_("CoreDatabase") #read from Secrets file config.CoreDatabase.connectUrl = connectUrl config.reqmgr.section_('database') config.reqmgr.database.connectUrl = connectUrl else: # localhost, via wmcoreD ReqMgr running # startup = "wmcoreD" config.webapp_("reqmgr") config.reqmgr.Webtools.host = '0.0.0.0' config.reqmgr.Webtools.port = port config.reqmgr.Webtools.environment = 'devel' config.reqmgr.database.connectUrl = connectURL # workload summary update config.section_("WorkloadSummary") config.WorkloadSummary.couchurl = connectURL config.WorkloadSummary.database = "workloadsummary" config.reqmgr.componentDir = componentDir config.reqmgr.templates = reqMgrTemplates config.reqmgr.html = reqMgrHtml config.reqmgr.javascript = reqMgrJavascript config.reqmgr.admin = '*****@*****.**' config.reqmgr.title = 'CMS Request Manager' config.reqmgr.description = 'CMS Request Manager' config.reqmgr.couchUrl = couchurl config.reqmgr.configDBName = configCouchDB config.reqmgr.workloadDBName = workloadCouchDB config.reqmgr.wmstatDBName = wmstatCouchDB config.reqmgr.acdcDBName = acdcCouchDB config.reqmgr.security_roles = ['Admin', 'Developer', 'Data Manager', 'developer', 'admin', 'data-manager'] config.reqmgr.yuiroot = yuiroot views = config.reqmgr.section_('views') active = views.section_('active') active.section_('view') active.view.object = 'WMCore.HTTPFrontEnd.RequestManager.ReqMgrBrowser' active.section_('admin') active.admin.object = 'WMCore.HTTPFrontEnd.RequestManager.Admin' active.section_('approve') active.approve.object = 'WMCore.HTTPFrontEnd.RequestManager.Approve' active.section_('assign') active.assign.object = 'WMCore.HTTPFrontEnd.RequestManager.Assign' active.section_('closeout') active.closeout.object = 'WMCore.HTTPFrontEnd.RequestManager.CloseOut' active.section_('announce') active.announce.object = 'WMCore.HTTPFrontEnd.RequestManager.Announce' active.section_('reqMgr') active.reqMgr.section_('model') active.reqMgr.section_('formatter') active.reqMgr.object = 'WMCore.WebTools.RESTApi' active.reqMgr.model.object = 'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel' active.reqMgr.default_expires = 0 # no caching active.reqMgr.formatter.object = 'WMCore.WebTools.RESTFormatter' active.reqMgr.templates = os.path.join(installation, 'data/templates/WMCore/WebTools') #deprecate the old interface active.section_('rest') active.rest.section_('model') active.rest.section_('formatter') active.rest.object = 'WMCore.WebTools.RESTApi' active.rest.model.object = 'WMCore.HTTPFrontEnd.RequestManager.ReqMgrRESTModel' active.rest.default_expires = 0 # no caching active.rest.formatter.object = 'WMCore.WebTools.RESTFormatter' active.rest.templates = os.path.join(installation, 'data/templates/WMCore/WebTools') active.section_('create') active.create.object = 'WMCore.HTTPFrontEnd.RequestManager.WebRequestSchema' active.create.requestor = user active.create.cmsswDefaultVersion = 'CMSSW_5_2_5' return config