AWS Thinkbox Discussion Forums

Deadline installation fails

I’m trying to install Deadline as part of a CI/CD process and it fails. I don’t receive any output except that the process has a return code of -1. As soon as I do it outside of the CI/CD service (same environment), everything is fine.

These are the args I’m supplying:
--prefix /opt/deadline --noguimode true --mode unattended --connectiontype Remote --daemonuser deadlineuser --launcherdaemon false

I’ve tried with 10.23.1.6, 10.2.1.1 and 10.3.0.10

Is there any way to get more details on why it failed so I can narrow in on what the problem is with my automated environment?

TIA,

Jesse

Hello @Jesse

Deadline installer does write installation logs, you may be able to find the errors in that. Installation logs live here: Database and Repository Installation (Advanced) — Deadline 10.3.1.4 documentation

Are you installing fresh or upgrading?

This is always a fresh install of the client (I only need the worker).

Silly thing: Repo/DB is already installed, right?

Did you check the installation logs?

I will. It’s a bit tricky to get at the logs since it’s in a CI/CD system. It would be helpful to be able to redirect the logs with an argument to the installer…

Afraid not, that doesn’t seem to be an option for installbuilder files, nor is it something we expose. Are you able to eject files as artifacts from your CI/CD? You could pull the log out of /tmp since it’ll be the first time the installer is run on the instance and so it’ll have a consistent file name.

I found the issue… but I’m not sure how to work around it.

Our CI/CD system installs multiple versions of the Deadline Worker in parallel. When the installer writes to /tmp, there’s a conflict because every version of the Worker uses the same sub folder in /tmp. Setting $TMPDIR (or any other variation) has no effect. Install builder can expose the tmp path (as an env var) but as far as I can tell, this isn’t done in the Deadline installer.

Ah yeah that’ll create trouble. From what I can tell that’s an installbuilder bug, we’re using ${system_temp_directory}/clientinstalltemp in the installer code that should be respecting overrides of the system’s temporary directories.

What has you installing multiple versions of Deadline to the same machine? Having the client and repository versions match isn’t required but very strongly suggested.

I spun up a container (I didn’t use a CI/CD environment) and tried running the client installer with your args, but I used TEMP instead of TMPDIR. When I used TMPDIR as the env var, it was ignored.

mkdir /opt/TEMP
export TEMP=/opt/TEMP

ran the command and the temp deadline files got written to the /opt/TEMP dir:

[root@6349f752838d /]# ls -la /opt/TEMP /tmp 
/opt/TEMP:
total 16
drwxr-xr-x. 1 root root   174 Mar 13 20:02 .
drwxr-xr-x. 1 root root    30 Mar 13 20:02 ..
-rwxrwxrwx. 1 root root  4336 Dec 16 00:58 ca-certificates.crt
drwxrwxrwx. 1 root root 28184 Mar 13 20:02 clientinstalltemp
-rwxrwxrwx. 1 root root   420 Dec 16 00:58 deadlinelauncherservice
-rw-------. 1 root root   650 Mar 13 20:02 installbuilder_installer.log

/tmp:
total 8
drwxrwxrwt. 1 root root 274 Mar 13 20:02 .
drwxr-xr-x. 1 root root 164 Mar 13 19:59 ..
prwx------. 1 root root   0 Mar 13 20:02 clr-debug-pipe-229-122533094-in
prwx------. 1 root root   0 Mar 13 20:02 clr-debug-pipe-229-122533094-out
srw-------. 1 root root   0 Mar 13 20:02 dotnet-diagnostic-229-122533094-socket
-rwx------. 1 root root 291 Feb 15  2023 ks-script-q478qgfz
-rwx------. 1 root root 701 Feb 15  2023 ks-script-xwi1grfe

So that did work - but I had to create the folders first.

The interesting thing is that it still prints the messages (but returns 0):

It seems there is another instance of the installer running.
Installation will continue, but you may run into issues
Privacy | Site terms | Cookie preferences