- **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