I don't think you want to use an if statement for this. The if statement will use the OpSys of the submit machine, but I think you want to use the OpSys of the execute machine instead.
To use the OpSys of the execute machine, you can use $$() expansion.
java_vm_args = $$([ IfThenElse(Opsys=="LINUX", "-agentpath:/var/lib/libjvmquake-linux-x86_64.so",
"") ])
The $$([]) is evaluated each time the job runs using attributes from the execute node that the job will run on.
-tj
From: HTCondor-users <htcondor-users-bounces@xxxxxxxxxxx> on behalf of frankie.lc@xxxxxxxxx <frankie.lc@xxxxxxxxx>
Sent: Thursday, February 17, 2022 7:05 PM To: HTCondor-Users Mail List <htcondor-users@xxxxxxxxxxx> Subject: [HTCondor-users] conditionals on condor_submit (complex) Hi,
I'm trying to submit a Java job that has different java_vm_args if on Linux.
universe = java
executable = fat-jar.jar arguments = startFatJar jar_files = fat-jar.jar # if machine running is linux add an agentpath
if(OpSys == "LINUX")
java_vm_args = -agentpath:/var/lib/libjvmquake-linux-x86_64.so
else
java_vm_args = endif
But it fails with this message:
$ condor_submit condor_job
Submitting job(s) ERROR: on Line 9 of submit file: OpSys == "LINUX" is not a valid if condition because complex conditionals are not supported Is there anyway around this?
Many thanks for the help,
Frankie
|