From:
htcondor-users-bounces@xxxxxxxxxxx [mailto:htcondor-users-bounces@xxxxxxxxxxx]
On Behalf Of Mark Prenter 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). regards, -ian. --------------------------------------- Dr Ian C. Smith, Advanced Research Computing, University of Liverpool, UK. |