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

Re: [HTCondor-users] Use local Executables on Windows Clients



From: htcondor-users-bounces@xxxxxxxxxxx [mailto:htcondor-users-bounces@xxxxxxxxxxx] On Behalf Of Mark Prenter
Sent: 15 March 2013 16:39
To: htcondor-users@xxxxxxxxxxx
Subject: [HTCondor-users] Use local Executables on Windows Clients


Hi, I’m really new to using HTCondor.  What I would like to do is submit jobs to the pool that use programs and DLLs installed on the client (processing) machines.  Meaning the jobs need access to the local PATH variable to find the exe’s and required DLL files.  I’ve tried “Getenv = true” but I’m not sure that will accomplish what I want.  I’ve also seen reference to USER_JOB_WRAPPER, but I’m not entirely sure how that works either.  Can anyone get me going in the right direction?


“Getenv = true”  should ensure that the same environment variable settings used on the submit machine are used when the Condor job runs.

So if PATH is setup correctly on the submit host it should be set correctly for the actual Condor job. Quick way to check this -

run a DOS .bat file as job and put the "set" command in it to see what the environment variables are - do you get the PATH

you expect ?



Just to clarify my setup…it’s only Windows, I have 3 computers with HTCondor installed and seeming working.  Each computer has the same set of software installed and the PATH setup properly so that if I bring up a command line and run my executable, it runs fine.  But when I try to submit the same process as a condor task, it has trouble finding the executable.  If I use UNC instead of drive letters to directly reference the location of the executable, then it can’t find the DLLs require to run the executable.  All leading me to believe that the Condor task is not using the local windows PATH settings.


By default Condor jobs run in a very restricted evironment under a temporararily created account. They almost certainly won't have the same profile settings

as you get when you run interactively from the command line and the PATH is likely to be (null).  I'd create a .bat file "wrapper" and set PATH expliciltly

along with any other variables you need.


It high unlikely that the account Condor jobs run under will have sufficient permission to access a network drive. If you want just read-only access your

local server sysadmin MAY be able to allow access via a plain text password used with NET USE. We have tried this here and to be honest it was a bit flakey.

Having write access is probably way too much of a security risk. I'd recommend avoid using network drives and ship everything you need  as part

of the input files (or you could get them off a web or ftp server).






Dr Ian C. Smith,

Advanced Research Computing,

University of Liverpool, UK.