Softimage network licenses explained…visually with ICE


A couple of weeks ago on si-community, there was a discussion of Softimage licensing and someone wished there was a graphic that explained Softimage licensing…

A network license includes one Softimage license, and five Batch licenses.

  • The Softimage license is the “interactive” license: it allows you to run xsi.exe on one computer.
  • The Batch licenses run xsibatch, and are used for command-line rendering on render nodes. One Batch license = one render node.

Each instance of xsi.exe and xsibatch.exe can use up to four satellite computers for satellite rendering.
network-licenses-satellite

You can run multiple copies of xsi.exe or xsibatch.exe on the same computer. A license is shared as long as processes are running under the same user account and on the same host (aka computer).

You can run an unlimited number of xsibatch -processing jobs. With xsibatch -processing, you can do anything except render. Typically you use it to run script jobs on scene files.

And finally, you can also use the Softimage license to run xsibatch.

Update: As requested in the comments, here’s six render nodes, each using four satellite computers:
network-license-rendernodes-w-satellite

The case of the fatal missing registry key


Otherwise known as the case where composite.exe cannot determine a product license to use:

The last time I saw this error, it turned out to be a problem with the ProductInformation.pit file. However, this time it turned out to literally what the error message says: Composite couldn’t figure out what license to use. The tricky part was figuring out why.

First we tried a couple of configuration “tricks”, but those didn’t help in this case.

  • Set the ADSK_COMPOSITE_LICENSE environment variable to SOFTIMAGE (or MAYA if you have Maya, or 3DSMAX if you have Max).
  • Add these lines to toxik.ini (which doesn’t exist by default, so you may have to create the file
    %USERPROFILE%\Documents\toxik\2013\toxik.ini with your favorite text editor).

    toxik::deployment::licenseType                Standalone
    toxik::deployment::softimagelocation          C:\Program Files\Autodesk\Softimage 2013
    

    Note that alternatively, instead of setting toxik::deployment::softimagelocation in the INI file, you could set the environment variable SI_HOME.

And unfortunately, Composite wasn’t logging any license-related information or errors.

Fortunately I’m the curious type, so I’d been using Process Monitor to see what composite.exe was doing at startup, and I had a pretty good hunch what was wrong. And when I got a Process Monitor log from the customer, it only took a minute to spot the problem: a missing registry key.

When ADSK_COMPOSITE_LICENSE is set to SOFTIMAGE, composite.exe uses the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\Softimage\InstallPaths\2013 to find Softimage. The customer’s machine was missing that registry key, so composite.exe couldn’t find Softimage and therefore couldn’t figure out what license to use.

Why was the registry key missing? I don’t know.

Have license, will travel?


Umm…not quite. The Autodesk end-user license agreement (hereafter referred to as the “EULA”) restricts license usage to the country or territory of purchase.

Section 2.1.3 of the EULA says:

2.1.3 Territory. Except as otherwise authorized in writing by Autodesk, the licenses granted in this Agreement are granted only for the Territory. Nothing in this Agreement permits Licensee (including, without limitation, Licensee’s Personnel, if any) to Install or Access the Licensed Materials outside of the Territory.

Extra-territory usage is a subscription benefit:

Extra Territory Rights – Allows usage of a license outside of the country of purchase for up to 90 days per a year. This benefit can be used by End Users. No companion license would be needed, however if installing outside the country of purchase and requiring a manual install, explanation of benefit may be needed.

So, what’s a territory? Again, from the EULA:

From the EULA:

33. “Territory” (a) means the country, countries or jurisdiction(s) specified in the License Identification, or (b) if there is no such License Identification, or no country or jurisdiction is specified in the License Identification, means the country in which Licensee acquires a license to the Autodesk Materials. If the License Identification specifies, or Licensee acquires the Autodesk Materials in, a member country of the European Union or the European Free Trade Association, Territory means all the countries of the European Union and the European Free Trade Association.

But what if you’re not in Europe? What’s your territory? The EULA says you can find your territory in the License Identification:

14. “License Identification” means one or more designations by Autodesk that set forth the License Type (among other things) for Licensee’s license of the Licensed Materials. The License Identification may be (a) located (i) in the Licensed Materials (e.g., in an “About” box, license information dialog box, or text file of Software), (ii) on or with Autodesk packaging, or (iii) in a written confirmation or other notice issued to Licensee by Autodesk and transmitted via email, facsimile, physical delivery, or otherwise, or (b) obtained from Autodesk on request. For clarification, License Identification does not include a designation, confirmation, packaging or other document provided by a Reseller or other third party.

