You may get error “Error: -637 “Previous move in progress” when IDM is not syncing properly or perhaps when trying to do a partition operation such as server removal. This is most likely a stuck obituary or obituaries which need resolving. Read on.

Firstly see that time is in sync, replicas in sync, do a filesystem check if needed, reboot etc.

  • ndsrepair -T
  • ndsrepair -E

Time must be in sync and errors must be 0.

Check stuck obituaries: run this locally in all of the servers:

  • ndsrepair -C -Ad -A

If you see stuck obituaries (BACKLINK, DEAD) try to nudge backlink process by firstly:

  • ndsrepair -R -Ad -XK3

and secondly starting up ndstrace:

  • ndstrace

and in the ndstrace console issuing commands:

  • set dstrace=*b
  • exit

You can also try and re-timestamp the obituaries so that eDirectory will process them again

  • ndsrepair -R -Ad -A -OT

If you see older obituaries they may not get processed by the commands above so here's how to re-timestamp old obituaries

  • start ndstrace
  • type set ndstrace = *j
  • type set ndstrace = *f

Give it a little time and check again with “ndsrepair -C -Ad -A”

Also another mind trapping jedi-ndstrace-trick with obituaries is:

  • set ndstrace = off
  • set ndstrace = nodebug
  • set ndstrace = on
  • set ndstrace = +sync
  • set ndstrace = +jntr
  • set ndstrace = *u
  • set ndstrace = *h
  • set ndstrace = *j
  • set ndstrace = *f

This is the weirdest piece of information I've come across for a while. Some things just are not printed or I just cannot read them.

If you have MOVE and INHIBIT_MOVE obituaries nicely in pairs that just stick around (unprocessed status etc) and will not go away no matter how many Novell / NetIQ manuals you read try this.

* Go to iMonitor
* Fire up advanced mode (look above)
* Go to reports and report obituaries (look above)
* Click on an "advanced options" of the obituary
* Add '&op=all' to the end of the URL
* Select "Purge xxx (purgeobj)"
* Observe your nerves relieving as those obituaries fly fly away..

For stuck obituaries which are mostly inhibit_moves WITHOUT corresponding MOVED obituary you can release them with iMonitor. I remember to have done it to DEAD obituaries as well but I am not sure. Better google first :)

Here is how to proceed:

  • Locate the orphan obituaries with command (for each server if you have more than one in your tree): ndsrepair -C -Ad -A
    • For easy observation search or highlight test “MoveObit: destID” and see it following legit INHIBIT_MOVE - MOVED pairs. What we are removing are the orphaned ones, not the paired ones.
  • Connect to iMonitor (for each server): http://server:8030/nds
  • iMonitor → main page → Advanced mode enabled
  • iMonitor → Reports → Report Config → select obituary listing configuration
    • obituaries older than “1” hour
      * Include obituary types: restored, dead, moved, inhibit move
      * Run report
      * Locate the obituary you identified with ndsrepair
      * Select "release move entry" and be sure you have the right obituary!
  • set dstrace=*h : force resync

Open ndstrace and look, initiate sync between servers if needed and observe the hex addresses of the objects that are broken. Then use “ndsrepair -J <hex_address>” to fix the single object using the entry ID's hexadecimal pointer.

This can take quite a bit of time but I managed to salvage one really messed up eDirectory with a few hours of manual repair work :-)

Also check

  • tips_and_howtos/edirectory_obituaries.txt
  • Last modified: 2021/10/24 13:51
  • by