Hi,
While deploying pilot3 in production, one of our users noticed their argument list was now being corrupted... After a bit of poking around I found that "pilot.cfg" is always appended to the list of user arguments for JDL jobs (but not API jobs). We missed this during our initial tests as everything we run can (unfortunately) silently tolerate an extra argument.
I've tracked this behaviour down to this line of code:
|
self.innerCEOpts.append(' -o /AgentJobRequirements/ExtraOptions=%s' % self.pp.localConfigFile) |
Why is this set? We've run our full GridPP test suite with this line commented out and all of the tests pass, but I can imagine that there must be a reason for setting this (for reference our inner CE is just InProcess)... Can we somehow get rid of this setting (by changing it to something else?) to fix this behaviour?
Just for complete clarity our test case for this is a JDL with:
Executable = "/usr/bin/echo";
Arguments = "Hello";
The Stdout contains Hello pilot.cfg.
Regards,
Simon
Hi,
While deploying pilot3 in production, one of our users noticed their argument list was now being corrupted... After a bit of poking around I found that "pilot.cfg" is always appended to the list of user arguments for JDL jobs (but not API jobs). We missed this during our initial tests as everything we run can (unfortunately) silently tolerate an extra argument.
I've tracked this behaviour down to this line of code:
Pilot/Pilot/pilotCommands.py
Line 902 in e244e65
Why is this set? We've run our full GridPP test suite with this line commented out and all of the tests pass, but I can imagine that there must be a reason for setting this (for reference our inner CE is just InProcess)... Can we somehow get rid of this setting (by changing it to something else?) to fix this behaviour?
Just for complete clarity our test case for this is a JDL with:
Executable = "/usr/bin/echo";
Arguments = "Hello";
The Stdout contains
Hello pilot.cfg.Regards,
Simon