AWS Thinkbox Discussion Forums

shotgun intergration

Running deadline V6.0.0.44986

Under deadline 5 I had issues with shotgun integration with importing hashlib libraries which was resolved I think with some symbolic links around the 2.6.7 pythomn which was shipped with deadline 5.

This time I seem to have the same issues (upgraded from Centos 5.8 to Centos6.3) although hashlib loads, but md5 doesnt and thats why the shotguntestconnection script falls over.

Here are python and deadline outputs

[root@z600-11 lib64]# python
Python 2.6.6 (r266:84292, Jun 18 2012, 14:18:47)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

import _hashlib
import _md5
Traceback (most recent call last):
File “”, line 1, in
ImportError: No module named _md5

[root@z600-11 tmp]# cat deadline
Traceback (most recent call last):
File “none”, line 737, in main
File “/mnt/DeadlineRepository6/events/Shotgun/ShotgunUtils.py”, line 5, in
import shotgun_api3.shotgun
File “/mnt/DeadlineRepository6/events/Shotgun/shotgun_api3/init.py”, line 1, in
from shotgun import (Shotgun, ShotgunError, Fault, ProtocolError, ResponseError,
File “/mnt/DeadlineRepository6/events/Shotgun/shotgun_api3/shotgun.py”, line 47, in
import urllib2 # used for image upload
File “/opt/Thinkbox/Deadline6/bin/python/lib/python2.6/urllib2.py”, line 93, in
import hashlib
File “/opt/Thinkbox/Deadline6/bin/python/lib/python2.6/hashlib.py”, line 136, in
md5 = __get_builtin_constructor(‘md5’)
File “/opt/Thinkbox/Deadline6/bin/python/lib/python2.6/hashlib.py”, line 63, in __get_builtin_constructor
import _md5
ImportError: No module named _md5
[root@z600-11 tmp]#

[root@z600-11 tmp]# python
Python 2.6.6 (r266:84292, Jun 18 2012, 14:18:47)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

import md5
main:1: DeprecationWarning: the md5 module is deprecated; use hashlib instead

import _md5
Traceback (most recent call last):
File “”, line 1, in
ImportError: No module named _md5

So it’s looking like the Md5 module has been deprecated for hashlib.

From memory I am sure deadline was calling hashlib module, then if that failed to load drop to md5, but I cannot find the python module deadline is using this time to check.

Suggestions please?

Chris

Looks like the interpreter you’re using wasn’t configured and built with libopenssl support, or you’ve got a missing symlink/library name or binary-incompatible local library version.

Interpreter… Do you mean Python or Mono?

Chris

Looks like both to me, but it’s the platform-native Python build included in the Deadline client rather than something Mono-related.

The hashlib module only falls back on the deprecated hash modules if it can’t find openssl, which is why you’re seeing that error. In Deadline’s case, it’s looking for libssl.so.0.9.8, which is in the client’s bin installation directory.

If you look at the deadlineslave wrapper script, it’s trying to prepend the relative path to the launch script onto $LD_LIBRARY_PATH. This will work fine, as long as the working directory is never changed while the Slave process is running.

Ryan/Jon: I think the wrappers need to be changed to prepend the absolute path to the launch directory onto $LD_LIBRARY_PATH instead. On Linux, I usually just use Python to do this, but I did find a reliable sh-only method with a quick search (tested and working):

pushd `dirname $0` > /dev/null THIS_DIR=`pwd -P` popd > /dev/null

So we recently found out that the libssl/libcrypto that we’re shipping with Deadline 6 was built against a newer version of glibc than what RHEL/CentOS ship with.

This will be fixed in the next build, but in the meantime I’ve posted the updated libssl/libcrypto that link against an older version of glibc in this thread:
viewtopic.php?f=156&t=8959&start=10#p38744

Just extracting the zipped libraries to /opt/Thinkbox/Deadline6/bin should hopefully fix the issue you’re running in

Also, Nathan you’re probably right regarding the wrappers, I’ll have a look at fixing them. If not, I’ll make Ryan do it when he’s back in the office :slight_smile:

Cheers,

  • Jon

OK… Wall head bash time…

This was broken, then I upgraded (thought I had anyway) and it fixed the problem, and its now broken again and I have found I am on Beta10 which is very worrying considering I started on Beta11!

What gives?

Which version are your Slaves reportedly running (in the ‘Version’ column of the Slave panel)? Make sure to check if there aren’t just a couple Slaves on an older version as well, that could lead to some confusion.

Also, did you run the Client installer on your Slaves? Or did you just rely on an auto-upgrade from the Repository? The updated libssl/libcrypto are only part of the Client installer and aren’t updated through the auto-upgrade, so you’ll need to run the actual client installer on your Slaves.

  • Jon

I ran the client installer again to make sure I got the correct version as the auto updater did not seem to resolve the hashlib problem.

The next issue (on v6.0.050841R) is within nuke we have the submit to deadline - that works, but we now what to use the shotgun integration option.
The V5 manual says that when you hit connect to shotgun it should bring up the Deadline and ShotgunTestConnection page - this does not happen.

If I manually goto Deadline -> ShotgunTestConnection and login as chris it connects perfectly and give me a list of tasks, so the shotgun “script” is working OK.

Thoughts / ideas?

Thanks for reporting the issue with Nuke & Shotgun. We’ve logged it as a bug, and will look into it soon.

Cheers,

  • Ryan

We’ve fixed this internally. RC1 just went out today, so this will be fixed in RC2.

Privacy | Site terms | Cookie preferences