<p>After upgrading to AIX 5.3 TL9 SP4, we found that secldapclntd will go into a death loop during a HACMP failover.  It consumes more and more CPU until the system doesn&#8217;t have any capacity left, and stops the HACMP failover.  Killing secldapclntd will let HACMP continue.</p>
<p>We didn&#8217;t see this behavior w/ AIX 5.3 TL8 SP3.  IBM has identified a couple of issues that are probably coming together to cause our problem, but they won&#8217;t be fixed in TL9&#8230; ever.  IBM&#8217;s work-around is to setup a pre and post-event script to stop secldapclntd before the IP takeover (and release) and restart it afterward.  In testing, this works pretty well, and it only takes a few seconds to stop and start secldapclntd.</p>
<p>Here&#8217;s the workaround by IBM:</p>
<ol>
<li>Create a script &#8220;/usr/local/cluster/start-ldap.sh&#8221; and copy it to every node in the cluster</li>
<p style="padding-left: 30px;">#!/usr/bin/ksh<br />
echo &#8220;STOP LDAP CLIENT Daemon&#8221;<br />
/usr/sbin/start-secldapclntd<br />
exit 0</p>
<li>Create a script &#8220;/usr/local/cluster/stop-ldap.sh&#8221; and copy it to every node in the cluster</li>
<p style="padding-left: 30px;">#!/usr/bin/ksh<br />
echo &#8220;STOP LDAP CLIENT Daemon&#8221;<br />
/usr/sbin/stop-secldapclntd<br />
exit 0
</p>
<li>Create a pre-event</li>
<p style="padding-left: 30px;">smitty hacmp<br />
Extended Configuration<br />
Extended Event Configuration<br />
Configure Pre/Post-Event Commands<br />
Add a Custom Cluster Event</p>
<p style="padding-left: 30px;">Type or select values in entry fields.<br />
Press Enter AFTER making all desired changes.<br />
[Entry Fields]</p>
<p style="padding-left: 30px;">    * Cluster Event Name [] << I use the name "ldapClientStart"
    * Cluster Event Description [] << Start ldap client daemon
    * Cluster Event Script Filename [] << /usr/local/cluster/start-ldap.sh
</p>
<li>Create a post-event</li>
<p style="padding-left: 30px;">smitty hacmp<br />
Extended Configuration<br />
Extended Event Configuration<br />
Configure Pre/Post-Event Commands<br />
Add a Custom Cluster Event</p>
<p style="padding-left: 30px;">Type or select values in entry fields.<br />
Press Enter AFTER making all desired changes.<br />
[Entry Fields]</p>
<p style="padding-left: 30px;">    * Cluster Event Name [] << I use the name "ldapClientStop"
    * Cluster Event Description [] << Stop ldap client daemon
    * Cluster Event Script Filename [] << /usr/local/cluster/stop-ldap.sh 
