- **Milestone**: 4.4.2 --> 4.6.2


---

** [tickets:#1342] CLM : Deviations from spec in populating track callback 
parameters.**

**Status:** unassigned
**Milestone:** 4.6.2
**Created:** Sun Apr 26, 2015 04:16 PM UTC by Srikanth R
**Last Updated:** Sun Apr 26, 2015 04:16 PM UTC
**Owner:** nobody


Changset : 6377

Following are the various issues observed while populating track callback by 
CLM.

1) rootCauseEntity is not set to NULL ( but to random value), when 
saClmClusterTrack_4 is called with trackFlags  set to SA_TRACK_CURRENT.


2) In the callback for start step for lock operation, timeSupervision parameter 
is not filled up with the configured attribute saClmNodeLockCallbackTimeout of 
the node undergoing lock / shutdown operation.

Breakpoint 1, pycbk_SaClmClusterTrackCallbackT_4 (notificationBuff=0x853b08, 
numberOfMembers=4, invocation=137439085583, rootCauseEntity=0x8534b0, 
correlationIds=0x84c130,
    step=SA_CLM_CHANGE_START, timeSupervision=-6612564084514619392, 
error1=SA_AIS_OK) at saClm_wrap.c:2901 


  For shutdown operation, timeSupervision parameter should be filled up with 
zero, as the admin operation is not timebound

3) clusterChange in the notificationBuffer is not filled up with 
SA_CLM_NODE_UNLOCK, if unlock operation is performed on the node when shutdown 
operation is in progress.

 Initial callback when shutdown operation is issued :

Breakpoint 1, pycbk_SaClmClusterTrackCallbackT_4 (notificationBuff=0x853b08, 
numberOfMembers=4, invocation=163208889359, rootCauseEntity=0x84d9d0, 
correlationIds=0x7f5df0,
    step=SA_CLM_CHANGE_START, timeSupervision=-6612564084514619392, 
error1=SA_AIS_OK) at saClm_wrap.c:2901
2901       printf("root cse entity in c-clbk %s",rootCauseEntity->value);
(gdb) p (*notificationBuff)->notification[0]
$49 = {clusterNode = {nodeId = 132111, nodeAddress = {family = SA_CLM_AF_INET, 
length = 0,
      value = 
"S\367\377\177\000\000\000\000\000\000\000\000\000\246\000\000\000\000\000\000\000<\000\000\000\001\000\000\000\003\000\002\004\017\000\000\000\001\000\000\000$safNode=PL-4,safCluste"},
 nodeName = {length = 36,
      value = 
"safNode=PL-4,safCluster=myClmCluster\000\000\000\000\000\000\000\000\000$safNode=PL-4,safCluster=myClmCluster",
 '\000' <repeats 13 times>, "f\360\240\000\000\000\000\000\000\000 
\000\000\000\004", '\000' <repeats 11 times>, "\001", '\000' <repeats 133 
times>}, executionEnvironment = {length = 0, value = '\000' <repeats 255 
times>},
    member = SA_TRUE, bootTimestamp = 1430022529000000000, initialViewNumber = 
64}, clusterChange = SA_CLM_NODE_SHUTDOWN}


 Second callback, where clusterChange is improperly filled :

Breakpoint 1, pycbk_SaClmClusterTrackCallbackT_4 (notificationBuff=0x859108, 
numberOfMembers=4, invocation=0, rootCauseEntity=0x859610, 
correlationIds=0x84c130,
    step=SA_CLM_CHANGE_COMPLETED, timeSupervision=0, error1=SA_AIS_OK) at 
saClm_wrap.c:2901
2901       printf("root cse entity in c-clbk %s",rootCauseEntity->value);
(gdb) p (*notificationBuff)->notification[0]
$50 = {clusterNode = {nodeId = 132111, nodeAddress = {family = SA_CLM_AF_INET, 
length = 0, value = '\000' <repeats 63 times>}, nodeName = {length = 36,
      value = "safNode=PL-4,safCluster=myClmCluster", '\000' <repeats 219 
times>}, executionEnvironment = {length = 0, value = '\000' <repeats 255 
times>}, member = SA_TRUE,
    bootTimestamp = 1430022529000000000, initialViewNumber = 65}, clusterChange 
= SA_CLM_NODE_JOINED}



  In this case, notification is sent about the node joining the cluster, which 
is improper. The node never left the cluster and there is no notification for 
that, which is fine.

===  Apr 26 12:18:46 - State Change  ===
eventType = SA_NTF_OBJECT_STATE_CHANGE
notificationObject = "safNode=PL-4,safCluster=myClmCluster"
notifyingObject = "safApp=safClmService"
notificationClassId = SA_NTF_VENDOR_ID_SAF.SA_SVC_CLM.101 (0x65)
additionalText = "CLM node safNode=PL-4,safCluster=myClmCluster Joined"
sourceIndicator = SA_NTF_OBJECT_OPERATION
State ID = SA_CLM_CLUSTER_CHANGE_STATUS
New State: SA_CLM_NODE_JOINED



4) When the lock operation is in progress, hold the response in the start step 
callback and stop the opensaf / reboot the node ( on which operation is in 
progress). In this case notificationBuff is filled up with number of items set 
to zero.


Breakpoint 1, pycbk_SaClmClusterTrackCallbackT_4 (notificationBuff=0x85e3e8, 
numberOfMembers=4, invocation=0, rootCauseEntity=0x85e8f0, 
correlationIds=0x7f5df0,
    step=SA_CLM_CHANGE_COMPLETED, timeSupervision=1, error1=SA_AIS_OK) at 
saClm_wrap.c:2901
(gdb) p (*notificationBuff)
$64 = {viewNumber = 74, numberOfItems = 1, notification = 0x85e670}
(gdb) p (*notificationBuff)->notification[0]
$65 = {clusterNode = {nodeId = 132111, nodeAddress = {family = SA_CLM_AF_INET, 
length = 0, value = '\000' <repeats 63 times>}, nodeName = {length = 36,
      value = "safNode=PL-4,safCluster=myClmCluster", '\000' <repeats 219 
times>}, executionEnvironment = {length = 0, value = '\000' <repeats 255 
times>}, member = SA_FALSE,
    bootTimestamp = 1430031574000000000, initialViewNumber = 73}, clusterChange 
= SA_CLM_NODE_LEFT}


Callback when node is rebooted in the middle of operation.
Breakpoint 1, pycbk_SaClmClusterTrackCallbackT_4 (notificationBuff=0x85ca58, 
numberOfMembers=4, invocation=0, rootCauseEntity=0x84d9d0, 
correlationIds=0x854370,
    step=SA_CLM_CHANGE_COMPLETED, timeSupervision=1, error1=SA_AIS_OK) at 
saClm_wrap.c:2901
(gdb) p (*notificationBuff)
$67 = {viewNumber = 75, numberOfItems = 0, notification = 0x8596b0}



---

Sent from sourceforge.net because [email protected] is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to