Conversation
It should only extract and inject environments and run python script
|
About "Current issues:" About "Error jobList_GetInfo: Job not found (1 0 %3)" |
rrEnv.env file on job is static and used for all render nodes which will cause an issue on multiplatform farms. `ayoN_inject_envar` could be triggered dynamically by each of the nodes, prepare bat/sh, triggered and extracted environment variables would be applied only particular rendering session.
Previously it would trigger only on job itself, problem on multiplatform farms.
Script file could be run for each render node, rrEnv.rrEnv is only for whole job
Without this nothing will get published as all instances will be disabled.
rrEnv.rrEnv only for whole job, this way is dynamic for all render nodes.
Without it staging mode wouldn't work on publish
Command line process could be configured here too, it doesnt contain '='
…s://github.com/ynput/ayon-royalrender into feature/AY-7952_support-of-RR-for-farm-caching # Conflicts: # client/ayon_royalrender/plugins/publish/create_publish_royalrender_job.py
…s://github.com/ynput/ayon-royalrender into feature/AY-7952_support-of-RR-for-farm-caching
|
Looks good, but what's with the blacklist of env vars. I feel this is wrong - more like a hack than solution. Shouldn't we pass only specific environments needed? It was in fact reported to me today by client that some environments started to break their submission to RR (they are on linux). Something suddenly passed through, not filtered and broke the jobs. Maybe this was already discussed somewhere else, in that case sorry to mention it. This might be bigger topic on AYONs end - tracking env vars set by us explicitly that we might solve. |
That's one of the reasons I had send you the blacklist.
From the meeting we had 2(?) months ago about issues I was in the impression that it should copy any env var that is present on the system. And therefore you do not know which env vars are required for a job. Therefore I collected all env vars that I had found on various OS which are OS specific. And the ones that RR used. |
The issue was fixed for the upcoming RoyalRender release 9.1.23 in Feb 2026 |
Preferably we have a means to, on the worker, have it build up the environment for the process using some output from AYON through that worker. In Deadline we use @antirotor or did you discuss/approach this differently with Royal Render? |
|
While testing I've encountered: Might be completely unrelated to this PR as I've updated from RR7 to RR9 before so thing might not be configured properly. Need to check further. |
To clarify/understand: (Not completely) unrelated question: |
The environment variables may differ based on the worker - e.g. on Linux paths may be at X, on Windows at Y. Similarly we support multiple sites too, so some site may have certain things in a different folder than another site (but admittedly this on the farm is very rare in practice - plus I'd recommend avoiding having different paths to that extent just for sake that not all things can be path remapped in DCCs, etc.) But that explains why on the farm we need to evaluate what is the accurate enviroment for the 'site' ( Does that explain it @h-schoenberger ?
How do I do this?
|
But not that all env vars of one machine (minus the black list) must be added. |
I haven't been involved with earlier releases of |
Please redeploy |
antirotor
left a comment
There was a problem hiding this comment.
I've tested it and it successfully published caches.
Note for the future: we should drop attrs for dataclasses and think more about the environments :)
…nto feature/AY-7952_support-of-RR-for-farm-caching
Changelog Description
Extracting and publishing of pointcaches (for example) is slow and should be offloaded to the farm if possible.
Additional review information
Reworked from use of pre-script to use dynamic way where extractenvironments happens on each of the nodes, env vars are stored into
.bat/.shand applied to rendering session on each node separately.Testing notes: