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

Re: [Condor-users] Job was held. Cannot expand $${Opsys).

Dirk Colbry wrote:
I have an executable compiled and running in both windows and linux
and would like to make a condor job that can run on either.  However,
it seems to only be working some of the time.  The rest of the time I
get the following output in my log file:

000 (074.1005.000) 06/06 15:06:33 Job submitted from host: <XX.X.12.45:9636>
012 (074.1005.000) 06/06 16:57:47 Job was held.
	Cannot expand $$(OpSys).
	Code 0 Subcode 0

I have named my two executables avida.LINUX.exe and avida.WINNT51.exe
and included the following executable line in my condor submission

executable = avida.$$(OpSys).exe

If I set up the requirements to only run on LINUX, X86-64 then the job
runs fine.  However, when I set it up to run on windows I sometimes
get the above error (But not all the time).  I can make the error go
away if I hard code the executable to avida.WINNT51.exe but that
defeats the purpose.  I looked though the logs but nothing jumped out
and I am not sure which log I should be focusing on.

My best guess is that there is something configured wrong on one of my
windows nodes which is causing the problem.   I tried googling this in
may different ways but did not find anything similar.  Any hints on
where I should be looking?

Strange. The above implies that you have some machine ads out there that do not have an OpSys attribute?! Does the following command return anything?
  condor_status -constraint "OpSys=?=UNDEFINED"

What does your Requirements line in your submit file look like? Maybe setting it to explicitly require that OpSys is defined and is either LINUX or WINNT51 would help, like so:
  requirements = opsys =?= "LINUX" || opsys =?= "WINNT51"
Note the use of meta-equals to be certain a value for opsys of UNDEFINED is not acceptable.