dmwm / CRABClient

runrange
14 stars 35 forks source link

adapt to list of authorized retrievers having a `:` #5303

Closed belforte closed 3 months ago

belforte commented 3 months ago

this line https://github.com/dmwm/CRABClient/blob/0a267d70365e02621f2187bf09ccad791ac2e60d/src/python/CRABClient/ProxyInteractions.py#L170 fails when the list of authorized retrievers has a : char in it, like needed for a Robot certificate. Ineed currently we'd like to have

trusted retrieval policy: /DC=ch/DC=cern/OU=computers/CN=crab-(preprod|prod)-tw(01|02).cern.ch|/DC=ch/DC=cern/OU=computers/CN=crab-dev-tw(01|02|03|04).cern.ch|/DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=cmscrab/CN=817881/CN=Robot: cms crab|/DC=ch/DC=cern/OU=computers/CN=stefanov(m|m2).cern.ch|/DC=ch/DC=cern/OU=computers/CN=dciangot-tw.cern.ch

and that will result in

trustedRetrievers = '/DC=ch/DC=cern/OU=computers/CN=crab-(preprod|prod)-tw(01|02).cern.ch|/DC=ch/DC=cern/OU=computers/CN=crab-dev-tw(01|02|03|04).cern.ch|/DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=cmscrab/CN=817881/CN=Robot'

but that will make Client always find that what was delegated is different from the reference from CRAB REST and force a new myproxy-init.

belforte commented 3 months ago

this should do, see https://docs.python.org/3.8/library/stdtypes.html?highlight=split#str.split

trustedRetrievalPolicy.split(sep=':', maxsplit=1)[1]