Client Installation (Advanced)

Overview

Before proceeding with this installation, it is highly recommended to read through the Render Farm Considerations documentation.

This guide will walk you through the installation of the Client. At this point, you should already have the Database and Repository installed. If you do not, please see the Database and Repository Installation (Advanced) documentation for installation instructions.

The Client consists of the following applications:

  • Launcher: Acts as a launch point for the Deadline applications on workstations, and facilitates remote communication on render nodes.
  • Monitor: An all-in-one application that artists can use to monitor their jobs and administrators can use to monitor the farm.
  • Slave: Controls the rendering applications on the render nodes.
  • Command: A command line tool that can submit jobs to the farm and query for information about the farm.
  • Pulse: An optional mini server application that performs maintenance operations on the farm, and manages more advanced features like Auto Configuration, Power Management, Slave Throttling, and Statistics Gathering. If you choose to run Pulse, it only needs to be running on one machine.
  • Balancer: An optional Cloud-controller application that can create and terminate Cloud instances based on things like available jobs and budget settings. If you choose to run Balancer, it only needs to be running on one machine.
  • Web Service: An optional application that handles HTTP requests for information about the farm.
  • Proxy Server: An optional application that handles HTTP or HTTPS connections to a remote repository for use by Deadline applications.
  • License Forwarder: An optional application that acts as a license server for third party applications when using Third Party Usage Based Licensing.

Note that the Slaves and the Balancer applications are the only Client applications that require a license. It is recommended to run your operating system LANGUAGE as “ENGLISH” to ensure all the application plugin StdoutHandler/PopupHandler/Ignorer’s work correctly.

Pre Client Install Steps

Before installing the Client software, you must mount the Deadline Repository directory setup in the previous section:

Linux

NFS Server

You will need to install nfs-common on the node. On Ubuntu use:

>>> sudo apt-get install nfs-common

If you are using CentOS/RHEL use:

>>> sudo yum install nfs-utils

Note if you are unable to find the above package try updating apt-get and retrying.

>>> sudo apt-get update

As you want the directory to auto mount, as you do not want to worry about it every time the machine is restarted, we will create an entry in /etc/fstab. To do this, first we must create the folder to be mounted to:

>>> sudo mkdir /mnt/DeadlineRepository7

Above we are creating a folder in /mnt, this is where we are going to mount the NFS server DeadlineRepository7 share. Now create the entry in /etc/fstab.

>>> sudo nano /etc/fstab

On the last line of fstab, enter the below line:

<Fully qualified server name or IP>:/opt/Thinkbox/DeadlineRepository7 /mnt/DeadlineRepository7 nfs rw,hard,intr 0 0

When the machine is rebooted, it will look to fstab for what drives to mount. If you want to mount drives listed in fstab outside a reboot, enter:

>>> sudo mount -a

To confirm the drive mounted correctly do a ls on the newly mounted directory, to verify it matches what is listed on the NFS server.

>>> ls /mnt/DeadlineRepository7

Note: if you enter the above mount command and it just sits there, without error or success; try going onto your NFS server to restart the service, and try again.

>>> sudo /etc/init.d/nfs-kernel-server restart

Installing The Clients

The Client should be installed on your render nodes, workstations, and any other machines you wish to participate in submitting, rendering, or monitoring jobs. The Slaves and the Balancer applications are the only Client applications that require a license. Before you can configure the license for the Client, the license server must be running. See the Licensing documentation for more information.

If you choose to run Pulse, you need to install the Client on the chosen machine. Note that if you wish to run it on the same machine as the Database and/or Repository, you still have to install the Client on that machine.

There are Client installers for Windows, Linux, and Mac OS X. To install the Client, simply run the appropriate installer for your operating system and follow the steps.

Windows

Start the installation process by double-clicking on the Windows Client Installer. The Windows Client installer also supports silent installations with additional options.

windows_setup windows_directory

Choose an installation location and press Next to continue.

windows_connection_type windows_repository windows_client_proxy

Choose a Connection Type (Repository or Proxy Server). The following settings are available:

  • Repository Directory: This is the shared path to the Repository. Note, if you are unable to browse to your Repository shared path via your drive mapping in the install wizard, then this is more than likely due to a problem with Windows UAC elevation. Essentially, even if the currently logged in user has the network drive configured; that configuration is not available in the elevated scope, as you are technically another user here. This is something which is handled by the OS so we cannot do anything on our side. However, possible workarounds are to simply select the UNC path instead that the drive is mapped to OR logon to the system as the user account with elevated permissions (local administrator for example) and then run the client install wizard. This option is only available if the Connection Type is Repository.
  • Proxy Server Address: This is the IP Address and Port of the Proxy Server. This option is only available if the Connection Type is Proxy Server.
  • Proxy Server SSL Certificate: This is the path to the ssl certificate required to connect to the Proxy Server machine. If the Proxy Server does not use authentication then this field must be left blank. This option is only available if the Connection Type is Proxy Server.

