AWS Thinkbox Discussion Forums

Minor confusion and bad environment behavior

In our task logs, I see this:

INFO: The current environment will be used for rendering

I have no idea what this means… Can this be made more clear? I have UseJobEnvironmentOnly enabled for all of our jobs, but I don’t know if that message means it’s working or not.

I’ve also found that job environments are polluted by slave launch environments on our OSX render nodes. We don’t have a launch daemon set up, so the launcher just gets started manually, and then the slaves are started using RemoteControl. So really what’s going on is that, if the launcher is started with an environment, that environment is then inherited by any slave processes it spawns, and those then pollute the job environment. All this in spite of the fact that UseJobEnvironmentOnly is enabled.

I haven’t tried reproducing this on Linux, but I wouldn’t be surprised if it did the same thing. This seems like a clear violation of the description of that particular option; I would expect the job’s environment to basically be empty at the start.

Thanks

I checked the code, and the only reason you would be seeing this message when UseJobEnvironmentOnly is enabled is if the job’s environment dictionary is empty, which sounds like the case here. I guess that at the time we figured this would be the desired behavior, but in hindsight, we can definitely understand the reasons for wanting to start with an empty environment.

We’ll see if this is something we can change in Deadline 7. In the meantime though, you could just add a “dummy” environment to the job’s environment so that it has one entry.

Cheers,
Ryan

So just so I’m clear, if UseJobEnvironmentOnly is True but no environment variables are set on the job… it uses the slave environment?

Yes, that’s correct (and will be fixed in v7).

Thanks Ryan.

Privacy | Site terms | Cookie preferences