I asked a while ago; I know this is not officially supported, but I’ve got a very small shop, and our fileserver runs Ubuntu 18.04. I’m hoping to find a way to run Deadline on it (it has plenty of capacity left). Anyone been able to do so? I haven’t found a way to install the older, supported version of MongoDB.
Thx,
Jeff B
Hey Jeff,
I think I know what issue you’re running into, and you can work around it. Since Mongodb 3.2 is very old, it’s not in 18.04’s default software repositories. It does still work, and you can use the installer from Mongo’s website and the steps in this here document to work around that blocker.
Let us know how it goes!
Thanks for the quick response, Justin. I believe I tried that about 9 months ago (installing Mongo 3.2 manually), but I’ll give it another shot. I’ve learned a bit more about *nix in the meantime.
Should be minimally painful. Let us know how it goes, and any issues you have!
Thanks for the encouragement, Justin. I now have Deadline 10.1 running on my Ubuntu 18.04 server.
I took a new approach: instead of “Step 1: read the instructions”, I tried, “Step 1: read and understand the instructions”. Worked much better!
For future calls to this thread, here’s the process:
Download the appropriate Mongo Community package. I used Mongo 3.4 for Ubuntu 16 x64 (tgz package).
Using the command line install on Ubuntu, I specified to install mongoDB and use prepackaged DB, with my appropriate directories. For anyone using this method, I would recommend carefully reading through all the command-line installation options for the Repository. There are quite a few, and you will likely need to specify several for your system. It works, and I’m rendering via the new installation now (bye, bye, Windows connection limits!).
Here’s the summary list of my setup, FWIW:
Zentyal 6 SOHO [fileserver, Windows ADC, etc] running on Ubuntu 18.04
Deadline 10.1.1.3 using
MongoDB vers. 3.4.23 [community edition] for Ubuntu 16, 64bit.
My few local rendering boxes are Windows 10; the only change for those was to point them to the new repository and certificate.
Happy New Year!
Fantastic! I’m very happy to hear you’re up in action now!
I know using a more modern mongodb version is on the wishlist, so hopefully this won’t be a pain for much longer.
Happy New Year!
I’ve tried installing 10.1.2.2 and it seems like MongoDB needs to be version 3.6+ because of https://docs.mongodb.com/manual/reference/configuration-options/#net.bindIp. Which should be mentioned in here.
Are there any updates on progress for being able to fully auto install on ubuntu 18.04? Ubuntu 16 was end of life April 25 2019.
I’ve started to install mongo and deadline in ubuntu 18, but unsure about the install option --dbclientcert
. I’m assuming this certificate would be for deadline workers, but I’m not sure how to generate it. Does the deadline installer generate it normally, or should I generate it another way using the mongo certs as some certifier?
Before I start to install mongo, I generate these certificates
certificate > /etc/ssl/mongodb_ca.pem
issuing_ca > /etc/ssl/mongodb_issuing_ca.pem
private_key > /etc/ssl/mongodb_ca_key.pem
I also configure mongo to use these certificates (I hope this enforces SSL as a requirement, but if I’m wrong let me know!).
#MongoDB config file
systemLog:
destination: file
# Mongo DB's output will be logged here.
path: /opt/Thinkbox/DeadlineDatabase10/mongo/data/logs/log.txt
# Default to quiet mode to limit log output size. Set to 'false' when debugging.
quiet: true
# Increase verbosity level for more debug messages (0-5)
verbosity: 0
net:
# Port MongoDB will listen on for incoming connections
port: 27100
ipv6: true
ssl:
# SSL/TLS options
mode: enabled
# If enabling TLS, the below options need to be set:
PEMKeyFile: /etc/ssl/mongodb_ca_key.pem
CAFile: /etc/ssl/mongodb_ca.pem
http:
# Set to 'true' to enable REST interface
RESTInterfaceEnabled: false
# net:
# bindIp: localhost,mongodb.service.consul
# port: 27100
# ipv6: true
# # tls:
# # mode: requireTLS
# # certificateKeyFile: /etc/ssl/mongodb.pem
storage:
# Database files will be stored here
dbPath: /opt/Thinkbox/DeadlineDatabase10/mongo/data
engine: mmapv1
security:
authorization: disabled
So what step I would use to produce / generate --dbclientcert
and should it be provided in the mongo db config as well?
I got a bit further on this…
Since I am using an self signed intermediary CA, I figured that so long as a newly generated client certificate is signed by that intermediary, then it should work based on these docs - How to Generate a Client Certificate for MongoDB — BigchainDB Server 2.2.1 documentation
However in step 4, they show that the mongo client cert is a combined .pem file created from the signed cert and the private key (these were both .pem format as well).
cat /path/to/bdb-instance-0.crt /path/to/bdb-instance-0.key > bdb-instance-0.pem
I noticed previously, that when we use the deadline client cert that was prevously auto generated by the installer, it was .pfx. So I have a few questions remaining:
-
Does deadline RCS / or deadline worker care if this format for the client is .pem or .pfx ?
-
And is it okay if the client cert is signed by the upstream authority? Or must it be signed with the mongo db server cert as the authority?
-
Previously there was an executable named deadline_mongo in /opt/Thinkbox/DeadlineDatabase10/mongo/application/bin/, but now there is just mongo. I would have thought the deadline installer would create this, but now it is missing so I’m not sure what to do instead, any thoughts? I tried using ./mongo but it tries to establish connections over port 27017 which is not the port I installed and configured everything with.