AMF pushes IMM updates in a queue to be updated in after finishing main job.
Currently, standby amfd as a applier flushes job queue if it no. of elements reaches to 200.
Since the check is on implementer status, active controller may flush it when it loses implementer status and goes for reinit with IMM(one case is when IMM returns BAD_HANDLE, a rare case):
if (!avd_cb->is_implementer) {
check_and_flush_job_queue_standby_amfd();
return JOB_EINVH;
}
In the attached tar, there is a patch which forces amfd to finalize with IMM. After finalizing, when it goes to update attributes in IMM, it gets BAD_HANDLE and it reinitializes with IMM by setting its implemeter status flag as false temporarily.
steps to reproduce with the patch:
1)Bring one controller up.
2)Bring up the attached model.
3)kill the only comonent. AMF will finzlize with IMM and it will flush job queue.
Because of this amf-state su will show su in terminating state:
safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1
saAmfSUAdminState=UNLOCKED(1)
saAmfSUOperState=ENABLED(1)
saAmfSUPresenceState=TERMINATING(4)
saAmfSUReadinessState=OUT-OF-SERVICE(1)
But it is actually moved in UNINSTANTIATED state. This can be verified by dumping amf state:
dn: safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1
saAmfSUPreInstantiable: 1
saAmfSUOperState: DISABLED
saAmfSUAdminState: LOCKED_INSTANTIATION
saAmfSuReadinessState: OUT_OF_SERVICE
saAmfSUPresenceState: UNINSTANTIATED
saAmfSUHostedByNode: safAmfNode=SC-1,safAmfCluster=myAmfCluster
All state machines inside AMF are correct. But a use may not be able to see correct state of AMF entities.
Diff:
Attached id the configuration that I missed to include in tar.
changeset: 8119:3d0f2a5d4966
tag: tip
parent: 8116:be0f5c394a01
user: praveen.malviya@oracle.com
date: Wed Sep 21 16:09:49 2016 +0530
summary: amfd: do not flush imm jobs on active controller[#2016]
Will be pushing in other branches after 5,1 GA announcement.
Related
Tickets:
#2016changeset: 8150:3b2dc19c7c8a
branch: opensaf-5.1.x
parent: 8143:c12f392dc67f
user: praveen.malviya@oracle.com
date: Wed Sep 28 10:31:27 2016 +0530
summary: amfd: do not flush imm jobs on active controller[#2016]
changeset: 8149:56db9446227d
branch: opensaf-5.0.x
parent: 8147:df766110058a
user: praveen.malviya@oracle.com
date: Wed Sep 28 10:20:05 2016 +0530
summary: amfd: do not flush imm jobs on active controller[#2016]
Related
Tickets:
#2016