-
Notifications
You must be signed in to change notification settings - Fork 41
Description
CRABServer pulls from gitlab the external config https://gitlab.cern.ch/crab3/CRAB3ServerConfig/-/blob/master/cmsweb-rest-config.json
In a way I'd like to fully get rid of this "external config" things and those obscure "modes".
The only customization that we have now via 'mode
is to use a different S3 bucket, and it would be much more clear if we put that in CRABServer's config.py in CMSKubernetes.
Currently we
- disguise the S3 bucket name as an URL
- put in a JSON file which the REST fetches every 30 minutes
- so that the Client can retrieved it at crab submit time and pass it to the REST again via the DB
- so that the REST knows which bucket to use
Sounds pretty damn stupid.
And I fear that if I am not here, it would take you a long time to figure this out.
Plan
-
change server
config.py
to support new code by adding following two lines:data.s3_bucket = 'crabcache_dev'
orcrabcache_preprod
orcrabcache_prod
as appropriate for each clusterdata.compatibleClientVersions = ["v3", "development"]
- in test and preprod update CRABServer config.py for test and preprod CMSKubernetes#1657
- in prod
-
change REST ( Stop using external config part1 #9180 ) to:
- pick bucket from config (alredy picks delegate-dn from there), save it in DB and ignore
cacheurl
HTTP param in RESTUserWorkflow.py so that it does not matter whether client sends it or not. - remove
banned-out-destinations
which we never used - remove from TW as well (unused code anyhow) remove bannedOutDestination from TW #9176
- move
compatible version
to CRABServer/.../config.py
- pick bucket from config (alredy picks delegate-dn from there), save it in DB and ignore
-
deploy new REST
- in preprod (testbed)
- in prod
-
change
config.py
and cmsweb-rest-config.json to eliminate now-useles things (see description in Stop using external config part1 #9180) -
change client not to send useless
cacheurl
and once in production remove unusedcacheSSL
andfilecacheurl
variables/args CRABClient#5411- remove
cacheurl
submit argument for submit from RESTUserWorkflow.py (where it is now optional)
- remove
-
move handling of
"htcondorPool"
andhtcondorScheddsLink
(i.e. list of enabled schedulers) to TW and manage them via puppet -
deploy new TW, then
- remove them for REST code
"htcondorPool"
andhtcondorScheddsLink
( - remove all references to "external config" everywhere
- remove them for REST code
And finally we can:
- get rid of
@conn_handler()
everywhere in CRABServer repo
Some of those actions can be pursued independently. I will open ad-hoc issues and possibly hand to DevOps