Conversation
Coverage Report for CI Build 24199243205Coverage decreased (-0.09%) to 53.83%Details
Uncovered Changes
Coverage Regressions3 previously-covered lines in 2 files lost coverage.
Coverage Stats
💛 - Coveralls |
…pdating-to-error-after-nni-attribute-removal-use-case-9
…pdating-to-error-after-nni-attribute-removal-use-case-9
|
------------Observed in test_21_use_case_topology.py::TestE2ETopologyUseCases::test_091_port_missing_nni------
|
|
@gretelliz @italovalcy see above logs. Were there some recent updates in Kytos?
|
|
First clean run:
E AssertionError: assert 'urn:sdx:port....net:Sax01:40' == '' tests/test_21_use_case_topology.py:348: AssertionError Second clean run: Second clean run: |
|
Hi @YufengXin, I ran the end-to-end test DELETE /ampath/topology/v3/interfaces/{interfaces_id}/metadata/sdx_nniand forcing the topology update with |
|
@gretelliz Do I have to do these two steps (DELETE and POST) manually? Or the two steps in your test_091_port_missing_nni worked now? And is there a new Kytos image to use? Thx |
|
Hello @YufengXin, the End-to-end tests are always run with the latest available image. |
Merge remote-tracking branch 'origin/main' into 478-link-status-not-updating-to-error-after-nni-attribute-removal-use-case-9
|
Initially-------Tenet topology, everything is up Afterwards---removing one 'nni' caused multiple links down Comments:
@gretelliz I am not going to continue this PR and will revisit later. Thx. |
|
update from today's meeting: we had a joint troubleshooting session about this problem and we manage to. find that Kytos is sending the outdated topology to SDX-LC via push method (version 9), while the topology updated with the NNI removed (version 10) was not sent to SDX-LC. Something is happening at Kytos that is sending an outdated topology. I've filed an issue with Kytos to troubleshoot this atlanticwave-sdx/kytos-sdx#98 |
|
I've dig deeper into this issue and submitted two PRs to fix the end-to-end tests (to add proper sleep times after NNI metadata removal) and also implement a few improvements to the Kytos SDX Napp to avoid sending the wrong topology. After those changes, the tests are still failing with the following error (15 repeats): |
|
This is great, Italo,
I’ll pull in the new Kytos image and work on this.
Now I can test and try to resolve the real issue. Thx.
-Yufeng
On Apr 9, 2026, at 9:17 AM, Italo Valcy S Brito ***@***.***> wrote:
[https://avatars.githubusercontent.com/u/168159?s=20&v=4]italovalcy left a comment (atlanticwave-sdx/sdx-controller#514)<#514 (comment)>
I've dig deeper into this issue and submitted two PRs to fix the end-to-end tests (to add proper sleep times after NNI metadata removal) and also implement a few improvements to the Kytos SDX Napp to avoid sending the wrong topology.
After those changes, the tests are still failing with the following error (15 repeats):
========================================================================================================= FAILURES =========================================================================================================
____________________________________________________________________________________ TestE2ETopologyUseCases.test_091_port_missing_nni _____________________________________________________________________________________
self = <test_21_use_case_topology.TestE2ETopologyUseCases object at 0x7fd33d083e50>
def test_091_port_missing_nni(self):
"""
Use Case 9: OXPO sends a topology update with a Port missing
"""
l2vpn_data = self.create_new_l2vpn(vlan='910', node1='Ampath1', node2= 'Sax01')
l2vpn_id = l2vpn_data['id']
port_name = 'Ampath1-eth40'
link_name = 'Ampath1-eth40--Sax01-eth40'
interfaces_id = 'aa:00:00:00:00:00:00:01:40'
# Verify the link is up in the topology
response = requests.get(API_URL_TOPO)
assert response.status_code == 200, response.text
topology = response.json()
for link in topology['links']:
if link['name'] == link_name:
assert link['status'] == 'up'
break
ampath_api = KYTOS_API % 'ampath'
api_url_ampath = f'{ampath_api}/topology/v3'
response = requests.delete(f"{api_url_ampath}/interfaces/{interfaces_id}/metadata/sdx_nni")
assert response.status_code == 200, response.text
time.sleep(5)
# Force to send the topology to the SDX-LC
sdx_api = KYTOS_SDX_API % 'ampath'
response = requests.post(f"{sdx_api}/topology/2.0.0")
assert response.status_code == 200, response.text
time.sleep(5)
response = requests.get(f"{sdx_api}/topology/2.0.0")
kytos_topo = response.json()
for node in kytos_topo["nodes"]:
for port in node["ports"]:
if port["id"] == "urn:sdx:port:ampath.net:Ampath1:40":
assert port["nni"] == "", f"kytos_topo={kytos_topo}"
break
response = requests.get(API_URL_TOPO)
assert response.status_code == 200, response.text
updated_topology = response.json()
for node in updated_topology['nodes']:
if node['name'] == port_name.split('-')[0]:
for port in node['ports']:
if port['name'] == port_name:
assert port['nni'] == '', f"sdx_topo={updated_topology} kytos_topo={kytos_topo}"
for link in updated_topology['links']:
if link['name'] == link_name:
assert link['status'] == 'error', f"link={link}"
E AssertionError: link={'availability': 100, 'bandwidth': 10, 'id': 'urn:sdx:link:interdomain:ampath.net:Ampath1:40:sax.net:Sax01:40', 'latency': 0, 'measurement_period': None, 'name': 'Ampath1-eth40--Sax01-eth40', 'packet_loss': 0, 'ports': ['urn:sdx:port:ampath.net:Ampath1:40', 'urn:sdx:port:sax.net:Sax01:40'], 'private_attributes': None, 'residual_bandwidth': 100.0, 'short_name': None, 'state': 'enabled', 'status': 'up', 'timestamp': None}
E assert 'up' == 'error'
E - error
E + up
tests/test_21_use_case_topology.py:361: AssertionError
-------------------------------------------------------------------------------------------------- Captured stderr setup ---------------------------------------------------------------------------------------------------
*** Error setting resource limits. Mininet's performance may be affected.
---------------------------------------------------------------------------------------------------- Captured log setup ----------------------------------------------------------------------------------------------------
WARNING mininet:log.py:153 *** Error setting resource limits. Mininet's performance may be affected.
----------------------------------------------------------------------------------------------------- start/stop times -----------------------------------------------------------------------------------------------------
tests/test_21_use_case_topology.py::TestE2ETopologyUseCases::test_091_port_missing_nni: 2026-04-08,20:44:18.358658 - 2026-04-08,20:44:37.683566
================================================================================================= short test summary info ==================================================================================================
FAILED tests/test_21_use_case_topology.py::TestE2ETopologyUseCases::test_091_port_missing_nni - AssertionError: link={'availability': 100, 'bandwidth': 10, 'id': 'urn:sdx:link:interdomain:ampath.net:Ampath1:40:sax.net:Sax01:40', 'latency': 0, 'measurement_period': None, 'name': 'Ampath1-eth40--Sax01-eth40', 'p...
=============================================================================================== 1 failed in 78.54s (0:01:18) ===============================================================================================
—
Reply to this email directly, view it on GitHub<#514 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABZ4BZS3G3UFFZC2J3EJQQD4U6PILAVCNFSM6AAAAACT4FJQHGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DEMJUGUYTCOBRGQ>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
No description provided.