I couldn’t find the license identification for my Maya ECSP license, which was purchased in Canada from the North American store. However, I did find this on the store help page:

If I purchase a product from one country’s store, can I use it in another country?
No. Software products purchased on this Store must be used in accordance with the terms of the Autodesk License agreement accompanying them; such terms include a restriction that the products may not be used outside of the country of purchase. For this site, the Territory for sale of software products is the US, Canada, Puerto Rico and Guam. Please see the Digital River Terms and Conditions.

Finally, via google, I found this “Ancillary Service Description for Use Outside Territory” document.

Softimage 2013 EULA is eighty thousand characters


That’s 80,000 characters, not including spaces. Here’s a graph of the EULA size over the Softimage releases.

Inspired by The Wengerd Report: AutoCAD 2012′s EULA is now 60,000+ characters. Be sure to read them all

It looks like the M&E EULAs were one release behind the AutoCAD EULA. The big size increase didn’t happen until the 2013 release.

I didn’t see a big change in SHOUTING in the EULA. The 2013 EULA had 7404 upper-case characters, and the 2012 had 7889.

Entering the right product key during installation


Ever wonder how the installer validates the product key?

No? Well I did, because that’s the kind of thing you wonder about in tech support, because sometimes cases come in about “the installer won’t accept the product key”.

I did a little checking with Process Monitor, and I found that the Setup includes a SoftimageConfig.pit file, and that pit file contains the valid product keys. During installation, setup will extract Setup\SoftimageConfig.pit, write it out to the %TEMP% folder, and use it to validate the product key entered in the installer.

During the actual installation, SoftimageConfig.pit will be added the ProductInformation.pit file on the local system.

The pit file contains product information like the product key and the license feature names (read more about the .pit file here and here).

For Softimage there is the regular product key 590E1, as well as all the different Suite product keys.

LMTOOLS: Putting the debug log in append mode


By default, every time you restart the license server, it overwrites the existing debug log file.
You can put the license server into “append” mode for logging, so that the log file isn’t cleared every time you restart the server.

To put the log into “append” mode, just add a plus sign (+) before the name of the file.

You won’t be able to View Log from LMTOOLS, but you can open the log file with your favorite text editor.

Licensing troubleshooting on Linux


Troubleshooting licensing problems on a Softimage Linux workstation? Here’s a quick summary of some things to look for on the workstation:

  • The Location of the license server is specified by the ADSKFLEX_LICENSE_FILE environment variable that is specified in /usr/Softimage/Softimage_2013/.xsi_2013.
  • The file ~/.flexlmrc can also be used to specify the license server location:

    ADSKFLEX_LICENSE_FILE=@example:@mtlicserver

    If Softimage can’t check out a license from the server specified in .xsi_2013, then it tries the servers listed in ~/.flexlmrc. The .flexlmrc lists all the license servers from which Softimage has checked out licenses.

  • There is a licensing log file named /var/tmp/SoftimageLicense.log. This log file will contain entries that look like this:
    18377	2011/06/23	19:18:59	Reason=Fatal error
    18377	2011/06/23	19:18:59	ComputerName=localhost.localdomain
    18377	2011/06/23	19:18:59	OS=2.6.35.6-45.fc14.x86_64
    18377	2011/06/23	19:18:59	File=AdlmIntNWFBLicense.cpp,Line=766
    18377	2011/06/23	19:18:59	VendorID=3 [FLEXLM-NW]
    18377	2011/06/23	19:18:59	VendorError=-18 [Server does not support this feature]
    18377	2011/06/23	19:18:59	FLEXLM-NW=v11.9.0.0 build 87342 x64_lsb
    18377	2011/06/23	19:18:59	Reason=Fatal error
    18377	2011/06/23	19:18:59	ComputerName=localhost.localdomain
    18377	2011/06/23	19:18:59	OS=2.6.35.6-45.fc14.x86_64
    18377	2011/06/23	19:18:59	File=AdlmIntNWFBLicense.cpp,Line=749
    18377	2011/06/23	19:18:59	AdlmIntError=20 [License check out failed]
    
  • Setting FLEXLM_DIAGNOSTICS to 3 didn’t get me any diagnostics messages or logs, but I did find those diagnostics in the strace log (just search for “FLEXnet”). See this post for more info on the FLEXLM diagnostics in the strace log.