-
Type: Bug
-
Status: Resolved (View Workflow)
-
Priority: Medium
-
Resolution: Won't Fix
-
Affects Version/s: None
-
Fix Version/s: SEBA-Next
-
Component/s: bbsim
-
Labels:
-
Environment:
kind-voltha with an internal fix for
VOL-1890.
-
Story Points:2
-
Epic Link:
Found an issue with bbsim state transitions not handled for a specific case while testing the voltha failover fix of @khenaidoo pertaining to issue: https://jira.opencord.org/browse/VOL-1890
The test case is described in 1890 and fixed by Khen with patch pending for review. But its little complicated
Start voltha, create device, allow AAA authentication to succeed.
(bbsim internal state now is OMCI_ACTIVE as i haven't provisioned subscriber yet)
Now i failover the active core handling the device.
I keep repeating this.
Then I go and provision the subscriber to push dhcp flows to trigger bbsim onu state to move to ONU_AUTHENTICATED.
But before that, the following transition could happen based on the nature of the fix for voltha failover.
In this failover transition, there is a brief window where its possible for the logical device state to transition to inactive and then active. Meaning ONOS _could_ briefly see the device available=false and then to true (when reconcile of logical device is complete to pull the logical device into memory so that ofagent sees it)
This results in the following state transitions with AAA already done but before dhcp flows are pushed or subscriber provisioned (OMCI_ACTIVE)
bbsim would see:
ONU_INACTIVE -> ONU_ACTIVE
ONU_ACTIVE -> ONU_AUTHENTICATED (dhcp flows provisioned on add subscriber)
This results in a no-op in transitOnu and hence the dhcp client tester is not started in BBSim after dhcp flows were pushed in voltha when device becomes available again and subscriber was provisioned after that.
time="2019-09-05T22:11:12Z" level=debug msg="transitOnu called with key: {1 0}, previous: ONU_INACTIVE, current: ONU_ACTIVE" topics="[bbsim.log]"
time="2019-09-05T22:11:24Z" level=debug msg="transitOnu called with key: {1 0}, previous: ONU_ACTIVE, current: ONU_OMCIACTIVE" topics="[bbsim.log]"
time="2019-09-05T22:17:15Z" level=debug msg="transitOnu called with key: {1 0}, previous: ONU_INACTIVE, current: ONU_ACTIVE" topics="[bbsim.log]"
time="2019-09-05T22:27:49Z" level=debug msg="transitOnu called with key: {1 0}, previous: ONU_ACTIVE, current: ONU_AUTHENTICATED" topics="[bbsim.log]"