Plugin Specific Environment Variables

Hi,
I have a network instalation of Redshift (3.5.12), and having trouble getting the environments
REDSHIFT_COREDATAPATH and REDSHIFT_LICENSEPATH inherited from submitting workstation (Houdini 19.5) to workers.

What is the best place to inject the environment variables?
In ideal situation, submitter should take care of this, 'cause Houdini versions are coupled with Redshift versions.
Maybe event plugin would be a good way?
I only need it for Redshift standalone and Houdini for now.

Thank you

Hello

Yes I think the event plugin will be able to help you here. Take a look at the example event plugin here: Deadline/Custom/events/CustomEnvironmentCopy at master · ThinkboxSoftware/Deadline · GitHub

If it’s the workaround, then it’s the workaround. But is it just me or does this seem like a risky solution? How would you run two different Houdini+RS versions in the queue simultaneously? (notwithstanding that RS doesn’t lend itself well to supporting multiple simultaneous installations). How would you debug which version you actually received?

I really think all submitters need a field for what env vars to add to the submission, and even better, the plugin definitions should include that information. My hacky workaround was to hardcode the env vars we needed into Houdini submitter.

2 Likes

Thank you all. I ended up adding the necessary environment variables in the submitter.

1 Like

how did you add them with task submission?

Not sure if this fits your use case, but have you considered a JobPreLoad hook?
In it you can call plugin.SetProcessEnvironmentVariable.