Check ZLM assignment integrity between eDirectory object store and postgresql data store

12/16/2007 - Updated version 2.2:

New to version 2.2 is that the data store will be checked if there are all required action attributes available at the action_arg table and that there is correct information in the scheduled_action table.

Any faulty results will be printed with red color and the further output stops till you press enter.

This program can be used to check the integrity of the different assignment types (bundles, catalogs and policies) on the ZLM server between the eDirectory object store and the postgresql data store. It is written as a bash script and runs directly at the ZLM server.

Since older versions of ZLM (7.0) there were sometimes problems when you assigned software packages to devices or workstations. ZLM handles them a little bit complicate and writes some information into the eDirectory and some parts into the data store.

Under some circumstances one of those two pieces of information got corrupted and as a result you get error messages in the client log files that you cannot clean up except you check all associations and delete incorrect ones. This program does some parts of this for you.

As a result when you run this program (no parameters are required) you get a colored list with good and bad associations. When you just run the program it does not modify anything in eDirectory or postgresql. It just collects information from there and reports it to you. If find some bad ones and you have a support contract with Novell I would open a service request and tell them about those corrupted associations, otherwise we can discuss the situation at the novell discussion forums at .7x.install-setup

Here is a sample output from our ZLM server:

LX-ZLM001:~ #

ENTRY: HP,IDM,~servers~,~devices~,ou=ATZLM01,o=cell

- Association: cn=148869434929
- Objectstore - Consumer Server matches the entry ? OK
- Objectstore - Content Bundle exists - OK - Bundle: allianz-hppsp-sles9-7.70

- Association: cn=148900247828
- Objectstore - Consumer Server matches the entry ? OK
- Objectstore - Content Action exists - OK - Type: install - Action: 147822950814

- Datastore - Bundle allianz-hppsp-sles9-7.70
- Datastore - Action Type matches Objectstore Action Type

The bash shell script has just two requirements so it can do it's work:

  • In line 45 please provide the password from your zlm administrator is need it for ldap connect to edirectory.

  • An additional rpm package must be installed (xml parser command line tool) that I need for parsing xml data in the edirectory. The package is called xmlstarlet and is available at as a rpm package:

Good luck and hopefully you will not find any corrupted association.



Comment List