AWS Thinkbox Discussion Forums

Installation of deadline repro on Centos 6.2 64bit - MongoDB

Hi,

We have deadline 5 running, and trying out deadline V6 as we are quiet currently.

Created a deadline V6 repository called /mnt/DeadlineRepository6 and this is exported out using the same options which worked with V5

Downloaded Mono 3.0.3 and built that.

Run the deadline repository installer (sorry no idea of version/build as it’s not in the filename nor does it appear in the install window) and I have got to the point where its asking about MongoDB.

Selected “install a new MongoDB database on this machine”
System goes off and installs binaries then stops with “unable to execute validation program”.
As there is no log output from the installer command or window I have no idea what its trying to do…

Installed MongoDB via yum (client & server) and tried again - same message.
If I go "connect to an existing mongoDB then it’s asking details which I have no real idea about.

Is there a log file I can examine to see what is failing as everything has nice shiny windows which although looks cool doesn’t help when it all falls apart.

Chris

Hi Chris,

I think the problem could be Mono here. We’ve only tested against the 2.10.x version, which is the latest stable release. According to Mono’s website, Mono 3.0.3 is still in beta:
go-mono.com/mono-downloads/download.html

Can you try removing Mono 3.0.3 and install the latest 2.10.x version instead? After that, try again and let us know if you continue to have problems.

Cheers,

  • Ryan

Thanks Ryan,

I have removed Mono 3.0.3 and replaced it with mono 2.10.8.

Same fault - Unable to execute validation program. :frowning:

Thanks for trying that. The installer should be creating a log file in the temp folder on the machine. Can you check the /tmp folder to see if there is a bitrock_installer.log file there? If there is, can you upload the most recent?

Thanks!

  • Ryan

Its not very long so here is the whole file:

[root@licserver tmp]# cat bitrock_installer_13629.log
Log started 02/06/2013 at 16:38:50
Preferred installation mode : gtk
Trying to init installer in mode gtk
Mode gtk successfully initialized
Executing mono -V
Script exit code: 0

Script output:
Mono JIT compiler version 2.10.8 (tarball Wed Feb 6 16:09:51 GMT 2013)
Copyright © 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: Included Boehm (with typed GC and Parallel Mark)

Script stderr:

Installing MongoDB binaries
Installing MongoDB binaries
Installing MongoDB data
Creating MongoDB service
Creating MongoDB service
[root@licserver tmp]#

Thanks for the log. I checked our installer, and after it creates the service, it tries to run /etc/init.d/mongodb to launch it. Can you check if this file exists? If it does, can you try launching it manually from a terminal to see what happens? If you get any error messages, let us know!

Thanks!

  • Ryan

Hi Ryan,

Started digging…

[root@licserver init.d]# ./mongodb restart
MongoDB is not running
[root@licserver init.d]# ./mongodb start
Could not find mongod
[root@licserver init.d]#

Found the mongoDB is not set to start at boot time…

mongod 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@licserver rc5.d]# chkconfig mongod on
[root@licserver rc5.d]# service mongod start
Starting mongod: [ OK ]
[root@licserver rc5.d]#

mongodb 7012 1 1 12:00 ? 00:00:04 /usr/bin/mongod --quiet -f /etc/mongodb.conf run

Tried running the installer again…


After the installation has finished, you must share this directory with full
read and write permissions so that the Deadline Clients can access the
Repository. Refer to the Deadline installation documentation for more
information on sharing the Repository directory.

Installation Directory [/opt/Thinkbox/DeadlineRepository6]: /mnt/DeadlineRepository6


MongoDB Database Setup

You can connect to an existing MongoDB installation, or install a new instance on this machine. Note that you will likely have to edit your Firewall settings to allow the Deadline Clients to communicate with the MongoDB database.

[1] Install a new MongoDB database on this machine
[2] Connect to an existing MongoDB database installation
Please choose an option [1] : 1

Warning: Unable to execute validation program
Press [Enter] to continue :

Can I get the installer program so I can run it outside of the installer script to find out why it’s falling over.

Chris

Hi Chris,

It looks like you were able to launch MongoDB manually. Can you confirm that?

If you did, try running the repository installer again, but this time select “[2] Connect to an existing MongoDB database installation”. For some reason, the installer is having a heck of a time installing/starting MongoDB itself, but if you are able to launch MongoDB manually, you can skip that step.

We’ll have to set up a Centos 6.2 VM here and see if we can reproduce this problem and try to fix it.

It’s all combined into the one file actually. What you are running is the actual installer program.

Cheers,

  • Ryan

HI Ryan,

I did try and lot the following:

