kytos-ng / kytos-end-to-end-tests

Kytos End-to-End Tests
0 stars 10 forks source link

e2e test failure: TestE2ETopology::test_140_delete_switch #295

Closed viniarck closed 3 months ago

viniarck commented 3 months ago

@Alopalao, if you could look into it. It's strange that OFPP_LOCAL interface (4294967294) had used vlans, this failed on last night execution:

tests/test_e2e_05_topology.py::TestE2ETopology::test_140_delete_switch: 2024-03-29,19:31:43.919245 - 2024-03-29,19:32:09.851730
self = <tests.test_e2e_05_topology.TestE2ETopology object at 0x7fd7258e1090>
    def test_140_delete_switch(self):
        """Test api/kytos/topology/v3/switches/{switch_id} on DELETE"""
        # Enable the switches and ports first
        self.net.net.configLinkStatus('s1', 's2', 'up')
        self.restart(_clean_config=True, _enable_all=True)

        # Switch is not disabled, 409
        switch_1 = "00:00:00:00:00:00:00:01"
        api_url = f'{KYTOS_API}/topology/v3/switches/{switch_1}'
        response = requests.delete(api_url)
        assert response.status_code == 409

        # Switch have links, 409
        api_url = f'{KYTOS_API}/topology/v3/switches/{switch_1}/disable'
        response = requests.post(api_url)
        assert response.status_code == 201

        api_url = f'{KYTOS_API}/topology/v3/switches/{switch_1}'
        response = requests.delete(api_url)
        assert response.status_code == 409

        # Get the link_id
        api_url = KYTOS_API + '/topology/v3/links'
        response = requests.get(api_url)
        assert response.status_code == 200
        data = response.json()
        links_id = list()
        for key, value in data['links'].items():
            if (value["endpoint_a"]["switch"] == switch_1 or
                value["endpoint_b"]["switch"] == switch_1):
                links_id.append(key)
        assert links_id

        for link in links_id:
            # Disabling links
            self.net.net.configLinkStatus('s1', 's3', 'down')
            api_url = KYTOS_API + f'/topology/v3/links/{link}/disable'
            response = requests.post(api_url)
            assert response.status_code == 201, response.text

            # Deleting links
            api_url = KYTOS_API + f'/topology/v3/links/{link}'
            response = requests.delete(api_url)
            assert response.status_code == 200, response.text

        # Delete switch, success
        api_url = f'{KYTOS_API}/topology/v3/switches/{switch_1}'
        response = requests.delete(api_url)
>       assert response.status_code == 200, response.text
E       AssertionError: {"description":"Interface 4294967294 vlans are being used. Delete any service using vlans.","code":409}
E       assert 409 == 200
E        +  where 409 = <Response [409]>.status_code
tests/test_e2e_05_topology.py:760: AssertionError
tests/test_e2e_05_topology.py::TestE2ETopology::test_140_delete_switch: 2024-03-29,19:32:33.96[490](https://gitlab.ampath.net/amlight/kytos-end-to-end-tester/-/jobs/60967#L490)1 - 2024-03-29,19:32:59.938989
=========================== rerun test summary info ============================
RERUN tests/test_e2e_05_topology.py::TestE2ETopology::test_140_delete_switch
RERUN tests/test_e2e_05_topology.py::TestE2ETopology::test_140_delete_switch
=========================== short test summary info ============================
FAILED tests/test_e2e_05_topology.py::TestE2ETopology::test_140_delete_switch - AssertionError: {"description":"Interface 429[496](https://gitlab.ampath.net/amlight/kytos-end-to-end-tester/-/jobs/60967#L496)7294 vlans are being used. Delete any service using vlans.","code":409}
assert 409 == 200
 +  where 409 = <Response [409]>.status_code