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

Re: [HTCondor-users] job transform: change requirement condition?



Hi Thomas,
have you tried to replace the BaseRequirements by an unparse(BaseRequirements) within the regexprs ?
Cheers, Thomas

Von meinem Mobiltelefon gesendet

-------- Originalnachricht --------
Betreff: Re: [HTCondor-users] job transform: change requirement condition?
Von: Thomas Hartmann
An: htcondor-users@xxxxxxxxxxx
Cc:


Hi Michael,

thanks for the tip with regexps. Unfortunately, the way I have added it
to my job transform seems to have no effect so far.
The job transform should in principle format the Requirement string [1]
but still the resulting job's ad is the old one [2]

From the documentation on regexps I would assume that it should work -
but I am not sure, if 'Requirements' is a 'string target' (should be as
a class ad, or?). Scanning through target also should match and replace
substrings, or?

Cheers and thanks,
 Thomas


[1]
JOB_TRANSFORM_NAMES = $(JOB_TRANSFORM_NAMES), FOOFORM
JOB_TRANSFORM_FOOFORM @=end
[
copy_Requirements = BaseRequirements
set_Requirements = regexps("OpSysAndVer\s*=\?*=\s*\"SL6\"",
BaseRequirements, "OpSysAndVer == \"CentOS7\"")
]
@end


[2]
> condor_history -l JOB.ID
...
>> Requirements = ( OpSysAndVer == "SL6" ) && ( TARGET.Arch == "X86_64"
) && ...

[3]
http://research.cs.wisc.edu/htcondor/manual/v8.6/4_1HTCondor_s_ClassAd.html

String regexps
   (String pattern, String target, String substitute [ , String options
]) Uses the description of a regular _expression_ given by string pattern
to scan through the string target. When target is a regular _expression_
as described by pattern, the string substitute is returned, with
backslash expansion performed. If any argument is not a string, returns
ERROR.

On 2018-10-10 15:08, Michael Pelletier wrote:
> Seems like you're looking for "regexps()" - to substitute something in the requirements string.
>
> So you'd match the job with your requirements _expression_ where it's demanding SL6, and then your job transform would do something like this:
>
> Copy_requirements = RequiresScientificLinux6
> Requirements = regexps("OpSysAndVer\s*=\?*=\s*\"SL6\"", RequiresScientificLinux6, "OpSysAndVer == \"CentOS6\"")
>
> That ought to do the trick, I think.
>
> Michael V. Pelletier
> Information Technology
> Digital Transformation & Innovation
> Integrated Defense Systems
> Raytheon Company
>
> _______________________________________________
> 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/