custom application launcher command -- rez

154 views
Skip to first unread message

Rupert Thorpe

unread,
Sep 14, 2018, 10:50:21 AM9/14/18
to rrKn...@googlegroups.com
Hello,

We run our applications via a package manager called Rez.    https://github.com/nerdvegas/rez 

Lots of studios are using this: Method, Iloura, Animal Logic, Mikros + lots of other small places.
Just saying so you know its not totally wacky. 

The result is that we avoid installing much software, and can easily have lots of different versions of everything available to all the artists.

Because of this the command we use to run applications is like so: 

    rez-env nuke -- nuke

which roughly means: give me an environment with the latest nuke package available and run nuke within it.


in practice the command is more like this ( and we make an alias for convenience ):

    alias nuke="rez-env nuke-11 nuke_defaults nuke_royalrender neatvideo -- nuke"

meaning: give me nuke11 with the default other tools + rr and neatvideo.



I would ideally like to run the applications on the farm via the same method.
How would I do this? can I just put this command into /mnt/render/RR/render_apps/_install_paths/Nuke.cfg

?


Squint/Opera / +44 20 7978 7788 / 1-5 Vyner Street, London, E2 9DG, United Kingdom. Squint/Opera Ltd is registered in England. Company number: 4439757. VAT number: GB 802403971 / www.squintopera.com

RR support, Acampora

unread,
Sep 15, 2018, 6:14:27 AM9/15/18
to Royal Render Knights Tavern
Hi Rupert,


We run our applications via a package manager called Rez.    https://github.com/nerdvegas/rez 

Lots of studios are using this: Method, Iloura, Animal Logic, Mikros + lots of other small places.
Just saying so you know its not totally wacky.

actually Rez is very intriguing, but I need to set up a working rez configuration before I can be back with proper answers. The major challenge in combining Rez and Royal Render is that RR has its own environment setter, complete with auto app versioning and other context related functions
 
The result is that we avoid installing much software, and can easily have lots of different versions of everything available to all the artists.

Just to get how it works, in the end are the machines launching the executables from a network path, or are they copied? Would they be able to access to those directories from outside rez? Do you have a machine where the software is installed the old way, and then the other machines pick it from its system directories?


Because of this the command we use to run applications is like so: 

    rez-env nuke -- nuke

which roughly means: give me an environment with the latest nuke package available and run nuke within it.


Is it possible to separate the two commands? I mean

command 1 => Give me an environment
command 2 => run nuke

The reason I ask is that in this case you can put the first command inside RR setenv files, so you would have RR using Rez to set up the environment. The second command would stay in the Render App path inside the client settings in rrConfig: the client needs to have an entry for the render app it is going to use, even if those are not present on disk at the moment
 

I would ideally like to run the applications on the farm via the same method.
How would I do this? can I just put this command into /mnt/render/RR/render_apps/_install_paths/Nuke.cfg


It's an option. What I would try first, if possible, would be

  • put the rez set env command in the nuke batch scripts, /mnt/render/RR/render_apps/_setenv/[OS]/nuke.* This command must not launch the application
  • in rrConfig, add the nuke render app, and provide the path (local copy or network) from where nuke will be launched. This way RR will be able to find and launch the executable at render time
If that works we can then refine this solution. If it doesn't we'll think of something different

Thanks,
Paolo

RR support, Schoenberger

unread,
Sep 15, 2018, 7:54:19 AM9/15/18
to rrKn...@googlegroups.com

PS:
Instead of trying to get rez into RR a proper way, there is also the
way to hard-code the rez Nuke commandline into the render config file
RR/render_apps/_config/C13__Nuke8.cfg and to replace the <exe>
commands with
rez-env nuke-<AppVer>



Holger Schönberger

Please use the rrKnights Tavern or
our support system for new questions
> - put the rez set env command in the nuke batch scripts,
> /mnt/render/RR/render_apps/_setenv/[OS]/nuke.* This command must
> not launch
> the application
> - in rrConfig, add the nuke render app, and provide the path (local copy
> or network) from where nuke will be launched. This way RR will be able to
> find and launch the executable at render time
>
> If that works we can then refine this solution. If it doesn't we'll think
> of something different
>
> Thanks,
> Paolo
>
> --
> If you reply, the message is send to the user group which is sufficient.
> ("Reply All" just sends the message twice to the last author which
> is not required)
> ---
> You received this message because you are subscribed to the Google
> Groups "Royal Render Knights Tavern" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to rrKnights+...@googlegroups.com.
> Visit this group at https://groups.google.com/group/rrKnights.
> For more options, visit https://groups.google.com/d/optout.
>

Rupert Thorpe

unread,
Sep 16, 2018, 9:24:36 AM9/16/18
to rrKn...@googlegroups.com
thanks for your help.

On 15 September 2018 at 11:14, RR support, Acampora <pal...@gmail.com> wrote:
Hi Rupert,


We run our applications via a package manager called Rez.    https://github.com/nerdvegas/rez 

Lots of studios are using this: Method, Iloura, Animal Logic, Mikros + lots of other small places.
Just saying so you know its not totally wacky.

actually Rez is very intriguing, but I need to set up a working rez configuration before I can be back with proper answers. The major challenge in combining Rez and Royal Render is that RR has its own environment setter, complete with auto app versioning and other context related functions
 
The result is that we avoid installing much software, and can easily have lots of different versions of everything available to all the artists.