</p>
<li>Update the acquire_service_addr event</li>
<p style="padding-left: 30px;">smitty hacmp<br />
Extended Configuration<br />
Extended Event Configuration<br />
Change/Show Pre-Defined HACMP Events<br />
(select &#8211;> acquire_service_addr )<br />
Change/Show Cluster Events</p>
<p style="padding-left: 30px;">Type or select values in entry fields.<br />
Press Enter AFTER making all desired changes.<br />
[Entry Fields]</p>
<p style="padding-left: 30px;">Event Name acquire_service_addr<br />
Pre-event Command [ldapClientStop] <<< the defined name "ldapClientStop"
Post-event Command [ldapClientStart] <<< the defined name "ldapClientStart"</p>
<li>Update the release_service_addr event</li>
<p style="padding-left: 30px;">smitty hacmp<br />
Extended Configuration<br />
Extended Event Configuration<br />
Change/Show Pre-Defined HACMP Events<br />
(select &#8211;> release_service_addr )<br />
Change/Show Cluster Events</p>
<p style="padding-left: 30px;">Type or select values in entry fields.<br />
Press Enter AFTER making all desired changes.<br />
[Entry Fields]</p>
<p style="padding-left: 30px;">Event Name release_service_addr<br />
Pre-event Command [ldapClientStop] <<< the defined name "ldapClientStop"
Post-event Command [ldapClientStart] <<< the defined name "ldapClientStart"</p>
<li>Synchronize the cluster configuration, and you&#8217;re done</li>
</ol>
{"id":402,"date":"2009-11-06T17:28:58","date_gmt":"2009-11-06T21:28:58","guid":{"rendered":"http:\/\/patrickv.info\/wordpress\/?p=402"},"modified":"2009-11-06T17:28:58","modified_gmt":"2009-11-06T21:28:58","slug":"secldapclntd-failure-w-hacmp","status":"publish","type":"post","link":"https:\/\/rootuser.ninja\/index.php\/2009\/11\/06\/secldapclntd-failure-w-hacmp\/","title":{"rendered":"secldapclntd Failure w\/ HACMP"},"content":{"rendered":"<p>After upgrading to AIX 5.3 TL9 SP4, we found that secldapclntd will go into a death loop during a HACMP failover.  It consumes more and more CPU until the system doesn&#8217;t have any capacity left, and stops the HACMP failover.  Killing secldapclntd will let HACMP continue.<\/p>\n<p>We didn&#8217;t see this behavior w\/ AIX 5.3 TL8 SP3.  IBM has identified a couple of issues that are probably coming together to cause our problem, but they won&#8217;t be fixed in TL9&#8230; ever.  IBM&#8217;s work-around is to setup a pre and post-event script to stop secldapclntd before the IP takeover (and release) and restart it afterward.  In testing, this works pretty well, and it only takes a few seconds to stop and start secldapclntd.<\/p>\n<p>Here&#8217;s the workaround by IBM:<\/p>\n<ol>\n<li>Create a script &#8220;\/usr\/local\/cluster\/start-ldap.sh&#8221; and copy it to every node in the cluster<\/li>\n<p style=\"padding-left: 30px;\">#!\/usr\/bin\/ksh<br \/>\necho &#8220;STOP LDAP CLIENT Daemon&#8221;<br \/>\n\/usr\/sbin\/start-secldapclntd<br \/>\nexit 0<\/p>\n<li>Create a script &#8220;\/usr\/local\/cluster\/stop-ldap.sh&#8221; and copy it to every node in the cluster<\/li>\n<p style=\"padding-left: 30px;\">#!\/usr\/bin\/ksh<br \/>\necho &#8220;STOP LDAP CLIENT Daemon&#8221;<br \/>\n\/usr\/sbin\/stop-secldapclntd<br \/>\nexit 0\n<\/p>\n<li>Create a pre-event<\/li>\n<p style=\"padding-left: 30px;\">smitty hacmp<br \/>\nExtended Configuration<br \/>\nExtended Event Configuration<br \/>\nConfigure Pre\/Post-Event Commands<br \/>\nAdd a Custom Cluster Event<\/p>\n<p style=\"padding-left: 30px;\">Type or select values in entry fields.<br \/>\nPress Enter AFTER making all desired changes.<br \/>\n[Entry Fields]<\/p>\n<p style=\"padding-left: 30px;\">    * Cluster Event Name [] << I use the name \"ldapClientStart\"\n    * Cluster Event Description [] << Start ldap client daemon\n    * Cluster Event Script Filename [] << \/usr\/local\/cluster\/start-ldap.sh\n<\/p>\n<li>Create a post-event<\/li>\n<p style=\"padding-left: 30px;\">smitty hacmp<br \/>\nExtended Configuration<br \/>\nExtended Event Configuration<br \/>\nConfigure Pre\/Post-Event Commands<br \/>\nAdd a Custom Cluster Event<\/p>\n<p style=\"padding-left: 30px;\">Type or select values in entry fields.<br \/>\nPress Enter AFTER making all desired changes.<br \/>\n[Entry Fields]<\/p>\n<p style=\"padding-left: 30px;\">    * Cluster Event Name [] << I use the name \"ldapClientStop\"\n    * Cluster Event Description [] << Stop ldap client daemon\n    * Cluster Event Script Filename [] << \/usr\/local\/cluster\/stop-ldap.sh \n<\/p>\n<li>Update the acquire_service_addr event<\/li>\n<p style=\"padding-left: 30px;\">smitty hacmp<br \/>\nExtended Configuration<br \/>\nExtended Event Configuration<br \/>\nChange\/Show Pre-Defined HACMP Events<br \/>\n(select &#8211;> acquire_service_addr )<br \/>\nChange\/Show Cluster Events<\/p>\n<p style=\"padding-left: 30px;\">Type or select values in entry fields.<br \/>\nPress Enter AFTER making all desired changes.<br \/>\n[Entry Fields]<\/p>\n<p style=\"padding-left: 30px;\">Event Name acquire_service_addr<br \/>\nPre-event Command [ldapClientStop] <<< the defined name \"ldapClientStop\"\nPost-event Command [ldapClientStart] <<< the defined name \"ldapClientStart\"<\/p>\n<li>Update the release_service_addr event<\/li>\n<p style=\"padding-left: 30px;\">smitty hacmp<br \/>\nExtended Configuration<br \/>\nExtended Event Configuration<br \/>\nChange\/Show Pre-Defined HACMP Events<br \/>\n(select &#8211;> release_service_addr )<br \/>\nChange\/Show Cluster Events<\/p>\n<p style=\"padding-left: 30px;\">Type or select values in entry fields.<br \/>\nPress Enter AFTER making all desired changes.<br \/>\n[Entry Fields]<\/p>\n<p style=\"padding-left: 30px;\">Event Name release_service_addr<br \/>\nPre-event Command [ldapClientStop] <<< the defined name \"ldapClientStop\"\nPost-event Command [ldapClientStart] <<< the defined name \"ldapClientStart\"<\/p>\n<li>Synchronize the cluster configuration, and you&#8217;re done<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":null,"protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,3,1],"tags":[],"class_list":["post-402","post","type-post","status-publish","format-standard","hentry","category-aix-notes","category-hacmp-notes","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/rootuser.ninja\/index.php\/wp-json\/wp\/v2\/posts\/402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rootuser.ninja\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rootuser.ninja\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rootuser.ninja\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rootuser.ninja\/index.php\/wp-json\/wp\/v2\/comments?post=402"}],"version-history":[{"count":0,"href":"https:\/\/rootuser.ninja\/index.php\/wp-json\/wp\/v2\/posts\/402\/revisions"}],"wp:attachment":[{"href":"https:\/\/rootuser.ninja\/index.php\/wp-json\/wp\/v2\/media?parent=402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rootuser.ninja\/index.php\/wp-json\/wp\/v2\/categories?post=402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rootuser.ninja\/index.php\/wp-json\/wp\/v2\/tags?post=402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}