Migrated from http://devel.opensaf.org/ticket/2034
Brought up 2 SU's in 2N model.
Protection group tracking is started with SA_TRACK_CHANGES.
When standby SU lock followed by active SU lock, three protection group callbacks are expected,
1 ) For standby SU lock,
numberOfmembers -> 1
notificatioBuffer->numberOfItems->2
standbyComponent's info filled with SA_AMF_PROTECTION_GROUP_REMOVED change and with haState as zero
2) for active SU lock, active to quiesced
numberOfmembers -> 1
notificatioBuffer->numberOfItems->1
quiesced component's info filled with SA_AMF_PROTECTION_GROUP_STATE_CHANGE and with haState as QUIESCED
3) For quiesced to no redundancy change,
numberOfmembers -> 0
notificatioBuffer->numberOfItems->1
old quiesced's info filled with SA_AMF_PROTECTION_GROUP_REMOVED change and with haState as zero
In the current implementation, the callback info in the third step is not filled with old quiesced's info. numberOfItems is given as zero.
Changed 20 months ago by erannjn ¶
Can you please explain step 3, I don't really understand quiesced => no redundancy. Are you doing an "amf-adm lock" on SI?
Changed 20 months ago by erannjn ¶
Not able to reproduce this. Please let me know what I am missing/not understand. Running demo app, 2N, SA_TRACK_CHANGES. Startup:
amf_demo[436]: amf_protection_group_callback():
amf_demo[436]: CSI='safCsi=AmfDemo,safSi=AmfDemo,safApp=AmfDemo1', members=1, items=1
amf_demo[436]: --------------------------------------------------------------------------------------------------
amf_demo[436]: item=0, change=2, comp=safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1, haState=1, rank=1
amf_demo[436]: --------------------------------------------------------------------------------------------------
amf_demo[436]: amf_protection_group_callback():
amf_demo[436]: CSI='safCsi=AmfDemo,safSi=AmfDemo,safApp=AmfDemo1', members=2, items=2
amf_demo[436]: --------------------------------------------------------------------------------------------------
amf_demo[436]: item=0, change=2, comp=safComp=AmfDemo,safSu=SU2,safSg=AmfDemo,safApp=AmfDemo1, haState=2, rank=2
amf_demo[436]: item=1, change=1, comp=safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1, haState=1, rank=1
amf_demo[436]: --------------------------------------------------------------------------------------------------
amf_demo[436]: Dispatched healthCheck 3 in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1'
amf_demo[436]: Dispatched healthCheck 4 in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1'
lock standby SU2:
amf_demo[436]: Dispatched healthCheck 5 in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1'
amf_demo[436]: Dispatched healthCheck 6 in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1'
amf_demo[436]: amf_protection_group_callback():
amf_demo[436]: CSI='safCsi=AmfDemo,safSi=AmfDemo,safApp=AmfDemo1', members=1, items=2
amf_demo[436]: --------------------------------------------------------------------------------------------------
amf_demo[436]: item=0, change=1, comp=safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1, haState=1, rank=1
amf_demo[436]: item=1, change=3, comp=safComp=AmfDemo,safSu=SU2,safSg=AmfDemo,safApp=AmfDemo1, haState=0, rank=2
amf_demo[436]: --------------------------------------------------------------------------------------------------
amf_demo[436]: Dispatched healthCheck 7 in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1'
amf_demo[436]: Dispatched healthCheck 8 in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1'
Lock active SU1:
amf_demo[436]: Dispatched healthCheck 9 in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1'
amf_demo[436]: Dispatched healthCheck 10 in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1'
amf_demo[436]: Dispatched 'CSI Set' in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1' CSIName: '' HAState: Quiesced CSIFlags: Target All
amf_demo[436]: amf_protection_group_callback():
amf_demo[436]: CSI='safCsi=AmfDemo,safSi=AmfDemo,safApp=AmfDemo1', members=1, items=1
amf_demo[436]: --------------------------------------------------------------------------------------------------
amf_demo[436]: item=0, change=4, comp=safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1, haState=3, rank=1
amf_demo[436]: --------------------------------------------------------------------------------------------------
amf_demo[436]: Dispatched 'CSI Remove' in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1' CSI: '' CSIFlags: Target All
amf_demo[436]: amf_protection_group_callback():
amf_demo[436]: CSI='safCsi=AmfDemo,safSi=AmfDemo,safApp=AmfDemo1', members=0, items=0
amf_demo[436]: --------------------------------------------------------------------------------------------------
amf_demo[436]: --------------------------------------------------------------------------------------------------
amf_demo[436]: Dispatched healthCheck 11 in 'safComp=AmfDemo,safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1'
ha state = quiesced(3) during SA_AMF_PROTECTION_GROUP_STATE_CHANGE then when change is SA_AMF_PROTECTION_GROUP_REMOVED numberOfItems=0.
Changed 20 months ago by erannjn ¶
■priority changed from major to minor
Changed 20 months ago by srikanth ¶
when standby is left from the group, following info is generated in the callback :
members=1, items=2
amf_demo[436]: item=0, change=1, comp=safComp=AmfDemo?,safSu=SU1,safSg=AmfDemo?,safApp=AmfDemo?1, haState=1, rank=1
amf_demo[436]: item=1, change=3, comp=safComp=AmfDemo?,safSu=SU2,safSg=AmfDemo?,safApp=AmfDemo?1, haState=0, rank=2
change about standby SU is set to SA_AMF_PROTECTION_GROUP_REMOVED and haState is set to zero.
But when quisced is left from the group, following info should be generated in the callback
members=0, items=1
amf_demo[436]: item=0, change=3, comp=safComp=AmfDemo?,safSu=SU1,safSg=AmfDemo?,safApp=AmfDemo?1, haState=0, rank=1
Also when change=3 ( SA_AMF_PROTECTION_GROUP_REMOVED), members will be zero, but not the numberOfItems. AMF need to send that info abt the member removal.
The agent who tracks the group doesn't have the information that the quiseced has left the group.
It will still have the info that active have gone to quisced state.
Changed 20 months ago by allasirisha ¶
■milestone set to 4.2.0.GA
Changed 16 months ago by hafe ¶
■milestone changed from 4.2.0.GA to 4.3.GA
changeset: 6694:9e9ed7642bc8
branch: opensaf-4.5.x
parent: 6691:23497bc00231
user: Nagendra Kumarnagendra.k@oracle.com
date: Fri Jul 24 15:35:27 2015 +0530
summary: amfnd: send csi remove information in pg cbk [#173]
changeset: 6695:e373e0365e6a
branch: opensaf-4.6.x
parent: 6692:667850510161
user: Nagendra Kumarnagendra.k@oracle.com
date: Fri Jul 24 15:35:36 2015 +0530
summary: amfnd: send csi remove information in pg cbk [#173]
changeset: 6696:5228adb56b83
tag: tip
parent: 6693:f900a1faafd7
user: Nagendra Kumarnagendra.k@oracle.com
date: Fri Jul 24 15:35:46 2015 +0530
summary: amfnd: send csi remove information in pg cbk [#173]
[staging:9e9ed7]
[staging:e373e0]
[staging:5228ad]
Related
Tickets:
#173