Quantcast
Channel: Licensing – Arnold Support Corner
Viewing all 39 articles
Browse latest View live

Installing the license server as a Windows service


Arnold is licensed per computer

$
0
0

If you run multiple instances of Arnold on a computer, they will all share a single license. Arnold licenses are per-computer, not per-CPU or per-core or per-user.

In the license file, the share= attribute (line 3) controls how the licenses are shared. Arnold uses share=h, which means all processes running on the same host (aka computer) will share the same license.

HOST localhost 0000DEADBEEF 5053
ISV solidangle
LICENSE solidangle arnold 400 permanent 1 share=h min_timeout=120
  start=17-oct-2012 issuer=JB customer=blair issued=17-oct-2012
  replace _ck=00d67b16fa sig="x2M232yijKbUFZ=Mx7MdfzVGiYqz5Vgk6ih1gUt
  vGn1IJyDxwv7FFDrynQwJ3N"

Port 5053 in use, waiting…

$
0
0

If you see the “Port 5053 in use, waiting…” message in your debug log (or on the console), that means there’s already an RLM license server running on that port.

C:\Program Files\RLM>rlm -c test.lic
12/05 11:44 (rlm) RLM License Server Version 9.4BL2

        Copyright (C) 2006-2012, Reprise Software, Inc. All rights reserved.

12/05 11:44 (rlm) License server started on SOLIDANGLE-PC
12/05 11:44 (rlm) Server architecture: x86_w1
12/05 11:44 (rlm) License files:
12/05 11:44 (rlm)     test.lic
12/05 11:44 (rlm)
12/05 11:44 (rlm) Web server starting on port 5054
12/05 11:44 (rlm) Port 5053 in use, waiting...
12/05 11:44 (rlm) Port 5053 in use, waiting...
12/05 11:45 (rlm) Port 5053 in use, waiting...
12/05 11:45 (rlm) Port 5053 in use, waiting...
12/05 11:45 (rlm) Port 5053 in use, waiting...

5053 is the default port for RLM licenses, so if you already have a RLM-licensed product (for example, from the Foundry or from Exocortex), then port 5053 is already in use.

The solution is simple: edit your .lic file and change the port number on the HOST line to something like 5052 or 5060. Do not use port 5054. 5054 is used for the RLM Web Server, and you’ll get a “Cannot bind Web Server port 5054, exiting” error if you try to use it for the license server.

HOST localhost 0000DEADBEEF 5060
ISV solidangle
LICENSE solidangle arnold 400 permanent 1 share=h min_timeout=120
start=30-nov-2012 issuer=sb customer=sb issued=30-nov-2012 replace
_ck=00d68b14f9 sig="c2N2558b3XHN7k+6bEYb0BhzLSCYu6aS0ih75*sy8kZUTCj
Rf76V1ThsffjhJN"

Sometimes the answer is staring you in the face

The case of the license server that wasn’t releasing licenses

$
0
0

In this case, a customer reported that the license server wasn’t releasing licenses when a render node crashed.

Why did this happen? Because the customer had an older version of the license server that didn’t have a license TIMEOUT.

Since early 2012, the Solid Angle license server ships with a default TIMEOUT of 120 seconds. That means if a workstation stops sending heartbeats to the license server, then after two minutes the license server takes back the license. So, for example, if a workstation crashes or disconnects from the network, then the license server will take back the license after a couple of minutes.

The TIMEOUT is specified in a solidangle.opt file located in the RLM folder, along with rlm.exe and solidangle.set. Newer versions of the Solid Angle license server ship with this options file, but if you don’t have it, you can either upgrade your RLM or create the file yourself. Here’s what it should look like:

TIMEOUT 120 arnold

You’ll need to restart the server to read the new options.

What are heartbeats? Heartbeats are messages sent from a licensed application to the license server while the application has one or more licenses checked out from the server. You can see them with Process Monitor. In this screenshot, you can see that XSI.exe is sending a heartbeat every one minute to the license server.
heartbeats

