ZMD troubleshooting tips

  • 3087507
  • 25-Jan-2008
  • 30-Apr-2012

Environment


Novell SUSE Linux Enterprise Desktop 10

Situation

This document is designed to help guide customers in the basic troubleshooting ZENworks Management Daemon (ZMD). It brings together an number sources, all with the aim of simplifying the troubleshooting/resolution process of ZMD related issues.


Understand the product
As with any problem resolution stratagem the first step is to understand how the product works and what tools/utilities and logs are available to the user. Bypassing this step makes any analysis superficial at best and an inefficient use of resources at worst.

While is sounds obvious, many network administrators and most end users have only a rudimentary understanding of the product and are therefore hampered when it comes to resolving issues

As with any product the best place to start is with the products documentation. The latest documentation for ZENworks Linux Management can be found at the following URL:
https://www.novell.com/documentation/zlm72/lm7admin/index.html?page=/documentation/zlm72/lm7admin/data/front.html#front

In particular the section related to ZMD can be found here:
https://www.novell.com/documentation/zlm72/lm7admin/index.html?page=/documentation/zlm72/lm7admin/data/bxj7go4.html

Don't forget you can also find detailed information about ZMD in the man pages, just type man zmd or man rug at the console.

There is also a general troubleshooting guide here:

https://www.novell.com/documentation/zlm72/lm7trouble/index.html?page=/documentation/zlm72/lm7trouble/data/front.html#front

Beware that this document covers more than just the ZMD component.

An excellent reference to the architecture of ZMD can be found here:

https://support.microfocus.com/kb/doc.php?id=3849517&sliceId=SAL_Public&dialogID=50262942&stateId=0%200%2050268986

Beware that this document is specific to SLED/S 10 however it does make a reference to NLD 9 which might help clear up some confusion.

This document will point you to two other excellent documents at the openSUSE web site called "Understanding ZMD”

http://en.opensuse.org/Understanding_zmd

and

"Troubleshooting ZMD”
http://en.opensuse.org/ZMD/Libzypp_Troubleshooting

Now that you have an understanding of the architecture of the product and how it works you will want to do some basic troubleshooting to help locate the actual issue.


Is ZMD running?
There are at least two ways of telling if ZMD is up and running

1. open a terminal and type:

/etc/init.d/novell-zmd status

this will return the following line if it is running:

Checking for ZENworks Management Daemon: running

If it is not up and running try typing:

/etc/init.d/novell-zmd start

Tying /etc/init.d/novell-zmd without any options will return a list of valid options.

Alternatively from a terminal type:

rug ping

This command will give you additional information such as the version of ZMD, the OS it is running on and the modules it is using, as can be seen in the following example.

ZMD 7.2.0, Copyright (C) 2007 Novell, Inc.
Started at 1/25/2008 9:58:34 AM (uptime: 0 days, 0 hours, 38 minutes)
RSS size: 26400
Network Connected: Yes
Running on Mono 1.2.2

OS Target: SUSE Linux Enterprise Desktop 10 (i586)

Module Name | Description
-------------------+-------------------------------------------------
Inventory | Software and Hardware inventory module for Linux
NetworkManager | NetworkManager support
Package Management | Package Management module for Linux
ZENworks Server | SOAP methods used by a ZENworks server
XML-RPC interface | Export ZMD public interfaces over XML-RP


With this information in hand you may find that you are not running the latest version or support pack for the product, as with any troubleshooting stratagem you should decide if it prudent or not at this stage to apply any pertinent patches. Read the documentation carefully to see if the patches describe your specific issue. As a general recommendation you should always be running the latest publicly available patches both for the application and the underlining OS.


Are you subscribed to any services?
Once you know the daemon is up and running you need to know if you are actually subscribed to any services.

Don't be lulled into thinking that because these appear in zen-updater that they will also be in rug. They should, however as part of your analysis confirm that they are the same, as they occasionally get out of sync with each other. Do this whenever you modify a service. This is also true if you are comparing rug, zen-updater and YaST online updater.

From a terminal type:

rug sl

This will list the services to which you are currently subscribed the status of each, the type, the name and the URI of each service.


Are there any catalogs active?
Once you have confirmed that you are subscribed to one or more service you need to confirm that you are subscribed to a catalog within those services. as with the previous point don't be lulled into thinking that because these appear in zen-updater that they will also be in rug.

From a terminal type:

rug ca

This will list the catalogs you have activated, their status, and the service to which they belong.


Check the log files
There are two log files that you will want to check for error messages,

zmd-messages.log (used by ZMD process)

and

zmd-backend.log (used by zypp helper programs).

On SLES/D 10 sp1 these are located in /var/log.

Beware that the default logging level may not be sufficient to help identify the problem.

http://en.opensuse.org/ZMD/Libzypp_Troubleshooting

highlights four rug commands that you can use to modify the logging behaviour of ZMD

At a terminal typing:

rug get-prefs

will give you the current log settings, as well as other default parameters in use and possible options that can be set.

Another important source of information is the /var/log/messages file, you will see messages related to ZMD and rug are logged here.


Out of sync issues
If you come across synchronization issues between rug, zmd-updater and YaST online, try to identify the issue, sometimes some services will not be accessible to one or more of these tools and they will get out of sync.

At a terminal type:

rug refresh

This may help pinpoint connectivity issues.

If you are unable to reconcile the different tools you may wish to reset rug and start from scratch. In order to do this you will need to:

a) Note down your current sources, you will need these if you wish to replace them after this process is finished, don't note down the Novell specific sources as the registration process will add these. adding these manually will not do anything if the account if not valid or if it has changed, so let the registration process take care of it.

b) stop zmd

/etc/init.d/novell-zmd stop

(confirm that ZMD has stopped)

c) remove the following directories and files

rm -rf /var/lib/zmd
rm -rf /var/cache/zmd
rm -rf /etc/zmd/deviceid
rm -rf /var/lib/zypp/db/sources
rm -rf /etc/zmd secret

d) restart ZMD

/etc/init.d/novell-zmd start

e) Go into YaST, remove all the yum services.

f) Re-register your sources, this can be done manually for external sources and using the console command:

yast2 inst_suse_register

for Novell sources (from within YaST you can select Software | Novell Customer Center Configuration)

To manually added these from the command line type:

rug sa -t [type] [URI]


Search the knowledge base
Finally if you are still unable to resolve the issue search the Novell knowledge base at
https://www.novell.com/support/supportcentral/supportcentral.do?id=m1

Search on keywords such as zmd, zen-updater rug and yast online updater.

If all else fails you will need to open a service request with Novell Technical Support.