Closed italovalcy closed 11 months ago
@italovalcy thanks for catching and reporting this.
@gretelliz I've assigned this to you. I've initially set the priority as priority_medium
and scheduled for 2023.2
, @italovalcy feel free to update the priority accordingly if needed.
@gretelliz when you're back, check out this issue that has been left behind. The workaround seems simpler, but sdntrace_cp
should be reliable to also handle this case when comparing the trace result.
Hi team
The most updated version of Kytos does not run sdntrace on the startup anymore (sdntrace was helping to see if the flows were still there to re-activate the EVC -- now that EVCs are activated by default sdntrace wont run anymore)
Anyway, to reproduce the issue now the approach would be:
Then, after following the guidelines presented on this issue, you can connect to Kytos console and run the following test:
kytos $> a = EVCDeploy.check_list_traces(controller.napps[('kytos', 'mef_eline')].circuits.values())
2023-11-13 19:51:58,562 - INFO [uvicorn.access] (MainThread) 127.0.0.1:57420 - "GET /api/kytos/flow_manager/v2/stored_flows/?state=installed HTTP/1.1" 200
2023-11-13 19:51:58,566 - INFO [uvicorn.access] (MainThread) 127.0.0.1:57406 - "PUT /api/amlight/sdntrace_cp/v1/traces HTTP/1.1" 200
kytos $> 2023-11-13 19:51:58,568 - WARNING [kytos.napps.kytos/mef_eline] (ThreadPoolExecutor-1_0) Invalid trace from uni_a: [{'dpid': '00:00:00:00:00:00:00:03', 'port': 1, 'time': '2023-11-13 19:51:58.565206', 'type': 'starting', 'vlan': 999}, {'dpid': '00:00:00:00:00:00:00:02', 'port': 3, 'time': '2023-11-13 19:51:58.565262', 'type': 'intermediary', 'vlan': 3}, {'dpid': '00:00:00:00:00:00:00:01', 'port': 2, 'time': '2023-11-13 19:51:58.565320', 'type': 'last', 'vlan': 3, 'out': {'port': 1, 'vlan': 999}}]
kytos $> a
Out[18]: {'23f4ff3f61ab42': True, '82ff02a96a4d44': False}
How to reproduce:
tmux new-sess -d -s mn mn --topo linear,3 --controller=remote,ip=127.0.0.1
Expected behavior: Kytos should smoothly activate the EVC again, i.e., all traces should be valid.
Actual behavior:
PS: you may eventually need to repeat the step 4 a few times, depending on the case of mef_eline loading the EVCs before the link_up events (in order to see the issue, the EVCs have to be loaded after the link up events, leaving the activation of the EVC for the consistency routine)
Adding the following debug information helps understand the issue:
The log now becomes:
Here is the EVC data:
And the stored flows: