Menu

#173 protection group callback is giving null info when component moves from quiesced to no redundancy

4.5.2
fixed
None
defect
amf
nd
4.2
minor
2015-07-24
2013-05-14
No

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

Related

Tickets: #173
Wiki: ChangeLog-4.5.2
Wiki: ChangeLog-4.6.1

Discussion

  • Nagendra Kumar

    Nagendra Kumar - 2015-07-08
    • status: unassigned --> assigned
    • assigned_to: Nagendra Kumar
    • Part: - --> nd
    • Milestone: future --> 4.5.2
     
  • Nagendra Kumar

    Nagendra Kumar - 2015-07-08
    • status: assigned --> accepted
     
  • Nagendra Kumar

    Nagendra Kumar - 2015-07-08
    • status: accepted --> review
     
  • Anders Bjornerstedt

    • Type: defect --> enhancement
     
  • Nagendra Kumar

    Nagendra Kumar - 2015-07-24
    • status: review --> fixed
     
  • Nagendra Kumar

    Nagendra Kumar - 2015-07-24

    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

  • Nagendra Kumar

    Nagendra Kumar - 2015-07-24
    • Type: enhancement --> defect
     

Log in to post a comment.