Unable to launch 2nd worker on deadline 10.3.1.3

Currently running 10.3.1.3 on a new deployment of deadline, even though the download link says 10.3.1.4 when I downloaded it to install it?

The error im getting when trying to spin up a 2nd worker via the cli command of: deadlineworker -name “2nd-worker”. Im guessing this is a repository wide thing? or perhaps a deadline.ini config change?

Traceback (most recent call last):
  File "UI/Forms/MainWindowSlaveStartup.py", line 183, in Startup
  File "UI/Forms/MainWindowSlaveStartup.py", line 243, in ConnectToRepository
System.Net.Sockets.SocketException:  (10048): Only one usage of each socket address (protocol/network address/port) is normally permitted.
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at FranticX.Net.SocketUtils.CreateTcpListeningSocket(Int32 port, Boolean localOnly, Boolean forceIPv4)
   at FranticX.Net.SocketUtils.CreateTcpListeningSocket(Int32 port, Boolean localOnly)
   at Deadline.ListenerThread.b()
   at Deadline.ListenerThread.Initialize()
   at Deadline.Slaves.Slave.UpdateListeningPort(Int32 slaveListeningPort)
   at Deadline.Slaves.Slave.Connect(DataController dataController)
   at Deadline.Slaves.SlaveManager.Connect(RepositoryConnectionSettings connectionSettings, Boolean updateScriptManager)
   at Deadline.Applications.DeadlineApplicationManager.Connect(Boolean updateScriptManager)
   at Deadline.Applications.DeadlineApplicationManager.Connect()

Im trying to find any mention of port management, or a override somewhere in the documentation for this but cant seem to find it. I cant also seem to find any mention of 10048 or a way to auto configure this for additional workers?

Maybe its a bug or a issue with it conflicting with another repository wide setting?

You’ve likely got an override for the remote control port set in the Monitor under Tools → Configure Repository Options → Worker Settings that’s causing the collision.

If you want to keep that hardcoded port in place you’ll need to set the listening port as a part of the worker’s configuration file, you could make changes as the Workers are created, example from the RFDK here - aws-rfdk/packages/aws-rfdk/lib/deadline/scripts/python/worker-listening-port.py at mainline · aws/aws-rfdk · GitHub

Currently running 10.3.1.3 on a new deployment of deadline, even though the download link says 10.3.1.4 when I downloaded it to install it?

Yeah, the 10.3.1.4 release was to get the installers signed on MacOS. It was more efficient to just re-build the installers and leave the software version as-is.

1 Like

Thanks Justin, modifying the static port fixed it. I had a firewall policy that was allowing only specific ports, so I modified it to allow the dynamic range that would be used here and removed the static port and that resolved the error.

A little odd that there isnt a way to have them share control through that one port for all running instances on the box. Would be nice if that was split off to its own service so traffic could be controlled better.