If you need to free a checked out license, you can “remove” it (that’s RLM-speak for taking back a checked out license).

To remove a license in rlm admin (localhost:5054):

  • Click Status.
    Status
  • Under Server Status, click solidangle.
    ServerStatus
  • Under Show License Usage, click Usage.
    ShowLicenseUsage
  • Click Remove.
    LicenseUsage-Remove

[MtoA] Doing a license check in Maya

$
0
0

If you’re doing technical support like me, you gotta love things like kick -licensecheck. I wish we’d had something like this at Softimage. This license check will tell you:

  • Whether you can connect to a license server
  • What licenses are available
  • What are the licensing environment variable settings

licensecheck

In this example, I’m running Maya and the license server on the same computer. That’s why none of the environment variables are set, but the licensecheck still shows that there’s a license available. By default, Arnold will connect to 5053@localhost to get a license.


[SItoA] Doing a license check in Softimage

$
0
0

Setting up the environment right is what often goes wrong. Running kick -licensecheck from inside Softimage is a quick way to check that you set up the environment variables correctly.

Here’s two lines of Python that will open a command prompt and run kick -licensecheck (on Windows).

#Python
from subprocess import Popen
Popen(["cmd", "/K", XSIUtils.BuildPath( Application.Plugins('Arnold Render').OriginPath, 'kick.exe' ), "-licensecheck"])

Here’s the same thing, but broken down a bit for legibility:

#Python
si = Application

p = si.Plugins('Arnold Render')
sKick = XSIUtils.BuildPath( p.OriginPath, 'kick.exe' )

from subprocess import Popen
Popen(["cmd", "/K", sKick, "-licensecheck"])

[SItoA] Unlimited batch rendering with xsibatch -processing

$
0
0

Hat tip: Andy Jones on the Softimage mailing list

You can use xsibatch -processing to render scenes with Arnold. With -processing, xsibatch uses a Processing token instead of a Batch license, so you’re not limited by the number of Batch licenses you happen to have. Back in the days before third-party renderers, -processing for was for non-rendering tasks. Now it’s for non-mental ray tasks!

I was sure I tested this long ago, but obviously I must have made a mistake on my command line.


 xsibatch -processing -render //server/project/Scenes/example.scn

=======================================================
 Autodesk Softimage 11.1.57.0
=======================================================

License information: using [Processing]
# INFO : [sitoa] SItoA 2.7.1 win loaded.
# INFO : [sitoa] Arnold 4.0.12.1 detected.
 

Here’s actual proof in the form of a screenshot :)

xsibatch_processing_render



[arnold] Getting RLM diagnostics from Arnold

$
0
0

If you want to double-check what license servers Arnold is trying to connect with, set the log verbosity level to the maximum, and you’ll get something like this:

' INFO : [arnold] 00:00:00  438mb   [rlm] checking connection to license servers ...
' INFO : [arnold] 00:00:05  438mb   [rlm]  5053@STEPHEN-PC ... DOWN
' INFO : [arnold] 00:00:05  438mb   [rlm]  5053@SOLIDANGLE-PC ... UP
' INFO : [arnold] 00:00:05  438mb   [rlm] found 1 license servers
' INFO : [arnold] 00:00:15  438mb   [rlm] checkout of arnold (version 400) from SOLIDANGLE-PC OK
' INFO : [arnold] 00:00:15  438mb   [rlm] expiration date: 31-dec-2013 (190 days left)
  • In Softimage, set the Verbosity to Debug.
  • In Maya, set the Verbosity Level to 6.
  • On the kick command line, specify -v 6.

[MacOSX] Setting up RLM to always start automatically

$
0
0

If you want the RLM license server to automatically start everytime you restart or turn on your Mac, you need to create a launch daemon. Don’t worry, it’s not as scary as it sounds :)