windows_license windows_standard windows_ubl

Choose a Licensing Type (Standard, Usage Base, License Free). Chose License Free if you want to enter your license information at a later time. The following settings are available if not in License Free mode:

  • License Server: The license server entry should be in the format @SERVER, where SERVER is the host name or IP address of the machine that the license server is running on. If you configured your license server to use a specific port, you can use the format PORT@SERVER. For example, @lic-server or 27000@lic-server. This option is only available if the License mode is Standard.
  • License URL: The URL for an account that has entitled credits. This option is only available if the License mode is Usage Based.
  • Activation Code: The Activation Code that corresponds to the account specified in the License URL. This option is only available if the License mode is Usage Based.

windows_launcher

The following Launcher settings are available:

  • Launch Slave When Launcher Starts: If enabled, the Slave will launch whenever the Launcher starts.
  • Install Launcher As A Service: Enable this if you which to install the Launcher as a service. The service must run under an account that has network access. See the Windows Service documentation below for more information.

After configuring the Client and Launcher settings, press Next to continue with the installation.

Linux

Note that on Linux, the Deadline applications have dependencies on some libraries that are installed with the lsb (Linux Standard Base) package. To ensure you have all the dependencies you need, we recommend installing the full lsb package. Note, CentOS 7 by default, no longer has the LSB package installed, so this must be installed. In addition, the libX11 and libXext must be installed on Linux for the Deadline applications to run on your user-based WORKSTATIONS, even if running them with the -nogui flag. They’re required for the Idle Detection feature to work on your WORKSTATIONS. This means, that X11 is NOT required on your headless RENDERNODES. To check if libX11 and libXext are installed, open a Terminal and run the following commands. If they are installed, then the path to the libraries will be printed out by these commands.

>>> ldconfig -p | grep libX11
>>> ldconfig -p | grep libXext

Addtionally, libQtCommercialCharts requires OpenGL on your workstations. Normally this is shipped with your graphics card drivers, but a software-only solution called Mesa exists if users wish to use Deadline without a graphics card.

>>> ldconfig -p | grep libMesaGL1 (libgl1-mesa-glx on Debian)

If any of these libraries are missing, then please contact your local system administrator to resolve this issue. Here is an example assuming you have root access, using YUM (RedHat) to install them on your system:

>>> sudo -s

# WORKSTATIONS
>>> yum install redhat-lsb
>>> yum install libX11
>>> yum install libXext
>>> yum install libMesaGL1

# RENDERNODES
>>> yum install redhat-lsb

On Ubuntu:

>>> sudo -s

# WORKSTATIONS
>>> apt-get install lsb
>>> apt-get install libx11-6
>>> apt-get install libxext-6
>>> apt-get install libgl1-mesa-6

# RENDERNODES
>>> apt-get install lsb

Start the installation process by double-clicking on the Linux Client Installer. The Linux Client installer also supports silent installations with additional options.

linux_setup linux_directory

Choose an installation location and press Next to continue.

linux_connection_type linux_repository linux_client_proxy

Choose a Connection Type (Repository or Proxy Server). The following settings are available:

  • Repository Directory: This is the shared path to the Repository. Note, if you are unable to browse to your Repository shared path via your drive mapping in the install wizard, then this is more than likely due to a problem with Windows UAC elevation. Essentially, even if the currently logged in user has the network drive configured; that configuration is not available in the elevated scope, as you are technically another user here. This is something which is handled by the OS so we cannot do anything on our side. However, possible workarounds are to simply select the UNC path instead that the drive is mapped to OR logon to the system as the user account with elevated permissions (local administrator for example) and then run the client install wizard. This option is only available if the Connection Type is Repository.
  • Proxy Server Address: This is the IP Address and Port of the Proxy Server. This option is only available if the Connection Type is Proxy Server.
  • Proxy Server SSL Certificate: This is the path to the ssl certificate required to connect to the Proxy Server machine. If the Proxy Server does not use authentication then this field must be left blank. This option is only available if the Connection Type is Proxy Server.

linux_license linux_standard linux_ubl

