Environment
Novell eDirectory 8.8.7 Patch 4
Novell eDirectory 8.8.7 Patch 3
Novell eDirectory 8.8.7 Patch 2
Novell eDirectory 8.8.7 Patch 3
Novell eDirectory 8.8.7 Patch 2
Situation
Different behaviors have been seen and the possible symptoms are listed below:
1. Executing "rcndsd status" or "/etc/init.d/ndsd status" is slow.
2. The error message "getnameinfo failed" is returned after executing "rcndsd status" or "/etc/init.d/ndsd status".
3. A substantial delay is observed while executing "xadcntrl status" or "xadcntrl validate" on a Novell Open Enterprise Server running Domain Services for Windows.
4. Multiple nds.netstat.* files are present in the /tmp/ directory.
5. rcnovell-nss start returns ERROR: required eDirectory(ndsd) is not running. Exiting.
1. Executing "rcndsd status" or "/etc/init.d/ndsd status" is slow.
2. The error message "getnameinfo failed" is returned after executing "rcndsd status" or "/etc/init.d/ndsd status".
3. A substantial delay is observed while executing "xadcntrl status" or "xadcntrl validate" on a Novell Open Enterprise Server running Domain Services for Windows.
4. Multiple nds.netstat.* files are present in the /tmp/ directory.
5. rcnovell-nss start returns ERROR: required eDirectory(ndsd) is not running. Exiting.
6. Novell nss is not running.
Resolution
To prevent the issue from occurring modify the /etc/init.d/ndsd script.
Prior to making any modification make sure to backup the existing /etc/init.d/ndsd script.
Open the /etc/init.d/ndsd script with a text editor, like vi, and locate the following section:
#
# Get status of ndsd running on current host
#
StatusNdsd () {
netstat -ep | grep ndsd > /tmp/nds.netstat.$$ 2>&1
if [ "$?" -eq 0 ]; then
if [ -f $bindir/ndsstat ] ; then
$bindir/ndsstat --config-file $default_config_file > /tmp/nds.stat.$$ 2>&1
if [ "$?" -ne 0 ]; then
cat /tmp/nds.stat.$$
eval $PRINT_FAILED
exit 1
fi
cat /tmp/nds.stat.$$
rm /tmp/nds.stat.$$
else
echo `gettext nds "Unable to get server status"`
fi
else
echo `gettext nds "Unable to get server status"`
exit 1
fi
rm /tmp/nds.netstat.$$
} # StatusNdsd
Modify the section as per the example below:
#
# Get status of ndsd running on current host
#
StatusNdsd () {
# netstat -ep | grep ndsd > /tmp/nds.netstat.$$ 2>&1 ***** remark out this line
echo "" # ***** add this line
if [ "$?" -eq 0 ]; then
if [ -f $bindir/ndsstat ] ; then
$bindir/ndsstat --config-file $default_config_file > /tmp/nds.stat.$$ 2>&1
if [ "$?" -ne 0 ]; then
cat /tmp/nds.stat.$$
eval $PRINT_FAILED
exit 1
fi
cat /tmp/nds.stat.$$
rm /tmp/nds.stat.$$
else
echo `gettext nds "Unable to get server status"`
fi
else
echo `gettext nds "Unable to get server status"`
exit 1
fi
Prior to making any modification make sure to backup the existing /etc/init.d/ndsd script.
Open the /etc/init.d/ndsd script with a text editor, like vi, and locate the following section:
#
# Get status of ndsd running on current host
#
StatusNdsd () {
netstat -ep | grep ndsd > /tmp/nds.netstat.$$ 2>&1
if [ "$?" -eq 0 ]; then
if [ -f $bindir/ndsstat ] ; then
$bindir/ndsstat --config-file $default_config_file > /tmp/nds.stat.$$ 2>&1
if [ "$?" -ne 0 ]; then
cat /tmp/nds.stat.$$
eval $PRINT_FAILED
exit 1
fi
cat /tmp/nds.stat.$$
rm /tmp/nds.stat.$$
else
echo `gettext nds "Unable to get server status"`
fi
else
echo `gettext nds "Unable to get server status"`
exit 1
fi
rm /tmp/nds.netstat.$$
} # StatusNdsd
Modify the section as per the example below:
#
# Get status of ndsd running on current host
#
StatusNdsd () {
# netstat -ep | grep ndsd > /tmp/nds.netstat.$$ 2>&1 ***** remark out this line
echo "" # ***** add this line
if [ "$?" -eq 0 ]; then
if [ -f $bindir/ndsstat ] ; then
$bindir/ndsstat --config-file $default_config_file > /tmp/nds.stat.$$ 2>&1
if [ "$?" -ne 0 ]; then
cat /tmp/nds.stat.$$
eval $PRINT_FAILED
exit 1
fi
cat /tmp/nds.stat.$$
rm /tmp/nds.stat.$$
else
echo `gettext nds "Unable to get server status"`
fi
else
echo `gettext nds "Unable to get server status"`
exit 1
fi
# rm /tmp/nds.netstat.$$ ***** remark out this line
} # StatusNdsd
} # StatusNdsd