First, you need create a launchd property list (.plist) for RLM. It will look something like this:

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
        <key>Label</key>
        <string>com.solidangle.rlm</string>
        <key>ProgramArguments</key>
        <array>
        <string>/PATH/TO/RLM/rlm</string>
        <string>-c</string> <string>/PATH/TO/RLM/arnold.lic</string>
        <string>-dlog</string> <string>/PATH/TO/RLM/solidangle.dlog</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
 </dict>
 </plist>

This plist file basically tells the system to start rlm with the -c and -dlog flags, like this:

/Users/stblair/solidangle/RLM/rlm -c /Users/stblair/solidangle/RLM/rlm/arnold.lic -dlog /Users/stblair/solidangle/RLM/rlm/solidangle.dlog

The -c flag isn’t necessary if the license file is in the same folder as the RLM binary executable.

Here’s an example com.solidangle.rlm.plist. Download it, and use TextEdit to change the paths to match the RLM location on your computer, and then save the RLM plist file in /Library/LaunchDaemons/. Note that this download plist assumes that the license file is in the same folder, and therefore omits the -c flag.

For example:

sudo cp com.solidangle.rlm.plist /Library/LaunchDaemons

Note: The plist file needs to be owned by root, otherwise you won’t be able to load the plist. If necessary, you can change the owner like this:
sudo chown root /Library/LaunchDaemon/com.solidangle.rlm.plist

Finally, you need to load the plist:

sudo launchctl load -w /Library/LaunchDaemon/com.solidangle.rlm.plist

The license server will now automatically start, even after a restart or power down of the machine.

You can check the license server by opening a Web browser and going to localhost:5054.


[MacOSX] Setting solidangle_LICENSE

$
0
0

There are several ways you can do it.

  • You can use Maya.env to set the solidangle_LICENSE environment variable.

    In your Maya.env file, add this line:

    solidangle_LICENSE=XXXX@SERVER
    

    where XXXX is the port number, and SERVER is the name or IP address of the computer.

    Maya.env is located in your user Library. For example: /Users/steve/Library/Preferences/Autodesk/maya/2014.

    By default, the Library folder is a hidden folder, so you may need to un-hide the Library folder.

  • You can set solidangle_LICENSE as a system environment variable.
    1. Log in with an Administrator account and run this command to open a text editor.
      sudo nano /etc/launchd.conf
      
    2. Add this line to /etc/launchd.conf:
      setenv solidangle_LICENSE XXXX@SERVER
      
    3. Save the file and exit.
    4. Restart the Mac.

If you don’t want to restart your Mac just yet, you can try setting the environment variable like this (it will last until you restart your machine):

launchctl setenv solidangle_LICENSE XXXX@SERVER

Managing your license server from your browser

$
0
0

A five-minute walk through of the RLM Web Administration web page. Covers all you need to know to manage your license, from checking the license server status, stopping and re-starting servers, to gathering diagnostics to send to support.

[rlm] The curious case of the missing log entries

$
0
0

In this case, I got a debug log from a customer, but there weren’t any rlm entries in the log. As I’ve mentioned before, the Arnold log can include entries for licensing. At the Warning + Info level, you’ll get [rlm] log entries like these, if something goes wrong:

00:00:10   444MB WARNING | [rlm] could not connect to any license server

or

00:00:00   444MB WARNING | [rlm] wrong license version for arnold 20140305, found licenses for:
00:00:00   444MB WARNING | [rlm] arnold 20140206 (20 licenses)
00:00:00   444MB WARNING | [rlm] arnold 20140206 (20 licenses)
00:00:00   444MB WARNING | [rlm] please contact licensing@solidangle.com

or

00:00:03   749MB WARNING | [rlm] error checking out license for arnold (version 20140113):
00:00:03   749MB WARNING | [rlm]  * Communications error with license server (-17)
00:00:03   749MB WARNING | [rlm]  * Connection refused at server (-111)