Choose a Licensing Type (Standard, Usage Base, License Free). Chose License Free if you want to enter your license information at a later time. The following settings are available if not in License Free mode:

  • License Server: The license server entry should be in the format @SERVER, where SERVER is the host name or IP address of the machine that the license server is running on. If you configured your license server to use a specific port, you can use the format PORT@SERVER. For example, @lic-server or 27000@lic-server. This option is only available if the License mode is Standard.
  • License URL: The URL for an account that has entitled credits. This option is only available if the License mode is Usage Based.
  • Activation Code: The Activation Code that corresponds to the account specified in the License URL. This option is only available if the License mode is Usage Based.

linux_launcher

The following Launcher settings are available:

  • Launch Slave When Launcher Starts: If enabled, the Slave will launch whenever the Launcher launches.
  • Install Launcher As A Daemon: Enable this if you which to install the Launcher as a daemon. You can also choose to run the daemon as a specific user. If you leave the user blank, it will run as root instead. See the Linux Daemon documentation below for more information.

After configuring the Client and Launcher settings, press Next to continue with the installation.

Mac OS X

Start the installation process by double-clicking on the Mac Client Installer. The Mac Client installer also supports silent installations with additional options.

osx_setup osx_directory

Choose an installation location and press Next to continue.

osx_connection_type osx_repository osx_client_proxy

Choose a Connection Type (Repository or Proxy Server). The following settings are available:

  • Repository Directory: This is the shared path to the Repository. Note, if you are unable to browse to your Repository shared path via your drive mapping in the install wizard, then this is more than likely due to a problem with Windows UAC elevation. Essentially, even if the currently logged in user has the network drive configured; that configuration is not available in the elevated scope, as you are technically another user here. This is something which is handled by the OS so we cannot do anything on our side. However, possible workarounds are to simply select the UNC path instead that the drive is mapped to OR logon to the system as the user account with elevated permissions (local administrator for example) and then run the client install wizard. This option is only available if the Connection Type is Repository.
  • Proxy Server Address: This is the IP Address and Port of the Proxy Server. This option is only available if the Connection Type is Proxy Server.
  • Proxy Server SSL Certificate: This is the path to the ssl certificate required to connect to the Proxy Server machine. If the Proxy Server does not use authentication then this field must be left blank. This option is only available if the Connection Type is Proxy Server.

osx_license osx_standard osx_ubl

Choose a Licensing Type (Standard, Usage Base, License Free). Chose License Free if you want to enter your license information at a later time. The following settings are available if not in License Free mode:

  • License Server: The license server entry should be in the format @SERVER, where SERVER is the host name or IP address of the machine that the license server is running on. If you configured your license server to use a specific port, you can use the format PORT@SERVER. For example, @lic-server or 27000@lic-server. This option is only available if the License mode is Standard.
  • License URL: The URL for an account that has entitled credits. This option is only available if the License mode is Usage Based.
  • Activation Code: The Activation Code that corresponds to the account specified in the License URL. This option is only available if the License mode is Usage Based.

osx_launcher

The following Launcher settings are available:

  • Launch Slave When Launcher Starts: If enabled, the Slave will launch whenever the Launcher launches.
  • Install Launcher As A Daemon: Enable this if you which to install the Launcher as a daemon. You can also choose to run the daemon as a specific user. If you leave the user blank, it will run as root instead. See the Mac OS X Daemon documentation below for more information.

After configuring the Client and Launcher settings, press Next to continue with the installation.

Command Line or Silent Installation

The Client installer can be run in command line mode or unattended mode on each operating system. Note though that on OS X, you must run the installbuilder.sh script that can be found in the Contents/MacOS folder, which is inside the Mac Client Installer package.

To run in command line mode, pass the “–mode text” command line option to the installer. For example, on Linux:

./DeadlineClient-X.X.X.X-linux-x64-installer.run --mode text

To run in silent mode, pass the “–mode unattended” command line option to the installer. For example, on Windows:

DeadlineClient-X.X.X.X-windows-installer.exe --mode unattended

To get a list of all available command line options, pass the “–help” command line option to the installer. For example, on OS X:

/DeadlineClient-X.X.X.X-osx-installer.app/Contents/MacOS/installbuilder.sh --help

