Article Number
000013198
Applies To
RSA Access Manager 6.0.4
Issue
AxM 6.04 on Unix: eserver fails to start with error "License validation failed"
The eserver will report the following error on startup when attempting to execute $AXMHOME/bin/eserver.sh start:
Validating license: License validation failed: Failed to match IP Address
sirrus.api.server.AdministrativeAPIServer$InitializationFailedException: License validation failed: Failed to match IP Address
Sample output from a working environment of the startup of the eserver:
# RSA ClearTrust Entitlements Server
# Version: 6.0.4
# Build ID: 20080909112602-0400-419935
#
# Date: Tue Nov 20 11:48:21 EST 2012
# Java: 1.5.0_09 / Sun Microsystems Inc.
# System: testsystem.example.com@192.168.130.162, running SunOS 5.10 on sparcv9
Sample output from a failed environment of the startup of the eserver:
# RSA ClearTrust Entitlements Server
# Version: 6.0.4
# Build ID: 20080909112602-0400-419935
#
# Date: Tue Nov 20 14:43:53 EST 2012
# Java: 1.5.0_09 / Sun Microsystems Inc.
# System: SunOS 5.10 on sparcv9
Notice the lack of a hostname in the above output for the System: identifier.
Resolution
"Hostname" is an environment variable that is passed via /etc/profile on login. This hostname key value is also used when starting AxM. The hostname environment variable must be set in order for the eserver to start. Hostname is extrapolated from configuration files which are placed on every UNIX host by one of the following methods:
1) Configured at the time of installation (/etc/hostname.<interfaceID, /etc/nodename, /etc/hosts on Solaris, as the HOSTNAME parameter in the /etc/sysconfig/network file on Linux)
2) Modified by sys-unconfig (all files in #1 will be updated respectively based on OS)
3) All files listed in #1 are modified manually by root, then executing the command "source /etc/profile"
As well, improper modification of /etc/profile can cause this error. You should not change the default statements for hostname in /etc/profile, which will automatically set and export the hostname variable via the statements:
HOSTNAME=`/bin/hostname`
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
If the above files are not configured properly, if you inadvertantly execute "unset hostname" from the command line, or if you incorrectly modify /etc/profile to remove the hostname directives, this AxM error can occur.
To correct the problem on Solaris:
1) insure /etc/nodename, /etc/hostname.<primary hosts interfaceID> and /etc/hosts contain the proper hostname, which is typically a short name on Solaris (vs an fqdn)
2) insure that /etc/profile has not been tampered with and contains the correct statements
3) type
source /etc/profile
To correct the problem on Linux:
1) vi /etc/sysconfig/network and insure the HOSTNAME directive is correct:
HOSTNAME=myhost.mydomain.com
2) insure /etc/hosts is appropriately updated for the ip address, fqdn and short name of the primary interface
3) insure /etc/profile is correct
4) source /etc/profile
To check to insure the hostname environment variable is set, execute "env | grep -i hostname" from the command line. It should return the proper hostname for the machine in the format of
HOSTNAME=<machine's hostname>
Providing the hostname is correctly specified in the respective configuration file(s) listed above and /etc/profile is setup properly, the hostname variable will be properly set on the next login.
Notes
Cde for looking up hostnames and OS:
try
{
InetAddress localaddr = InetAddress.getLocalHost();
printStream.print("# System : " + localaddr.getHostName() + "@" +
localaddr.getHostAddress() + ", running ");
}
catch (IOException unknownHost)
printStream.print("# System : ");
}
printStream.println(System.getProperty("os.name") + " " +
System.getProperty("os.version") + " on " +
System.getProperty("os.arch"));