[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] CondorCE ordering routes (when moving to new syntax)



Hi Thomas,

At least for JOB_ROUTER_ROUTE_NAMES the general HTCondor docs [0] explicitly say those are processed in the order of the list:

> Routes will be matched to jobs in the order their names are declared in this list.

For the JOB_ROUTER_*_ROUTE_TRANSFORM_NAMES itâs technically not spelled out, but seems pretty clear to have similar behaviour:

> An ordered list of the names of transforms that should be applied when a job is being routed [â]

So the router will first go through all JOB_ROUTER_PRE_ROUTE_TRANSFORM_NAMES, then through JOB_ROUTER_ROUTE_NAMES until the first match, then through all JOB_ROUTER_POST_ROUTE_TRANSFORM_NAMES.
We do use JOB_ROUTER_*_ROUTE_TRANSFORM_NAMES to patch a few attributes set by the CE (ð) so itâs definitely possible to overwrite/extend attributes in later routes.

Cheers,
Max

[0] https://htcondor.readthedocs.io/en/latest/admin-manual/configuration-macros.html#condor-job-router-configuration-file-entries

> On 16. Jul 2024, at 12:31, Thomas Hartmann <thomas.hartmann@xxxxxxx> wrote:
> 
> Hi all,
> 
> we are rewriting currently our CondorCE routes in the new synatx and I have a quick question. When having a number of routes, how are they actually ordered (or can they be ordered during loading the config)? ð
> 
> Let's say, I have different routes, which could match for the same job - so that the different routes have REQUIREMENTS on different original job ads - but which are not necessarily excluding each other.
> 
> IIRC Routes are not chained and I would guess that the first route matching its requirement wins and the job goes down this route (with a PRE ROUTE maybe applied before).
> 
> If so, is there a suggested way to "order" routes to priotize these or ensure that the correct route is taken (without overloading the requirements)?
> E.g., in [1] there would be three routes getting added to JOB_ROUTER_ROUTE_NAMES. Would the routes then be applied in their order as in JOB_ROUTER_ROUTE_NAMES - or would JOB_ROUTER_ROUTE_NAMES get sorted alphanumerical and the routes then get tried to be matched in their alphanumerical order?
> 
> On PRE ROUTEs - is it safe to assume that ads set in the pre_route can be overwritten/extended in following routes? Or would it be better to set only transient pre route ad, that is evaluated & set in the following routes into the actual ad?
> 
> Cheers,
>  Thomas
> 
> 
> [1]
> 
> JOB_ROUTER_ROUTE_FOO_01DEFAULTS @=end
>  SET adForAll = "valueForAll"
>  SET requirements = "NODE_IS_HEALTHY"
> @end
> 
> FOO_01PRIO @=end
>  ...
>  REQUIREMENTS (something == true)
>  EVALSET requirements = "${requirements} && getFastBox == true"
> @end
> 
> FOO_03BAZ @=end
>  ...
>  REQUIREMENTS (bazAd == true)
> @end
> 
> FOO_90REST @=end
>   ...
> @end
> 
> JOB_ROUTER_PRE_ROUTE_TRANSFORM_NAMES = $(JOB_ROUTER_PRE_ROUTE_TRANSFORM_NAMES) FOO_90REST FOO_01DEFAULTS FOO_03BAZ
> 
> JOB_ROUTER_ROUTE_NAMES = $(JOB_ROUTER_ROUTE_NAMES) FOO_01PRIO
> _______________________________________________
> HTCondor-users mailing list
> To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx with a
> subject: Unsubscribe
> You can also unsubscribe by visiting
> https://lists.cs.wisc.edu/mailman/listinfo/htcondor-users
> 
> The archives can be found at:
> https://lists.cs.wisc.edu/archive/htcondor-users/


Attachment: smime.p7s
Description: S/MIME cryptographic signature