You'll get this error in a client machine's rushd.log.
Various problems can cause this:
- The hosts file contains most hosts than licensed (use 'rush -lah' to check)
- IP lookup problem (license server resolves client to a different IP than client's actual IP)
In the case of the hosts file containing more hosts than licensed,
you should see a "TOO MANY HOSTS" error in the 'rush -lah' report:
$ rush -lah
IP Hostname Ram Cpus MinPri Criteria
192.168.1.34 zoar 100 1 0 +any,+foo,+3dfast,linux,+linux,cg_day,cg_new,+nukeday,+farm
[..]
192.168.1.45 centos7 100 1 0 +any,+linux
*** ERROR: TOO MANY HOSTS IN RUSH HOSTS LIST [90 found, 89 licensed]
*** ERROR: The following hosts are being ignored by Rush..
*** 192.168.1.95 win8 100 1 0 +any,+linux
..and you may also see a "too many hosts" error in the rushd.log
whenever it last loaded the hosts file (on restart, or 'rush -reload'):
03/16,17:44:39 INFO force reload 'hosts' from root@zoar[192.168.1.34]
03/16,17:44:39 INFO/HOST Reloading /usr/local/rush/etc/hosts
03/16,17:44:40 ALERT exceeded maximum licensed hosts: IGNORNING HOST 'win8'
03/16,17:44:40 LICENSE there were too many hosts: found 90, licensed for only 89, trimmed 1.
In the case of an IP problem, this will happen if the client machine
'1.2.3.4' can't check out a license from license server 'lic-server'
because the actual IP address of 'client' is not resolving to a
hostname in lic-server's rush/etc/hosts file.
Put another way, this error occurs when the client contacts 'lic-server'
to check out a license, and lic-server looks at the source IP address
from client's connection, but is unable to reverse lookup that IP address
into a hostname that can be found in the lic-server's rush/etc/hosts file.
The license server rejects connections from IPs not in its rush/etc/hosts file.
Usually you can debug the problem by running 'rush -lah'
(List All Hosts) on both license server and client machine, and checking
the IP address client in both reports for a discrepancy.
If the client's hostname doesn't show up at all in lic-server's 'rush -lah'
report, then that's the problem; it either needs to be properly added
to the rush/etc/hosts files, or it needs to be properly removed and disabled.
If the IP addresses shown in 'rush -lah' are different, that's the problem;
check your hostname lookup system (DNS, /etc/hosts, LDAP..) to see why
the two machines disagree on the IP address.
If those agree, check to see if the license server's daemon has cached
an old IP address for the client machine; on the license server, try running
'rush -lah HOSTNAME', where HOSTNAME is the license server's own hostname.
Then compare the IP for the client in that report to the same entry in 'rush -lah'
(without the 'HOSTNAME'). If those reports disagree on the client's IP,
then the daemon has an old address cached; use 'rush -reload hosts' to flush
the daemon's cache. If that fixes things (reports now agree), then use
'rush -reload hosts +any' to flush the cache on /all/ machines.
If both reports show the same IP address, but the IPs don't agree with the
error message's IP address, then probably the machine has a different
IP address assigned to it than the one your hostname lookup system thinks
it should have. Either correct your DNS/LDAP/etc/hosts, or change the machine's
actual IP address to match DNS.
If the machine's actual IP and two 'rush -lah' reports ALL agree, one
possibility is the client's IP address was recently changed, and the
license server still has the /old/ IP address cached. Try first clearing
the license server OS's IP cache with:
- OSX (10.1 through 10.4): lookupd -flushcache (See 'man lookupd')
- OSX (10.5 and up): dscacheutil -flushcache (See 'man dscacheutil)
- Windows (all releases): ipconfig /flushdns (See 'ipconfig /?')
- Linux: Most linux distros don't have an IP cache by default, unless 'nscd' was enabled.
If 'nsd' is on, you can clear its cache by restarting it, eg.
/etc/init.d/nscd restart See 'man nscd'.
..then clear Rush's own IP cache by running 'rush -reload hosts'
on the license server. Then restart the daemon on the client (or just wait 30 seconds),
and see if it picks up the license by looking at the client's rushd.log or with 'rush -ping <client>'.
It's possible other machines may have the old IP cached, in which case
you'd want to repeat this on the other machines as well (eg. 'rush -reload hosts +any -t 3').
Or just reboot them.
The cause and solution is similar to this problem.
|