Just to get how it works, in the end are the machines launching the executables from a network path, or are they copied? Would they be able to access to those directories from outside rez? Do you have a machine where the software is installed the old way, and then the other machines pick it from its system directories?

What we are doing is putting all of the files needed by nuke inside the rez package, and then the rez tool sets environment variables (and can do other things) in a way that is relative to the package location.
Like this the package can be moved ( from a network location to a local disk ) and still works the same way regardless of its location.

 


Because of this the command we use to run applications is like so: 

    rez-env nuke -- nuke

which roughly means: give me an environment with the latest nuke package available and run nuke within it.


Is it possible to separate the two commands? I mean

command 1 => Give me an environment
command 2 => run nuke

The reason I ask is that in this case you can put the first command inside RR setenv files, so you would have RR using Rez to set up the environment. The second command would stay in the Render App path inside the client settings in rrConfig: the client needs to have an entry for the render app it is going to use, even if those are not present on disk at the moment

Yes it is possible - i can run 'rez-env nuke' to give me a shell within which nuke is available.
then I can just type 'nuke' to run it.

 
 

I would ideally like to run the applications on the farm via the same method.
How would I do this? can I just put this command into /mnt/render/RR/render_apps/_install_paths/Nuke.cfg


It's an option. What I would try first, if possible, would be

  • put the rez set env command in the nuke batch scripts, /mnt/render/RR/render_apps/_setenv/[OS]/nuke.* This command must not launch the application
  • in rrConfig, add the nuke render app, and provide the path (local copy or network) from where nuke will be launched. This way RR will be able to find and launch the executable at render time

Can the path just be "nuke" ?
If I need to specify a full path then this will work - but I will lose allot of the power of rez.

Also - ideally the rez-env arguments would come via the submitter somehow.

Lets take the example of maya and vray versions. 
All I need to do to make a new vray version available to are artists is create the rez package and deploy it to the network.
Artists can then use this new version immediately - or they can choose to specify the previous version if they want (we will probably have per project default versions).
But what about submitting to the farm? 
We may have multiple different vray versions rendering at the same time - if we have a hard coded env set, then all the artist will end up using the same vray version on the farm.
Ideally we want a settup that means that no changes are needed on RR when a new plugin version is deployed.
we would like to just make the rez package and then be done. 

 
If that works we can then refine this solution. If it doesn't we'll think of something different

Thanks,
Paolo

--
If you reply, the message is send to the user group which is sufficient.
("Reply All" just sends the message twice to the last author which is not required)
---
You received this message because you are subscribed to the Google Groups "Royal Render Knights Tavern" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rrKnights+unsubscribe@googlegroups.com.

Rupert Thorpe

unread,
Sep 16, 2018, 9:25:41 AM9/16/18
to rrKn...@googlegroups.com
On 15 September 2018 at 12:54, RR support, Schoenberger <Schoen...@royalrender.de> wrote:

PS:
Instead of trying to get rez into RR a proper way, there is also the way to hard-code the rez Nuke commandline into the render config file RR/render_apps/_config/C13__Nuke8.cfg and to replace the <exe> commands with
rez-env nuke-<AppVer>



may give this a try.
will be back on it at the end of the week.

Thanks for your help

 
To unsubscribe from this group and stop receiving emails from it, send an email to rrKnights+unsubscribe@googlegroups.com.
--
If you reply, the message is send to the user group which is sufficient.
("Reply All" just sends the message twice to the last author which is not required)
---You received this message because you are subscribed to the Google Groups "Royal Render Knights Tavern" group.

To unsubscribe from this group and stop receiving emails from it, send an email to rrKnights+unsubscribe@googlegroups.com.

Ioannis Valasakis

unread,
Mar 23, 2019, 8:55:18 AM3/23/19
to Royal Render Knights Tavern
On Sunday, September 16, 2018 at 2:25:41 PM UTC+1, Rupert Thorpe wrote:


On 15 September 2018 at 12:54, RR support, Schoenberger <Schoen...@royalrender.de> wrote:

PS:
Instead of trying to get rez into RR a proper way, there is also the way to hard-code the rez Nuke commandline into the render config file RR/render_apps/_config/C13__Nuke8.cfg and to replace the <exe> commands with
rez-env nuke-<AppVer>



may give this a try.
will be back on it at the end of the week.


Hi Rupert!

That looks very similar to our user-case. I wonder if there's a good place for people who are using Rez (but also other solutions) to discuss and brainstorm. For example why not anyone in the industry is using dockerised solutions like Docker or even Kubernetes? Wouldn't that be much more easier to migrate to the cloud then?

Thanks for your help

 
To unsubscribe from this group and stop receiving emails from it, send an email to rrKnights+...@googlegroups.com.

--
If you reply, the message is send to the user group which is sufficient.
("Reply All" just sends the message twice to the last author which is not required)
---You received this message because you are subscribed to the Google Groups "Royal Render Knights Tavern" group.

To unsubscribe from this group and stop receiving emails from it, send an email to rrKnights+...@googlegroups.com.

H.Schoenberger

unread,
Sep 3, 2021, 5:50:54 AM9/3/21
to Royal Render Knights Tavern
Updating this old thread with new information:
RR 9.0 (currently in Alpha) has full support of the REZ package manager https://github.com/nerdvegas/rez.
No Rez compilation required, no Rez install on each client required.
Just tell RR where your rez config file is.
Reply all
Reply to author
Forward
0 new messages