Do you accept this license? [y/n]: y


After the installation has finished, you must share this directory with full
read and write permissions so that the Deadline Clients can access the
Repository. Refer to the Deadline installation documentation for more
information on sharing the Repository directory.

Installation Directory [/opt/Thinkbox/DeadlineRepository6]: /mnt/DeadlineRepository6


MongoDB Database Setup

You can connect to an existing MongoDB installation, or install a new instance on this machine. Note that you will likely have to edit your Firewall settings to allow the Deadline Clients to communicate with the MongoDB database.

[1] Install a new MongoDB database on this machine
[2] Connect to an existing MongoDB database installation
Please choose an option [1] : 2


MongoDB Database Settings



Server []: licserver

Name [deadline6db]:


Port [27017]:

Database Requires Authentication [y/N]: n

Warning: An error occurred while configuring the database:

A Type Load exception occurred when trying to initialize the database
connection. This is often caused by a missing mono component, like mono-data.
Press [Enter] to continue :

MongoDB Database Settings

Chris

That’s progress! :slight_smile:

It sounds like a mono-component that Deadline needs is missing. When this happens, it’s usually the mono-data component that’s missing. I’ve seen some cases where mono-data is actually dependent on mono-winforms, and mono-winforms is dependent on libgdiplus.

When you built mono, did you just build the mono code? If so, try building libgdiplus first and installing it to see if that helps.

Cheers,

  • Ryan

Hi Ryan,

libgdiplus is there from the deadline V5 install and is version 2.6.7.

I am using a different location in that I am using /usr/local/ for the install area.

I did try rebuilding libgiplus with prefix = /usr/local and tried the install again bit that did not help.

I will do a make uninstall of mono and build again.

Chris

Hi Ryan,

Removed and rebuilt libgdiplus, then mono 2.10.8

The mono build did give me:

    mcs source:    mcs
    olive source:  

Engine:
GC: sgen and bundled Boehm GC with typed GC and parallel mark
GLIB: embedded
TLS: __thread
SIGALTSTACK: yes
Engine: Building and using the JIT
oprofile: no
BigArrays: no
DTrace: no
Parallel Mark: yes
LLVM Back End: no (dynamically loaded: no)

Libraries:
Moon Profile:  no (boehm)
MonoDroid:     no
MonoTouch:     no
JNI support:   IKVM Native
libgdiplus:    assumed to be installed
zlib:          system zlib

Then tried deadline again…
still fails at the database however I try:

[root@licserver tmp]# cat bitrock_installer_11969.log
Log started 02/11/2013 at 10:45:41
Preferred installation mode : gtk
Trying to init installer in mode gtk
Trying to init installer in mode gtk
Trying to init installer in mode xwindow
Trying to init installer in mode text
Mode text successfully initialized
Executing mono -V
Script exit code: 0

Script output:
Mono JIT compiler version 2.10.8 (tarball Mon Feb 11 10:33:38 GMT 2013)
Copyright © 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: Included Boehm (with typed GC and Parallel Mark)

Script stderr:

Installing MongoDB binaries
Installing MongoDB binaries
Installing MongoDB data
Creating MongoDB service
Creating MongoDB service
Installing MongoDB binaries
Installing MongoDB binaries
Installing MongoDB data
Creating MongoDB service
Creating MongoDB service
[root@licserver tmp]#

[root@z600-7 tmp]# cat deadline_installer
Press [Enter] to continue :

Do you accept this license? [y/n]: y


After the installation has finished, you must share this directory with full
read and write permissions so that the Deadline Clients can access the
Repository. Refer to the Deadline installation documentation for more
information on sharing the Repository directory.

Installation Directory [/opt/Thinkbox/DeadlineRepository6]: /mnt/DeadlineRepository6


MongoDB Database Setup

You can connect to an existing MongoDB installation, or install a new instance on this machine. Note that you will likely have to edit your Firewall settings to allow the Deadline Clients to communicate with the MongoDB database.

[1] Install a new MongoDB database on this machine
[2] Connect to an existing MongoDB database installation
Please choose an option [1] : 1

Warning: Unable to execute validation program
Press [Enter] to continue :

MongoDB Database Setup

You can connect to an existing MongoDB installation, or install a new instance on this machine. Note that you will likely have to edit your Firewall settings to allow the Deadline Clients to communicate with the MongoDB database.

[1] Install a new MongoDB database on this machine
[2] Connect to an existing MongoDB database installation
Please choose an option [1] : 1

Warning: Unable to execute validation program
Press [Enter] to continue :

MongoDB Database Setup

