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

[HTCondor-users] Matching by Group Membership

Weâre trying to configure Condor to select which execute node pool to use based on group membership. The plan was to pass a list of groups that the user belongs to in a single ClassAd. It appears that we can use the {"item1","item2"} notation to pass a list in a ClassAd, and I was hoping to be able to use the member() function to determine whether or not the desired group was in the ClassAd. Hereâs what I tried so far:

In the submission file:

+IpcUserGroup = {"foo","bar","baz"}

Dumped the ClassAds for the submission file to another file:

condor_submit -dump job.ads iplant.cmd

Dumped the ClassAds for the machines to another file:

condor_status -long > machine.ads

I then edited the Start _expression_ for each of the machines in machine.ads to look like this:

Start = ( member("foo", IpcUserGroups) )

Finally, I ran condor_test_match to see if any of the machines would match the job:

$ condor_test_match -machine-ads machine.ads -job-ads job.ads demand

Estimating total possible machine maches for all jobs

Fraction of machines matched: 0.000 (0 of 6)

Note that I did get matches before I modified the Start expressions.

Weâre using HTCondor version 8.2.8. Iâll keep trying different options to see if I can get this to work, but Iâd appreciate it if someone could steer me in the right direction. Also, Iâd like to know if weâll run into problems when weâre placing a list in a ClassAd. Is there a limit to the list length (or length of the string representation of the list) that might bite us later? Are there any character escaping issues that we may run into? For example, our our group names often contain colons. Will that cause a problem in the submission file?