Note that there are quite a few Client installer options that are only available from the command line, which you can view when running the “–help” command. These options include:

  • --help: Display the list of valid options.
  • --version: Display product information.
  • --unattendedmodeui <unattendedmodeui>: Unattended Mode UI. Default: none. Allowed: none minimal minimalWithDialogs.
  • --optionfile <optionfile>: Installation option file. Default: "".
  • --debuglevel <debuglevel>: Debug information level of verbosity. Default: 2. Allowed: 0 1 2 3 4.
  • --mode <mode>: Installation mode. Default: osx. Allowed: osx text unattended.
  • --debugtrace <debugtrace>: Debug filename. Default: "".
  • --installer-language <installer-language>: Language selection. Default: en. Allowed: en.
  • --prefix <prefix>: The path to install the Client software to. Default: /Applications/Thinkbox/Deadline7 (Mac OS X), C:\Program Files\Thinkbox\Deadline7\ (Win) or /opt/Thinkbox/Deadline7\ (Linux).
  • --connectiontype <connectiontype>: Connection Type. Default: "". Allowed: Repository Proxy.
  • --repositorydir <repositorydir>: The path to the Deadline Repository. Default: "".
  • --proxyrootdir <proxyrootdir>: The default ProxyRoot used by the Client. Default: "".
  • --proxycertificate <proxycertificate>: The default SSL certificate used by the Client. Default:"".
  • --configport <configport>: The port that the Client uses for Auto Configuration. Default: 17001.
  • --slavestartupport <slavestartupport>: The port that the Slaves use to ensure that only one slave is initializing at a time. Default: 17003.
  • --slavedatadir <slavedatadir>: The local path where the Slave temporarily stores plugin and job data from the Repository during rendering (if not specified, the default location is used). Default: "".
  • --noguimode <noguimode>: If enabled, the Launcher, Slave, and Pulse will run without a user interface on this machine. Default: false.
  • --killprocesses <killprocesses>: If enabled, the installer will kill any running Deadline processes before proceeding with the installation (Windows only). Default: false.
  • --licensemode <licensemode>: License Mode. Default: Standard. Allowed: Standard UsageBased.
  • --licenseserver <licenseserver>: The license server to use. Default: "". Example: 2708@hostname.domain.
  • --region <region>: The region that this machine is in. Default: "".
  • --launcherport <launcherport>: The Launcher uses this port for Remote Administration, and it should be the same on all Client machines. Default: 17000.
  • --launcherstartup <launcherstartup>: If enabled, the Launcher will automatically launch when the system logs in (non-service mode on Windows only). Default: true.
  • --restartstalled <restartstalled>: If enabled, the Launcher will try to restart the Slave application on this machine if it stalls. Default: false.
  • --slavestartup <slavestartup>: If enabled, the Slave will automatically start when the Launcher starts. Default: true.
  • --serviceuser <serviceuser>: The user name for the Launcher service (Windows only). Default: "".
  • --servicepassword <servicepassword>: The password for the Launcher service (Windows only). Default: "".
  • --launcherservice <launcherservice>: If enabled, the Launcher will be installed as a service, and requires an account with network access (Windows only). Default: false.
  • --daemonuser <daemonuser>: The user to run the Launcher daemon as, or leave blank to run as root (Linux and Mac OS X only). Default: "".
  • --launcherdaemon <launcherdaemon>: If enabled, the Launcher will be installed as a daemon (Linux and Mac OS X only). Default: false.
  • --launcherservicedelay <launcherservicedelay>: If the Launcher is running as a service or daemon, this is the amount of seconds it waits after starting up before launching other Deadline applications. Default: 60.
  • --autoupdateoverride <autoupdateoverride>: Overrides the Auto Update setting for this client installation (leave blank to use the value specified in the Repository Options). Default: "".

Note, where applicable (contains spaces), it is recommended to encapsulate options in quoatation marks, such as:

--prefix "C:\Program Files\Thinkbox\Deadline7\" --repositorydir "\\network path\with spaces\in it\"

Installation Logging

Our client installer creates an installation log in the system’s temporary directory. On Linux and Mac OS X, this typically means the /tmp directory. On Windows, the log will be created in the user’s local temp directory, usually C:\Documents and Settings\%username%\Local Settings\Temp. The default name of the generated log file is bitrock_installer.log, but if the file already exists from a previous installation, the installer will try to create an unique filename trying bitrock_installer_[pid].log and bitrock_installer_[pid]_[uid].log where [pid] is the PID of the process and [uid] is an unique identifier. On Linux, if the /tmp directory is not writable, it will attempt to use /var/tmp, /usr/tmp and ~/tmp instead.

Microsoft SCCM Installation for Windows

Microsoft System Center Configuration Manager (SCCM) allows you to manage software distribution to selected target systems through a remote process. For more information about this topic, go to Microsoft TechNet and search for “System Center Configuration Manager”. Deadline Client software on Windows can be installed and later uninstalled if necessary, by following these steps to create an SCCM Application Package and deploy it in your company.

