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

Re: [HTCondor-users] conditionals on condor_submit (complex)



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