You can connect to an existing MongoDB installation, or install a new instance on this machine. Note that you will likely have to edit your Firewall settings to allow the Deadline Clients to communicate with the MongoDB database.

[1] Install a new MongoDB database on this machine
[2] Connect to an existing MongoDB database installation
Please choose an option [1] : 2


MongoDB Database Settings



Server []: licserver

Name [deadline6db]:


Port [27017]:

Database Requires Authentication [y/N]: N

Warning: An error occurred while configuring the database:

A Type Load exception occurred when trying to initialize the database
connection. This is often caused by a missing mono component, like mono-data.
Press [Enter] to continue :

Chris

SUCESS!!

I poked around the mongo database log files and found that it was binding to localhost and not the hostname so when I performed the install said Y to have DB and used 127.0.0.1 for hostname.

[root@licserver tmp]# cat bitrock_installer_31480.log
Log started 02/11/2013 at 12:26:49
Preferred installation mode : gtk
Trying to init installer in mode gtk
Trying to init installer in mode gtk
Trying to init installer in mode xwindow
Trying to init installer in mode text
Mode text successfully initialized
Executing mono -V
Script exit code: 0

Script output:
Mono JIT compiler version 2.10.8 (tarball Mon Feb 11 10:33:38 GMT 2013)
Copyright © 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: Included Boehm (with typed GC and Parallel Mark)

Script stderr:

Configuring database (this may take a few minutes)
Executing mono “/tmp/repoinstalltemp/deadlinecommand.exe” -ConfigureDatabase “MongoDB” “127.0.0.1” “deadline6db” “27017” “0” “false” “0” “” “”
Script exit code: 0

Script output:

Script stderr:

Preparing to Install
Backing up repository
Backing up repository
Preparing to Install
Unpacking files
Unpacking files
Unpacking files
Unpacking files
Unpacking files
Creating Shortcut for Uninstall Deadline Repository
Setting db type to MongoDB
Setting db host to 127.0.0.1
Setting db name to deadline6db
Setting db port to 27017
Setting db http port to 0
Setting db ssl to false
Setting db authenticate to 0
Setting db user to
Setting db password
Updating plugin and event settings
Executing mono “/tmp/repoinstalltemp/deadlinecommand.exe” -UpgradePluginSettings “/mnt/DeadlineRepository6”
Script exit code: 0

Script output:

Script stderr:

Removing temporary files
Creating Uninstaller
Creating uninstaller 25%
Creating uninstaller 50%
Creating uninstaller 75%
Creating uninstaller 100%
Installation completed
Log finished 02/11/2013 at 12:27:38

Hope the client install is not this painful!

Chris

Glad to hear you got it working!

To summarize, it looks like the following contributed to this problem:

  1. MongoDB wasn’t being started by our Repository installer after the MongoDB binaries were installed.
  2. You needed to use the IP address 127.0.0.1 to connect to and configure the database.

Can you confirm this? Is there anything I’m missing? We want to try and reproduce these problems and figure out ways to make this simpler.

Also, for (2), did you try using the machine’s hostname instead of ‘localhost’ to see if that worked? The reason I ask is that the MongoDB host setting is used by the Deadline applications to connect to the database. So if you have 127.0.0.1 set as the host, they won’t be able to connect.

I should note that as of beta 11, you can separate multiple host entries with a semicolon, so if the database machine’s host name is ‘myserver’, you could specify something like ‘127.0.0.1;myserver’. That might help if you are unable to use the database machine’s host name to configure the database. If necessary, you can edit the host setting manually in /your/repository/settings/dbConnect.xml.

The clients should be more straightforward now that you have the database running. As long as you have the right version of Mono (2.10.x) and the clients can connect to the database using the host in /your/repository/settings/dbConnect.xml, you should be good.

Cheers,

  • Ryan

For 1) - the service is not set to start at boot time, therefore I doubt it will start from a script also so you will need a “/sbin/chkconfig mongod on”

For 2) - I did try the hostname licserver, and got nowhere. I suspect (well 99.9999% sure) 127.0.0.1 is bad as the client cannot contact the mongoDB even after editing the xml file.

Missing - can we add in the documentation that mono relies on libdigplus so that will need installing. Not sure about the pre-built mono packages if these have libdigplus also, or a requirement for it.

Chris

  1. Our installer software is supposed to handle this automatically, but it looks like there may be a bug. We’ve logged this and will try to reproduce.

  2. Could there be a DNS issue here? Maybe try using the machine’s network IP address?

We do plan on creating documentation to build mono from source, and we will make sure this is noted.

Thanks again for the info!

  • Ryan
Privacy | Site terms | Cookie preferences