I'm facing the same problem actually. We've got a pool of one Win2003 Server as submit node and WinXP dedicated execute machines. Version is still Condor 6.8.4 (Never change...) and behavior is as mentioned - every job started with "getenv = False" has no environment variables except for a bunch of default ones inserted by Condor (I guess) such as OS, COMPUTERNAME etc. and the PATH variable, which is set to the current user's PATH variable on the execute node (so it seems to be referenced late, just before starting the job and ON the execute machine).
On another pool running the same configuration, however, the PATH variable is NOT set on the execute machines so that a call like "java MyApp" yields an
Bad thing. Actually I'd like to see the first behavior on all machines. Has anyone found out whether this is a bug, some sort of differing Windows behavior or anything else?
----- Original Message ----
Von: "Kewley, J (John)" <j.kewley@xxxxxxxx>
An: Condor-Users Mail List <condor-users@xxxxxxxxxxx>
Gesendet: Donnerstag, den 21. Juni 2007, 17:53:45 Uhr
Betreff: Re: [Condor-users] Environment variables
As far as I can tell, the only difference in env is the PATH,
which is a bit annoying. For all jobs, I am setting "runasowner"; I see
this env difference between machines even when I'm logged into both of them;
I've been diffing my condor_config files amoung machines, but they are now
identical on machines that still have different env. Basically, the jobs
I'm submitting are all just running Windows "set", as you say, so that I can
get info like running machine name and other variables. We do have a
very restrictive security policy here, so I suppose that may be
Hmm I don't know then. STARTER_ALLOW_RUNAS_OWNER isn't
set to False is it?
Maybe it is the setup on the machines themselves that have different
priveleges, set up different default env vars
for the users. I don't
know so much about Windows machine setup
On a slightly different point, is
there any chance that I can specify a variable that I want to be pulled
from the running machine? Some jobs that I run actually use the filesystem
on the execute machine, and I need to specify the location of certain
files. I'm in a situation now where these files are on C: on one machine,
and on D: on the other. If I could read a variable on the execute machine,
that would make life much simpler!
(this sounds a little nasty, there may be an easier way) You could add an
attribute to each Startd stating the loction of
MY_ROOT (or whatever you want to call that
Then you can refer to it in your submit file in something
or something like that. I haven't used TARGET yet, so can't be sure that
is the right incantation.
BTW if as a result of reading this you are thinking of adding something
along the lines of
in your config files, then PLEASE read my Condor Week "Gotchas II" slides
- there are too many
potential pitfalls do talk about