osaf/services/saf/amf/amfd/clm.cc |  6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)


When active controller is hard reset, standby reboots, too, because the OpenSAF
services all fail in active assignment because saImmOiClassImplementerSet fails.

When amfd on the active controller receives "node left" for itself from CLM and
the root cause entity is "safEE", it calls clm_node_exit_complete, which allows
amfd to do an immediate switchover. This is not right, though, because this node
has left the cluster.

Add a check to amfd such that if the "node left" node is an EE and is itself,
break out.  We don't want to do a switch over, but let the "node down" logic
handle the failover.

diff --git a/osaf/services/saf/amf/amfd/clm.cc 
b/osaf/services/saf/amf/amfd/clm.cc
--- a/osaf/services/saf/amf/amfd/clm.cc
+++ b/osaf/services/saf/amf/amfd/clm.cc
@@ -288,6 +288,12 @@ static void clm_track_cb(const SaClmClus
                                if(strncmp((char *)rootCauseEntity->value, 
"safEE=", 6) == 0) {
                                        /* This callback is because of 
operation on PLM, so we need to mark the node
                                           absent, because PLCD will anyway 
call opensafd stop.*/
+                                       AVD_AVND *node = 
avd_node_find_nodeid(notifItem->clusterNode.nodeId);
+                                       if (node->node_info.nodeId == 
avd_cb->node_id_avd) {
+                                               /* Self  Termination, wait for 
getting terminated by opensafd stop script.*/
+                                               LOG_NO("Node Left is self: 
ignoring");
+                                               break;
+                                       }
                                        
clm_node_exit_complete(notifItem->clusterNode.nodeId);
                                } else if (strncmp((char 
*)rootCauseEntity->value, "safNode=", 8) == 0) {
                                        /* This callback is because of 
operation on CLM.*/


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to