And if you move the verbosity level up to Debug, then you’ll get some information about where Arnold is trying to get a license:

00:00:00   444MB         | [rlm] checking connection to license servers ...
00:00:05   444MB         | [rlm]  5055@LICSERVER1 ... DOWN
00:00:10   444MB         | [rlm]  5053@localhost ... DOWN

So why didn’t the customer’s log show any rlm entries? He was getting watermarks, so something must be wrong, right? Well, something was wrong: Skip License Check was enabled in the Render Settings.

No rlm log entries = Skip License Check

[Arnold] [MtoA] Disabling Skip License Check

$
0
0

watermark
If you render a scene that has Skip License Check enabled, you’ll get the Arnold watermark. One way to make sure this doesn’t happen is to turn off Skip License Check from the command line:

render -r arnold -ai:slc off some_scene.mb
kick -set options.skip_license_check off -dp -dw some.ass

You might also want to enable Abort on License Fail (-ai:alf for render, -set options.abort_on_license_fail for kick).

[Arnold] For licensing, the release date is the version

$
0
0

license_version

The latest Arnold version number is 4.2.0.5, but that’s not the version number we use for licensing. Arnold licensing uses the Arnold release date (yyyymmdd) as the version number. For example, if you have a license for version 20140512, you can any version of Arnold released before 12 May 2014.

More here…


[RLM] Checking for license denials by the license server

$
0
0

If you’re seeing watermarks on some machines but not on others, there’s usually a simple explanation: those machines cannot connect to the license server. The first thing you should do is check the RLM diagnostics on the license server. In particular, look for the solidangle Statistics, which will show you whether or not licenses are being denied. For example:

solidangle Statistics --- Since Start --- Since Midnight --- Recent ---
    Start time          03/29 18:40:20    04/01 00:00:24   04/01 12:41:30
    Messages:        39398 (   0/sec)   7755 (   0/sec)    20 (   0/sec)
    Connections:      4874 (   0/sec)   1073 (   0/sec)     4 (   0/sec)
    Checkouts:        4844 (   0/sec)   1050 (   0/sec)     3 (   0/sec)
    Denials:             0 (   0/sec)      0 (   0/sec)     0 (   0/sec)
    License removals:    0 (   0/sec)      0 (   0/sec)     0 (   0/sec)

More here…

[Houdini] License Error: Unable to connect to hserver for license acquisition

$
0
0

houdini_license_error
Yeah, this isn’t about a Solid Angle product, but about one of the DCCs that host our plugins (HtoA in this case).

So, I installed Houdini 13.0.476 the other day, and I got this “License Error: Unable to connect to hserver for license acquisition” when I tried to start HoudiniFX. I thought that was strange, because I had been running 13.0.401 moments before.

According to the licensing FAQ, that error means that the hserver service isn’t running. And, in fact, neither hserver nor sesinetd were running: they were both Disabled and marked for deletion, so I couldn’t start them from the Services console. After closing down Process Explorer, Task Manager, and the Services console, I was able to delete the services from the command line with sc delete.

At this point, I could have tried creating the services with sc create, but I was curious to see if the Houdini installer would do it for me. So I uninstalled and reinstalled. The installer asked me if I wanted to replace the newer version of sesinetd that was already on my system (huh???), and I clicked Yes. After the install finished, I had a running sesinetd service but no hserver, so I had to create it myself:

sc create HoudiniServer binPath= C:\windows\system32\hserver.exe

After that, I was able to start HoudiniFX and acquire a license.

Adding Arnold licenses to an existing RLM license server

$
0
0

If you’ve already have an RLM license server up and running, it’s easy to add your Arnold license to that server. Just download the Solid Angle RLM package, extract the solidangle.set and solidangle.opt files from the download, and copy them to your RLM folder. Then do a reread/restart of the server to pick up the Arnold licenses.

Just make sure you’re not running an older version of RLM. The Solid Angle license server (solidangle.set) requires RLM v10.1BL2 or later.

