ZENworks Agent Daemon fails to load on XEN 64bit guest OS

  • 7000913
  • 10-Jul-2008
  • 27-Apr-2012

Environment

Novell ZENworks 10 Configuration Management with Support Pack 1 - 10.1
Novell ZENworks 10 Configuration Management

Situation

zac commands generate error for agent not running when ZENworks is installed on SLES/XEN server 64 bit guest OS.  Therefore the server cannot get SystemUpdates.  This problem is specific to x64 SLES guest on XEN and is not seen with x32 SLES guest on XEN nor x64 SLES without XEN.
 
ERROR (From running zac):
 
Exception: Connection refused
UnableToCommunicateRemotingError
 
NOTE: This error is the standard error if the novell-zenagent is not running. But restarting novell-zenagent does not resolve the error on xen.
 
Running mono /opt/novell/zenworks/bin/ZenLinuxDaemon.exe as a test generates:
 
ERROR:
 
pthread_cond_timedwait@@GLIBC_2.3.2 pthread_cond_timedwait@@GLIBC_2.3.() from /lib64/libpthread.so.0
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries used by your application.
=================================================================

Resolution

This is fixed in version 10.2 - see KB 7003225 "ZENworks Configuration Management SP2 (10.2)" which can be found at https://www.novell.com/support
 
Versions 10.0.x of ZENworks Configuration Management are not supported on XEN.
 
For version 10.1 and above, use the 2.0 version of mono libraries.  NOTE:  Updating mono may break other services that depend on mono.  These steps assume that the server is dedicated to ZENworks services (no OES etc.).

Additional Information

NOTE:  Updating mono may break other services that depend on mono.  These steps assume that the server is dedicated to ZENworks services (no OES etc.).
 
Verify that the current Mono update is 2.0.
 
To apply Mono 2.0 updates:
 
  1. Select SLES/SLED
  2. Select Suse Linux Enterprise 10 x86 and 64 bit
    You will see this:
    "This distro supports installing packages via YaST. Add the following installation source to YaST:
    https://ftp.novell.com/pub/mono/download-stable/SLE_10 "
  3. Run /etc/init.d/novell-zenagent stop .
  4. Bring up YaST
  5. Select Software/Installation Source
  6. Add a new installation source per the information from the mono site.  For example:
    Protocol Http
    Server Name: ftp.novell.com
    Directory on server: /pub/mono/download-stable/SLE_10
    Authentication: Anonymous
    Finish
  7. Go back to Software/Software Management.
  8. Change Filter at the top left to "Installation Sources ".
  9. Select the source you added above.
  10. On the right hand side are some checked items. You need to update all of the items that are currently checked, but you can ignore any that are unchecked.
  11. For each of the checked items, click on the check box to change it from "keep " to "update " (bubble help will display to show the definitions of these icons).
  12. If necessary resolve dependencies.
  13. Continue and Finish.
  14. Check that the libs are updated by running
    rpm -qa |grep mono
  15. Note:
    mono-winforms-2.0.1-18.1
    mono-data-sqlite-2.0.1-18.1
    mono-core-2.0.1-18.1
    dbus-1-mono-0.60-33.20.3
    mono-web-2.0.1-18.1
    mono-core-32bit-2.0.1-18.1
    mono-data-2.0.1-18.1
    mono-extras-2.0.1-18.1
  16. Restart the agent service with /etc/init.d/novell-zenagent start
  17. Run zac ref to verify that the agent is started, and to refresh the agent to receive any system updates.