ZENworks stops connecting to the database and ZCC showing 404 error when accessing login page

  • 7018807
  • 14-Apr-2017
  • 14-Apr-2017

Environment

Novell ZENworks Configuration Management 11.4 Database
Microsoft SQL Server database
Nutanix cluster

Situation

  • ZENworks database on Microsoft SQL Server migrated to Nutanix cluster
  • nslookup command from ZENworks Primary Server returns both active cluster IP address and inactive, failover cluster IP address
  • ZENworks Control Center (ZCC) showing 404 error or cannot connect to server
  • ZENworks services-message.log, loader-messages.log, and zcc.log files stopped writing
  • ping command from the Primary Server to the database server sometimes times out
The following could be seen on the ZCC login page:

ERROR:
404 Error
The page requested could not be found.
Refer ZCC.log for error messages or additional information.
If the error persists, contact Novell Technical Support.


The following could be seen in the c3p0_zenserver.log:

ERROR:
DEBUG [null] An exception occurred while acquiring a poolable resource. Will retry.
java.sql.SQLException: Network error IOException: Connection timed out: connect
    at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:436)
    at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
...
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)

Resolution

  1. Configure the database cluster to only use the active cluster IP address
  2. Configure DNS to only return the active cluster IP address
  3. Restart all ZENworks services on all Primary Servers with this command:
    novell-zenworks-configure -c Start

Cause

DNS resolution for the database server Fully Qualified Domain Name (FQDN) or short name returns one active IP address and one inactive IP address.

Additional Information

ZENworks doesn't handle the DNS resolution when connecting to the database server. ZENworks makes the call directly to the DNS name that is configured in zdm.xml. This means that if the network resolves the DNS name to an inactive IP address, the connection to the database will simply time out. Also, the connection could work sometimes, but not at other times. It all depends on how the DNS is resolved.