RLM is backwards compatible, which means you can always use a newer version of RLM with an older solidangle.set.

But RLM is not forwards compatible. You cannot use an older RLM with a newer solidangle.set. For example, you cannot use the current solidangle.set ISV server with RLM v9.4BL2.

If you use a newer solidangle.set with an older RLM, you’ll see something like this in the RLM log:

08/22 14:23 (rlm) RLM License Server Version 9.4BL2

        Copyright (C) 2006-2012, Reprise Software, Inc. All rights reserved.

08/22 14:23 (rlm) License server started on SOLIDANGLE-PC
08/22 14:23 (rlm) Server architecture: x86_w1
08/22 14:23 (rlm) License files:
08/22 14:23 (rlm)     arnold.lic
08/22 14:23 (rlm)
08/22 14:23 (rlm) Web server starting on port 5054
08/22 14:23 (rlm) Using TCP/IP port 5053
08/22 14:23 (rlm) Starting ISV servers:
08/22 14:23 (rlm)     ... solidangle on port 60008
08/22 14:23 (rlm) New thread created to watch ISV solidangle
(solidangle) Server settings (version 10) incompatible with RLM v9 software
(solidangle) This settings file must be used with RLM v10 (or later) software
08/22 14:23 (rlm)
08/22 14:23 (rlm) solidangle initialization error: 1, not restarting
08/22 14:23 (rlm)
08/22 14:23 (rlm) Server initialization error.
08/22 14:23 (rlm)
08/22 14:23 (rlm) This indicates either:
08/22 14:23 (rlm)  A settings file incompatible with this RLM version
08/22 14:23 (rlm)  - or -
08/22 14:23 (rlm)  The ISV server is built with an incorrect RLM license
08/22 14:23 (rlm)  - or -
08/22 14:23 (rlm)  The ISV server encountered an error processing its options fi
le.
08/22 14:23 (rlm)

[RLM] [Windows] Putting the SolidAngle debug log into append mode

$
0
0

I like the log to be in append mode so it isn’t overwritten every time the license server restarts. This is especially handy for troubleshooting license server problems (otherwise, you lose information that might explain the problem when you restart the server).

You’ll need to Run as administrator when you open a command prompt for this.

First, add a plus sign (+) to the log file name (you can use sc qc to query the config and get the current binPath, or you could just look it up in the Services console).

sc config "RLM SolidAngle" binPath= "C:\Program Files\RLM\rlm.exe -dlog \"+C:\Program Files\RLM\solidangle.log\" -service"
[SC] ChangeServiceConfig SUCCESS

Then restart the service. You could also do this in the Services console.

C:\Windows\system32>sc stop "RLM SolidAngle"

SERVICE_NAME: RLM SolidAngle
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

C:\Windows\system32>sc start "RLM SolidAngle"

SERVICE_NAME: RLM SolidAngle
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 2  START_PENDING
                                (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x1388
        PID                : 9008
        FLAGS              :

And finally, check that it really started:

C:\Windows\system32>sc query “RLM SolidAngle”

SERVICE_NAME: RLM SolidAngle
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

[RLM] Checking the license pool status

$
0
0

It’s always a good idea to confirm basic facts before moving on to more complicated testing, especially when it comes to licensing problems. For example, I’ve had several cases of “watermarks on the render farm” where it turned out the actual number of licenses was rather less than the expected number.

Fortunately, it’s easy to check the number of available licenses (aka the “license pool status”) with the RLM Web Admin page.

  1. In a web browser, open localhost:5054 (tip: you can open this page remotely too: just go to LICSERVER:5054, where LICSERVER is the name or IP address of the license server computer).
  2. Click Status.
  3. Click solidangle in the Server Status column of the ISV Servers table
  4. Check the count in the License Pool Status table

Click to enlarge
check_license_pool_status

Viewing all 39 articles
Browse latest View live