Installs across a render farm via 'Execute Command'

Hi Folks,

This might sound like a daft question but how easy would it be to install a software deployment across a render farm using Deadline? I assume it would be a case of running a command or script via ‘Execute Command’ in Monitor but have no clue how I’d do it :blush:

I’ve already created a deployment of 3DS Max to install across the farm but have previously done it manually, one machine at a time. Just wondering if anyone had any pointers for a non-programmer?

Thanks & all the best,

Andy

Without having the “proper tools in place”…

This is what I have done in the past.

You find all the options you need in order to install the package and determine it’s final installation location. In the example below, we are installing Deadline 5.2 to c:\Deadline (you can change this to anythin you like. Use quotes ( " ) if there are spaces in the folder name.

** Step 1 **

Create batch file (contents as follows):

** Batch file start **

Taskkill /IM deadline* /F
c:\temp\deadline52.exe /prefix c:\deadline /mode silent /autostart Yes /licenseserver @[server_name] /repository \[deadline_server_name][deadlinerepository]

** Batch file end **

** Step 2 **

Create a server share with rights for the renderfarm to read from.
Copy Deadline install file and batch file from above to said server share.

** Step 3 **

Run command from Deadline monitor:

Robocopy \[server_name\Server_share[Folder containing Deadline Executable & batch file from above] c:\temp /S /E

** Step 4 **

Download and install PSEXEC and PSTOOLS (These will help you in your daily life or at least this one time)

technet.microsoft.com/en-ca/sysi … 96649.aspx

** Step 5 **

Create another batch file on a server that you are logging into with Domain or Enterprise Admin rights. Install said download from step 4 here. Copy the files into c:\windows\system32 folder (makes life easier)

** Batch file start **

psexec \[machine_name1],[machine_name2],[machine_name3],[machine_name4],… c:\temp[batch_file_1_created_in_step_1_name].bat

** Batch file end **

I would not use more than 20 machines per line/file. You can create multiple batch files to synchronously install across many machines at a time. That is up to you.


Alternatively, if your Render Machines are logged in using Admin rights, you can simply execute your batch file created in step 1 after copying the files in step 2 directly from the monitor.

And there you have “the poor company’s” large scale deployment guide without using expensive software… Of course, this works out best using MSI files instead of executables, but that depends on the vendor whom you are receving said executables from. Thank you ThinkBox for having great install options in your EXE files.

Awesome post. Stuff like this should be stickied for those of us who don’t have any programming knowledge. Thank you.

Wow,thanks so much Jason! That’s really helpful :slight_smile:

I have 120 machines to install and keep updated, so hopefully your solution will save me at least some of the pain.

Our 3DS MAX deployment is located on the same machine as our Deadline Repository, so all the render slaves can see and have access to it. The 3DS MAX deployment setup is an exe rather than an MSI, so I guess that makes it more tricky to execute judging by your last comment?

Thanks again for such a detailed post. I’ll give it a try on a couple of test machines and see how I get on.

Thanks again & all the best,

Andy