Mailing List Archives
Public Access
|
|
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [HTCondor-users] Job Transform
- Date: Wed, 18 May 2022 21:53:28 +0000
- From: John M Knoeller <johnkn@xxxxxxxxxxx>
- Subject: Re: [HTCondor-users] Job Transform
After looking into this. I discovered that there are a handful of values, including OPSYS, ARCH and OPSYSANDVER that do not expand correctly when used in JOB_TRANSFORM.
I have made a ticket to track this bug, and I expect it will be fixed in an upcoming 9.0 release.
https://opensciencegrid.atlassian.net/browse/HTCONDOR-1121
-tj
-----Original Message-----
From: HTCondor-users <htcondor-users-bounces@xxxxxxxxxxx> On Behalf Of John M Knoeller
Sent: Wednesday, May 18, 2022 2:15 PM
To: HTCondor-Users Mail List <htcondor-users@xxxxxxxxxxx>
Subject: Re: [HTCondor-users] Job Transform
Hmm. I would expect this to work.
SET Requirements (OpSysAndVer == "$(OpSysAndVer)") && $(tmp.require)
The Schedd should have OpSysAndVer defined automatically so the $() expansion should work there
try running this command, what is the output?
condor_config_val -v -schedd -dump OPSYS
The output should have OPSYS and OPSYSANDVER and some other matches as well.
This bit
EVALMACRO tmp.require = unparse(Requirements)
isn't necessary though. You can just do this
JOB_TRANSFORM_MatchOS @=end
SET Requirements (OpSysAndVer == "$(OPSYSANDVER)") && $(My.Requirements)
@end
$(My.Requirements) in a job transform should expand to the current value of the job's unparsed Requirements expression.
-----Original Message-----
From: HTCondor-users <htcondor-users-bounces@xxxxxxxxxxx> On Behalf Of Michael Thomas
Sent: Friday, May 13, 2022 1:35 PM
To: htcondor-users@xxxxxxxxxxx
Subject: [HTCondor-users] Job Transform
After a bit of debugging, I came up with a job transform that would add
a requirement that the OS name and version on the schedd and startd match:
JOB_TRANSFORM_NAMES = $(JOB_TRANSFORM_NAMES),MatchOS
JOB_TRANSFORM_MatchOS @=end
EVALMACRO tmp.require = unparse(Requirements)
SET Requirements (OpSysAndVer == "Rocky8") && $(tmp.require)
@end
My question is How can I dynamically populate the OS/Ver field instead
of hardcoding 'Rocky8'? I tried a couple of permutations, both of which
evaluated to an empty string when I submitted a test job:
JOB_TRANSFORM_MatchOS @=end
EVALMACRO tmp.require = unparse(Requirements)
SET Requirements (OpSysAndVer == "$(OpSysAndVer)") && $(tmp.require)
@end
JOB_TRANSFORM_MatchOS @=end
EVALMACRO tmp.require = unparse(Requirements)
EVALMACRO tmp.myos = unparse(OpSysAndVer)
SET Requirements (OpSysAndVer == "$(tmp.myos)") && $(tmp.require)
@end
Is there another way to accomplish this?
--Mike
_______________________________________________
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/
_______________________________________________
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/