Installing as a Service

On Windows and Linux, you can choose to install the Launcher as a service or daemon during installation. There are a few things to keep in mind when running Deadline in this mode.

Windows Service

When running as a service on Windows, the Launcher will run without displaying its system tray icon. If the Slave or Pulse application is started through the Launcher while it is in this mode, they will also run without a user interface. Finally, the Launcher can still perform an auto-upgrade, but only when launching the Slave and Pulse applications (launching the Monitor, for example, will not invoke an upgrade).

Note that when running the Launcher as a service, the Slave or Pulse application will also run in a service context. Since services run in a different environment, and potentially under a different user profile than the one currently logged in, certain considerations need to be made.

First, the default user for a service has no access to network resources, so while Launcher service will run without any issues, neither the Slave nor Pulse applications will be able to access the Repository. To avoid network access issues, you must configure the service to run as a user with network privileges. Typical desktop users have this permission, but check with your system administrator to find which account is best for this application.

Another issue presented by the service context is that there is no access to the default set of mapped drives. Applications will either need to map drives for themselves, or make use of UNC paths. While Deadline supports Automatic Drive Mapping, the SMB protocol does not allow sharing a resource between two users on the same machine. This means that mapping of drives or accessing a resource with different credentials may fail when running as a service on a machine which already requires access to the Repository.

There is also an issue with hardware-based renderers. Starting with Windows Vista, services now run in a virtualized environment which prevents them from accessing hardware resources. Because the renderer will run in the context of a service, hardware-based renderers will typically fail to work.

To ensure Deadline’s Automatic Upgrade/Downgrade system works correctly; make sure the service account used to run Deadline Launcher has the ability to start and stop the service. This permission can be added to the service account by an Administrator user as follows:

setacl.exe \\computername\deadline7launcherservice /service /grant <serviceaccount> /start_stop

Linux Daemon

When installing the daemon, the Client installer creates the appropriate deadlinelauncherservice script in /etc/init.d.

When running as a daemon on Linux, the Launcher will run without displaying its system tray icon. If the Slave or Pulse application is started through the Launcher while it is in this mode, they will also run without a user interface. This is useful when running Deadline on a Linux machine that doesn’t have a Desktop environment.

Mac OS X Daemon

When installing the daemon, the Client installer creates the appropriate com.thinkboxsoftware.deadlinelauncher.plist file in /Library/LaunchDaemons.

When running as a daemon on Mac OS X, the Launcher will run without displaying its system tray icon. If the Slave or Pulse application is started through the Launcher while it is in this mode, they will also run without a user interface.

Client License Configuration

Before you can configure the license for the Client, the license server must be running. See the Licensing documentation for more information.

If you didn’t configure the license for the Client during installation (see above), there are a couple of ways to set the license for the Client. The quickest way is to use the right-click menu in the Launcher or the File menu in the Slave application to change the license server.

../_images/change_license_server_ubl.png

The other option is to set up Auto Configuration so that the Client automatically pulls the license server information.

Uninstallation

The Client installer creates an uninstaller in the folder that you installed the Client to. To uninstall the Client, simply run the uninstaller and confirm that you want to proceed with the uninstallation.

../_images/uninstall_client.png

Command Line or Silent Uninstallation

The Client uninstaller can be run in command line mode or unattended mode on each operating system.

To run in command line mode, pass the “–mode text” command line option to the installer. For example, on Linux:

./uninstall --mode text

To run in silent mode, pass the “–mode unattended” command line option to the installer. For example, on Windows:

uninstall.exe --mode unattended

To get a list of all available command line options as a pop-up dialog, pass the “–help” command line option to the installer. For example, on Windows:

uninstall.exe --help

To get a list of all available command line options in the terminal, pass the “–help” command line option to the installer and an additional option when on Mac OS X:

./uninstall osx-intel --help

Note that there are a few Client uninstall options that are only available from the command line, which you can view when running the “–help” command. These options include:

  • --help: Display the list of valid options.
  • --version: Display product information.
  • --debuglevel <debuglevel>: Debug information level of verbosity. Default: 2. Allowed: 0 1 2 3 4.
  • --mode <mode>: Installation mode. Default: osx. Allowed: osx text unattended.
  • --debugtrace <debugtrace>: Debug filename. Default: "".
  • --installer-language <installer-language>: Language selection. Default: en. Allowed: en.

Uninstall Logging

Our Client uninstall process creates an uninstall log in the system’s temporary directory with the same behaviour as the Client Installation log.