)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"fd70aabffb467bb717efa048b12f9e5d9e0ab528","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":40,"id":"2e68bae4_e23495d0","updated":"2025-03-20 16:17:09.000000000","message":"recheck\nbagpipe timeout and n-d-r failures are not related","commit_id":"06c04019810a4f21af7a25936392052ac583a6db"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"b497eb1c7ed8b462def77133d41a5b218d1ba68c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":40,"id":"7f03dbce_8a2a8114","updated":"2025-03-20 19:42:33.000000000","message":"recheck\nneutron-tempest-plugin-designate-scenario timeout","commit_id":"06c04019810a4f21af7a25936392052ac583a6db"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a9f4c540348252625093de721623dda20cb0f7e1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":42,"id":"95f4b4af_6b26b768","updated":"2025-03-25 18:23:24.000000000","message":"Just -1 to highlight my previous comments","commit_id":"cfee76b154d3ad4e3815080bab224e3acb7ece7c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e2f7d7012432ba6c90d2cb9a037299f3ff7c16ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":45,"id":"65397412_989f2848","updated":"2025-03-27 12:49:50.000000000","message":"recheck\nn-d-r failure is not related","commit_id":"ea1b1ce53e8285e9fe638bd5e1b76ab63e5ffb47"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"92a6a87356c9adcaf3ca3707ce52149c0b2ce7f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":46,"id":"302b71c6_315fc012","updated":"2025-03-31 09:11:06.000000000","message":"recheck\nfailures (ubuntu jammy and n-d-r) are not related","commit_id":"88efbcc3b45df45872c7735c7f9ba03ab176bc95"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"81664e4c7dfd81504d444eff4b457a6e6923f887","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":47,"id":"ba82f6ea_79c7c52a","updated":"2025-04-16 06:12:31.000000000","message":"All I can say, after checking the code and the results in ``neutron-tempest-plugin-tap-as-a-service-ovn``, is that this is a fantastic job","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"aeed1a8fa8a457dea34dbfc6ef6e74a2f2373993","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":47,"id":"d7d448d9_8fbf1c3c","updated":"2025-04-17 15:35:39.000000000","message":"Thank you for doing this. Just small things and comments","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"804c27b97684e81e39bbd5f813d6f3aafce0453f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":52,"id":"f9dc9c98_e32b922c","updated":"2025-05-26 12:47:28.000000000","message":"recheck\n*-2025-1 failures are not related","commit_id":"84488631f7d310cfa7124717f94b1c70706c9b45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"092625aad05c0dffafd9dd5dbd5d1eaa55463a4a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":52,"id":"22a23df6_18400c0a","updated":"2025-05-26 09:00:24.000000000","message":"recheck\nSoftware Factory CI -1 is not relevant","commit_id":"84488631f7d310cfa7124717f94b1c70706c9b45"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"bc35255a845b5a167fb09b343c33f21aa6449aac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":53,"id":"af995ebc_17d66528","updated":"2025-06-13 15:26:29.000000000","message":"There were a few unresolved comments here as well.","commit_id":"2bb1b4dc3bb5a4aeeecac37e93c106999e31fe46"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"a2c3fcfd60c992d234aebbe4d2224275d1f4b062","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":53,"id":"d31a4c45_a59c319e","updated":"2025-06-12 07:34:52.000000000","message":"recheck\nneutron-tempest-plugin-ovn-ubuntu-jammy-2025-1 failure is not related","commit_id":"2bb1b4dc3bb5a4aeeecac37e93c106999e31fe46"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a7ad205b352d6fe0b932579469631073d9f242f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"f78dceab_24628012","updated":"2025-06-26 16:38:13.000000000","message":"My only comment is there are some questions not marked resolved, but I think they all are, just wanted to make sure.","commit_id":"5d787a9966feb8abba086ec3ed5020170bf8af82"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"9c21bee01bf85fda456578c145e14809eb92d453","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"217059f5_6a5ee38c","updated":"2025-06-17 07:32:16.000000000","message":"recheck\ndynamic-routing 2024-2 job failure is not related","commit_id":"5d787a9966feb8abba086ec3ed5020170bf8af82"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2266fa88afe6039229b351b39842101cc2f2960b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"9fcb0636_ae8a14db","updated":"2025-06-18 10:28:54.000000000","message":"recheck\ntimeout is not related to patch","commit_id":"5d787a9966feb8abba086ec3ed5020170bf8af82"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"433e3e199b0b43fdc2031e1d3ee93e7070721652","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"437e6c7e_44809c24","in_reply_to":"f78dceab_24628012","updated":"2025-06-27 12:11:58.000000000","message":"I checked again the comments, and as I see all resolved","commit_id":"5d787a9966feb8abba086ec3ed5020170bf8af82"}],"neutron_tempest_plugin/tap_as_a_service/api/test_tap_mirror.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cd0a4319b2140b77e89e1e9c3526485f30c1828b","unresolved":true,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from neutron_tempest_plugin.tap_as_a_service import base"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"CONF \u003d config.CONF"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class TapMirrorTestJSON(base.BaseTaasTest):"}],"source_content_type":"text/x-python","patch_set":41,"id":"607cbc33_aeeeb37c","line":22,"updated":"2025-03-22 17:24:27.000000000","message":"Seems to be unused, config import as well","commit_id":"a1b0ff6b4dfc3d4706eb065e9502b003dfe370df"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"25aaa5cc0ad201c3d57e772970e920310a40a1ef","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from neutron_tempest_plugin.tap_as_a_service import base"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"CONF \u003d config.CONF"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class TapMirrorTestJSON(base.BaseTaasTest):"}],"source_content_type":"text/x-python","patch_set":41,"id":"eec36a54_da93596f","line":22,"in_reply_to":"607cbc33_aeeeb37c","updated":"2025-03-26 14:51:55.000000000","message":"thanks, done","commit_id":"a1b0ff6b4dfc3d4706eb065e9502b003dfe370df"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"aeed1a8fa8a457dea34dbfc6ef6e74a2f2373993","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    def test_create_tap_mirror(self):"},{"line_number":37,"context_line":"        tap_mirror \u003d self.create_tap_mirror("},{"line_number":38,"context_line":"            port_id\u003dself.tap_mirror_port[\u0027id\u0027],"},{"line_number":39,"context_line":"            directions\u003d{\u0027IN\u0027: 101},"},{"line_number":40,"context_line":"            remote_ip\u003d\u0027192.101.0.42\u0027,"},{"line_number":41,"context_line":"            mirror_type\u003d\u0027gre\u0027"},{"line_number":42,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":47,"id":"2d2021af_26776e7c","line":39,"range":{"start_line":39,"start_character":24,"end_line":39,"end_character":35},"updated":"2025-04-17 15:35:39.000000000","message":"nit: you could make this more DRY. E.g. define `expected_direction\u003d{\u0027IN\u0027: 101}` and then later \n`self.assertEqual(expected_direction, tap_mirror[\u0027directions\u0027])`\n\nIF you decide to do it, consider doing it for other variables like the `mirror_type`","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"67cc2a6b239e7c5e2bcaeed2aba4f95d6a8ab14a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    def test_create_tap_mirror(self):"},{"line_number":37,"context_line":"        tap_mirror \u003d self.create_tap_mirror("},{"line_number":38,"context_line":"            port_id\u003dself.tap_mirror_port[\u0027id\u0027],"},{"line_number":39,"context_line":"            directions\u003d{\u0027IN\u0027: 101},"},{"line_number":40,"context_line":"            remote_ip\u003d\u0027192.101.0.42\u0027,"},{"line_number":41,"context_line":"            mirror_type\u003d\u0027gre\u0027"},{"line_number":42,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":47,"id":"d64c9b6b_dd38858e","line":39,"range":{"start_line":39,"start_character":24,"end_line":39,"end_character":35},"in_reply_to":"2d2021af_26776e7c","updated":"2025-05-05 13:42:08.000000000","message":"Done","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"aeed1a8fa8a457dea34dbfc6ef6e74a2f2373993","unresolved":true,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        tap_mirror \u003d self.create_tap_mirror("},{"line_number":49,"context_line":"            port_id\u003dself.tap_mirror_port[\u0027id\u0027],"},{"line_number":50,"context_line":"            directions\u003d{\u0027IN\u0027: 101, \u0027OUT\u0027: 102},"},{"line_number":51,"context_line":"            remote_ip\u003d\u0027192.101.0.42\u0027,"},{"line_number":52,"context_line":"            mirror_type\u003d\u0027erspanv1\u0027"},{"line_number":53,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":47,"id":"18db68d8_44ab12c1","line":50,"range":{"start_line":50,"start_character":24,"end_line":50,"end_character":46},"updated":"2025-04-17 15:35:39.000000000","message":"No issue, but I am just wondering. Is this an alternative to stating `BOTH`. I know that OVN supports both directions for the same index (aka tunnel id).","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"67cc2a6b239e7c5e2bcaeed2aba4f95d6a8ab14a","unresolved":true,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        tap_mirror \u003d self.create_tap_mirror("},{"line_number":49,"context_line":"            port_id\u003dself.tap_mirror_port[\u0027id\u0027],"},{"line_number":50,"context_line":"            directions\u003d{\u0027IN\u0027: 101, \u0027OUT\u0027: 102},"},{"line_number":51,"context_line":"            remote_ip\u003d\u0027192.101.0.42\u0027,"},{"line_number":52,"context_line":"            mirror_type\u003d\u0027erspanv1\u0027"},{"line_number":53,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":47,"id":"f79e5e6d_5f1f4b1d","line":50,"range":{"start_line":50,"start_character":24,"end_line":50,"end_character":46},"in_reply_to":"18db68d8_44ab12c1","updated":"2025-05-05 13:42:08.000000000","message":"True, when I started to work on this only IN and OUT was implemented in OVN, but to use both is a good improvement idea. The same is true to the since then introduced local mirroring in OVN","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"aeed1a8fa8a457dea34dbfc6ef6e74a2f2373993","unresolved":true,"context_lines":[{"line_number":67,"context_line":"        is_t_m_found \u003d False"},{"line_number":68,"context_line":"        for t_m in tap_mirrors[\u0027tap_mirrors\u0027]:"},{"line_number":69,"context_line":"            if t_m[\u0027id\u0027] \u003d\u003d tap_mirror[\u0027id\u0027]:"},{"line_number":70,"context_line":"                is_t_m_found \u003d True"},{"line_number":71,"context_line":"        self.assertTrue(is_t_m_found)"},{"line_number":72,"context_line":"        tap_mirror_show_res \u003d self.tap_mirrors_client.show_tap_mirror("},{"line_number":73,"context_line":"            tap_mirror[\u0027id\u0027])[\u0027tap_mirror\u0027]"}],"source_content_type":"text/x-python","patch_set":47,"id":"29da4ddc_bb725447","line":70,"updated":"2025-04-17 15:35:39.000000000","message":"nit: `break` when found?","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"67cc2a6b239e7c5e2bcaeed2aba4f95d6a8ab14a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        is_t_m_found \u003d False"},{"line_number":68,"context_line":"        for t_m in tap_mirrors[\u0027tap_mirrors\u0027]:"},{"line_number":69,"context_line":"            if t_m[\u0027id\u0027] \u003d\u003d tap_mirror[\u0027id\u0027]:"},{"line_number":70,"context_line":"                is_t_m_found \u003d True"},{"line_number":71,"context_line":"        self.assertTrue(is_t_m_found)"},{"line_number":72,"context_line":"        tap_mirror_show_res \u003d self.tap_mirrors_client.show_tap_mirror("},{"line_number":73,"context_line":"            tap_mirror[\u0027id\u0027])[\u0027tap_mirror\u0027]"}],"source_content_type":"text/x-python","patch_set":47,"id":"513efb26_5c79fece","line":70,"in_reply_to":"29da4ddc_bb725447","updated":"2025-05-05 13:42:08.000000000","message":"Done","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"aeed1a8fa8a457dea34dbfc6ef6e74a2f2373993","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            tap_mirror[\u0027id\u0027])[\u0027tap_mirror\u0027]"},{"line_number":74,"context_line":"        self.assertEqual(tap_mirror[\u0027id\u0027], tap_mirror_show_res[\u0027id\u0027])"},{"line_number":75,"context_line":"        self.assertEqual(\u0027gre\u0027, tap_mirror_show_res[\u0027mirror_type\u0027])"},{"line_number":76,"context_line":"        self.assertEqual(\u0027gre\u0027, tap_mirror_show_res[\u0027mirror_type\u0027])"},{"line_number":77,"context_line":"        self.assertEqual({\u0027OUT\u0027: 101}, tap_mirror_show_res[\u0027directions\u0027])"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    @decorators.idempotent_id(\u002719c40379-bda5-48c9-8873-fc990739d1b5\u0027)"}],"source_content_type":"text/x-python","patch_set":47,"id":"1e60f75d_825e9e32","line":76,"updated":"2025-04-17 15:35:39.000000000","message":"duplicate line? Maybe you meant to check `remote_ip`","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"67cc2a6b239e7c5e2bcaeed2aba4f95d6a8ab14a","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            tap_mirror[\u0027id\u0027])[\u0027tap_mirror\u0027]"},{"line_number":74,"context_line":"        self.assertEqual(tap_mirror[\u0027id\u0027], tap_mirror_show_res[\u0027id\u0027])"},{"line_number":75,"context_line":"        self.assertEqual(\u0027gre\u0027, tap_mirror_show_res[\u0027mirror_type\u0027])"},{"line_number":76,"context_line":"        self.assertEqual(\u0027gre\u0027, tap_mirror_show_res[\u0027mirror_type\u0027])"},{"line_number":77,"context_line":"        self.assertEqual({\u0027OUT\u0027: 101}, tap_mirror_show_res[\u0027directions\u0027])"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    @decorators.idempotent_id(\u002719c40379-bda5-48c9-8873-fc990739d1b5\u0027)"}],"source_content_type":"text/x-python","patch_set":47,"id":"ea38ec76_e4ac3f19","line":76,"in_reply_to":"1e60f75d_825e9e32","updated":"2025-05-05 13:42:08.000000000","message":"thanks","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"aeed1a8fa8a457dea34dbfc6ef6e74a2f2373993","unresolved":true,"context_lines":[{"line_number":96,"context_line":"                         tap_mirror_show_res[\u0027description\u0027])"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @decorators.idempotent_id(\u00279ed165af-7c54-43ac-b14f-077e8f9601f6\u0027)"},{"line_number":99,"context_line":"    def test_delete_mirror_port_deletes_tap_mirror(self):"},{"line_number":100,"context_line":"        port1 \u003d self.create_port(self.network)"},{"line_number":101,"context_line":"        tap_mirror \u003d self.create_tap_mirror("},{"line_number":102,"context_line":"            port_id\u003dport1[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":47,"id":"9193295d_6edf4023","line":99,"updated":"2025-04-17 15:35:39.000000000","message":"For completeness. I think this should also include a test where you explicitly delete the tap mirror. And perhaps also check that the mirrored port was not deleted.","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"67cc2a6b239e7c5e2bcaeed2aba4f95d6a8ab14a","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                         tap_mirror_show_res[\u0027description\u0027])"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @decorators.idempotent_id(\u00279ed165af-7c54-43ac-b14f-077e8f9601f6\u0027)"},{"line_number":99,"context_line":"    def test_delete_mirror_port_deletes_tap_mirror(self):"},{"line_number":100,"context_line":"        port1 \u003d self.create_port(self.network)"},{"line_number":101,"context_line":"        tap_mirror \u003d self.create_tap_mirror("},{"line_number":102,"context_line":"            port_id\u003dport1[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":47,"id":"7cafafa7_d0805559","line":99,"in_reply_to":"9193295d_6edf4023","updated":"2025-05-05 13:42:08.000000000","message":"Done","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"aeed1a8fa8a457dea34dbfc6ef6e74a2f2373993","unresolved":true,"context_lines":[{"line_number":153,"context_line":"                          mirror_type\u003d\u0027gre\u0027)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    @decorators.idempotent_id(\u002795ef1cc1-cd57-4193-a88e-716795e39ebf\u0027)"},{"line_number":156,"context_line":"    def test_create_tap_mirror_non_existing_port(self):"},{"line_number":157,"context_line":"        not_exists \u003d uuidutils.generate_uuid()"},{"line_number":158,"context_line":"        self.assertRaises(lib_exc.NotFound,"},{"line_number":159,"context_line":"                          self.create_tap_mirror,"}],"source_content_type":"text/x-python","patch_set":47,"id":"51536fd7_b9df5c2b","line":156,"updated":"2025-04-17 15:35:39.000000000","message":"Consider. Should we test that a single port(VM) can be part of multiple tap mirrors.","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0600f6deeb0d6e76ddcf51ff13338006d0b62d4e","unresolved":true,"context_lines":[{"line_number":153,"context_line":"                          mirror_type\u003d\u0027gre\u0027)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    @decorators.idempotent_id(\u002795ef1cc1-cd57-4193-a88e-716795e39ebf\u0027)"},{"line_number":156,"context_line":"    def test_create_tap_mirror_non_existing_port(self):"},{"line_number":157,"context_line":"        not_exists \u003d uuidutils.generate_uuid()"},{"line_number":158,"context_line":"        self.assertRaises(lib_exc.NotFound,"},{"line_number":159,"context_line":"                          self.create_tap_mirror,"}],"source_content_type":"text/x-python","patch_set":47,"id":"c4aa08c4_39e179e1","line":156,"in_reply_to":"51536fd7_b9df5c2b","updated":"2025-06-16 13:11:56.000000000","message":"I got it finally, added a new test for it test_multiple_mirrors_for_port","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"433e3e199b0b43fdc2031e1d3ee93e7070721652","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                          mirror_type\u003d\u0027gre\u0027)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    @decorators.idempotent_id(\u002795ef1cc1-cd57-4193-a88e-716795e39ebf\u0027)"},{"line_number":156,"context_line":"    def test_create_tap_mirror_non_existing_port(self):"},{"line_number":157,"context_line":"        not_exists \u003d uuidutils.generate_uuid()"},{"line_number":158,"context_line":"        self.assertRaises(lib_exc.NotFound,"},{"line_number":159,"context_line":"                          self.create_tap_mirror,"}],"source_content_type":"text/x-python","patch_set":47,"id":"bb11b262_468fb439","line":156,"in_reply_to":"c4aa08c4_39e179e1","updated":"2025-06-27 12:11:58.000000000","message":"Done","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"bc35255a845b5a167fb09b343c33f21aa6449aac","unresolved":true,"context_lines":[{"line_number":172,"context_line":"                          self.create_tap_mirror,"},{"line_number":173,"context_line":"                          port_id\u003dport2[\u0027id\u0027],"},{"line_number":174,"context_line":"                          directions\u003dself.in_direction,"},{"line_number":175,"context_line":"                          remote_ip\u003d\u0027192.101.0.4\u0027,"},{"line_number":176,"context_line":"                          mirror_type\u003dself.gre)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @decorators.idempotent_id(\u002795ef1cc1-cd57-4193-a88e-716795e39ebf\u0027)"}],"source_content_type":"text/x-python","patch_set":53,"id":"dc439087_fe369597","line":175,"updated":"2025-06-13 15:26:29.000000000","message":"Just a basic question - do tap mirrors support IPv6?","commit_id":"2bb1b4dc3bb5a4aeeecac37e93c106999e31fe46"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"433e3e199b0b43fdc2031e1d3ee93e7070721652","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                          self.create_tap_mirror,"},{"line_number":173,"context_line":"                          port_id\u003dport2[\u0027id\u0027],"},{"line_number":174,"context_line":"                          directions\u003dself.in_direction,"},{"line_number":175,"context_line":"                          remote_ip\u003d\u0027192.101.0.4\u0027,"},{"line_number":176,"context_line":"                          mirror_type\u003dself.gre)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @decorators.idempotent_id(\u002795ef1cc1-cd57-4193-a88e-716795e39ebf\u0027)"}],"source_content_type":"text/x-python","patch_set":53,"id":"3941f540_da2e3e08","line":175,"in_reply_to":"a4c71cd4_d9e2b2c5","updated":"2025-06-27 12:11:58.000000000","message":"Done","commit_id":"2bb1b4dc3bb5a4aeeecac37e93c106999e31fe46"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0600f6deeb0d6e76ddcf51ff13338006d0b62d4e","unresolved":true,"context_lines":[{"line_number":172,"context_line":"                          self.create_tap_mirror,"},{"line_number":173,"context_line":"                          port_id\u003dport2[\u0027id\u0027],"},{"line_number":174,"context_line":"                          directions\u003dself.in_direction,"},{"line_number":175,"context_line":"                          remote_ip\u003d\u0027192.101.0.4\u0027,"},{"line_number":176,"context_line":"                          mirror_type\u003dself.gre)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @decorators.idempotent_id(\u002795ef1cc1-cd57-4193-a88e-716795e39ebf\u0027)"}],"source_content_type":"text/x-python","patch_set":53,"id":"a4c71cd4_d9e2b2c5","line":175,"in_reply_to":"dc439087_fe369597","updated":"2025-06-16 13:11:56.000000000","message":"I double checked to be sure, and no (at least what I understand from OVS, OVN and Cisco documentation).\nFor GRE there is an ip6gre type for IPv6, but for OVS I can\u0027t see erspanv6, so there should be ip6gre mirror, but not for erspan.","commit_id":"2bb1b4dc3bb5a4aeeecac37e93c106999e31fe46"}],"neutron_tempest_plugin/tap_as_a_service/scenario/manager.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"81664e4c7dfd81504d444eff4b457a6e6923f887","unresolved":true,"context_lines":[{"line_number":245,"context_line":"            server_params[\u0027security_groups\u0027] \u003d ["},{"line_number":246,"context_line":"                {\u0027name\u0027: kwargs.pop(\u0027security_group\u0027)}]"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        if (\u0027port_security_enabled\u0027 in kwargs and"},{"line_number":249,"context_line":"                not kwargs.get(\u0027port_security_enabled\u0027)):"},{"line_number":250,"context_line":"            port \u003d self.create_port(network\u003dnetwork, **kwargs)"},{"line_number":251,"context_line":"        else:"},{"line_number":252,"context_line":"            port \u003d self.create_port("}],"source_content_type":"text/x-python","patch_set":47,"id":"f1fc15c2_86a24e20","line":249,"range":{"start_line":248,"start_character":11,"end_line":249,"end_character":55},"updated":"2025-04-16 06:12:31.000000000","message":"nit: I think this could be an easier check:\n```\nif kwargs.get(\u0027port_security_enabled\u0027, None) is False:\n```","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"67cc2a6b239e7c5e2bcaeed2aba4f95d6a8ab14a","unresolved":false,"context_lines":[{"line_number":245,"context_line":"            server_params[\u0027security_groups\u0027] \u003d ["},{"line_number":246,"context_line":"                {\u0027name\u0027: kwargs.pop(\u0027security_group\u0027)}]"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        if (\u0027port_security_enabled\u0027 in kwargs and"},{"line_number":249,"context_line":"                not kwargs.get(\u0027port_security_enabled\u0027)):"},{"line_number":250,"context_line":"            port \u003d self.create_port(network\u003dnetwork, **kwargs)"},{"line_number":251,"context_line":"        else:"},{"line_number":252,"context_line":"            port \u003d self.create_port("}],"source_content_type":"text/x-python","patch_set":47,"id":"8d45a78c_c5eda955","line":249,"range":{"start_line":248,"start_character":11,"end_line":249,"end_character":55},"in_reply_to":"f1fc15c2_86a24e20","updated":"2025-05-05 13:42:08.000000000","message":"thanks","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"81664e4c7dfd81504d444eff4b457a6e6923f887","unresolved":true,"context_lines":[{"line_number":312,"context_line":"            self.admin_network_client.remove_router_interface_with_subnet_id,"},{"line_number":313,"context_line":"            self.router[\u0027id\u0027], subnet_id\u003dresult[\u0027subnet\u0027][\u0027id\u0027])"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def _check_icmp_traffic(self, monitor_client, left_client,"},{"line_number":316,"context_line":"                            left_port, right_port,"},{"line_number":317,"context_line":"                            tcpdump_cmd\u003dNone):"},{"line_number":318,"context_line":"        log_location \u003d \"/tmp/tcpdumplog\""}],"source_content_type":"text/x-python","patch_set":47,"id":"1ee1d804_cf0ac729","line":315,"range":{"start_line":315,"start_character":8,"end_line":315,"end_character":27},"updated":"2025-04-16 06:12:31.000000000","message":"nit: we are doing the same in whitebox-neutron-tempest-plugin and other test classes; we should have a common method for this.","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"67cc2a6b239e7c5e2bcaeed2aba4f95d6a8ab14a","unresolved":true,"context_lines":[{"line_number":312,"context_line":"            self.admin_network_client.remove_router_interface_with_subnet_id,"},{"line_number":313,"context_line":"            self.router[\u0027id\u0027], subnet_id\u003dresult[\u0027subnet\u0027][\u0027id\u0027])"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def _check_icmp_traffic(self, monitor_client, left_client,"},{"line_number":316,"context_line":"                            left_port, right_port,"},{"line_number":317,"context_line":"                            tcpdump_cmd\u003dNone):"},{"line_number":318,"context_line":"        log_location \u003d \"/tmp/tcpdumplog\""}],"source_content_type":"text/x-python","patch_set":47,"id":"62d71182_d47489c4","line":315,"range":{"start_line":315,"start_character":8,"end_line":315,"end_character":27},"in_reply_to":"1ee1d804_cf0ac729","updated":"2025-05-05 13:42:08.000000000","message":"as I see w-n-t-p uses neutron-tempest-plugin as lib so n-t-p should be a good candidate for it.","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"bc35255a845b5a167fb09b343c33f21aa6449aac","unresolved":true,"context_lines":[{"line_number":333,"context_line":"        # Run traffic from left_vm to right_vm"},{"line_number":334,"context_line":"        LOG.debug(\u0027Check ICMP traffic: ping %s \u0027, right_ip)"},{"line_number":335,"context_line":"        # self.left_client.exec_command("},{"line_number":336,"context_line":"        #     \"ping -c 50 %s\" % self.right_fip[\u0027floating_ip_address\u0027])"},{"line_number":337,"context_line":"        self.check_remote_connectivity(left_client, right_ip,"},{"line_number":338,"context_line":"                                       ping_count\u003d50)"},{"line_number":339,"context_line":""}],"source_content_type":"text/x-python","patch_set":53,"id":"dcc98d8a_8ef6631e","line":336,"updated":"2025-06-13 15:26:29.000000000","message":"Is this supposed to be un-commented?","commit_id":"2bb1b4dc3bb5a4aeeecac37e93c106999e31fe46"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0600f6deeb0d6e76ddcf51ff13338006d0b62d4e","unresolved":true,"context_lines":[{"line_number":333,"context_line":"        # Run traffic from left_vm to right_vm"},{"line_number":334,"context_line":"        LOG.debug(\u0027Check ICMP traffic: ping %s \u0027, right_ip)"},{"line_number":335,"context_line":"        # self.left_client.exec_command("},{"line_number":336,"context_line":"        #     \"ping -c 50 %s\" % self.right_fip[\u0027floating_ip_address\u0027])"},{"line_number":337,"context_line":"        self.check_remote_connectivity(left_client, right_ip,"},{"line_number":338,"context_line":"                                       ping_count\u003d50)"},{"line_number":339,"context_line":""}],"source_content_type":"text/x-python","patch_set":53,"id":"fe8e9be7_7ca286d5","line":336,"in_reply_to":"dcc98d8a_8ef6631e","updated":"2025-06-16 13:11:56.000000000","message":"no, that is leftover, thanks, the check_remote_connectivity do the task, it seems I forgot to remove it when tested the test","commit_id":"2bb1b4dc3bb5a4aeeecac37e93c106999e31fe46"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"433e3e199b0b43fdc2031e1d3ee93e7070721652","unresolved":false,"context_lines":[{"line_number":333,"context_line":"        # Run traffic from left_vm to right_vm"},{"line_number":334,"context_line":"        LOG.debug(\u0027Check ICMP traffic: ping %s \u0027, right_ip)"},{"line_number":335,"context_line":"        # self.left_client.exec_command("},{"line_number":336,"context_line":"        #     \"ping -c 50 %s\" % self.right_fip[\u0027floating_ip_address\u0027])"},{"line_number":337,"context_line":"        self.check_remote_connectivity(left_client, right_ip,"},{"line_number":338,"context_line":"                                       ping_count\u003d50)"},{"line_number":339,"context_line":""}],"source_content_type":"text/x-python","patch_set":53,"id":"a3b1d78a_aef3f879","line":336,"in_reply_to":"fe8e9be7_7ca286d5","updated":"2025-06-27 12:11:58.000000000","message":"Done","commit_id":"2bb1b4dc3bb5a4aeeecac37e93c106999e31fe46"}],"neutron_tempest_plugin/tap_as_a_service/scenario/test_tap_mirror.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cd0a4319b2140b77e89e1e9c3526485f30c1828b","unresolved":true,"context_lines":[{"line_number":21,"context_line":"from neutron_tempest_plugin.tap_as_a_service.scenario import manager"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CONF \u003d config.CONF"},{"line_number":24,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestTapMirror(manager.BaseTaasScenarioTests):"}],"source_content_type":"text/x-python","patch_set":41,"id":"0f4cbaea_b8b9b8ad","line":24,"updated":"2025-03-22 17:24:27.000000000","message":"LOG doesn\u0027t seem used, or logging import (but CONF is this time :)","commit_id":"a1b0ff6b4dfc3d4706eb065e9502b003dfe370df"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"25aaa5cc0ad201c3d57e772970e920310a40a1ef","unresolved":true,"context_lines":[{"line_number":21,"context_line":"from neutron_tempest_plugin.tap_as_a_service.scenario import manager"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CONF \u003d config.CONF"},{"line_number":24,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestTapMirror(manager.BaseTaasScenarioTests):"}],"source_content_type":"text/x-python","patch_set":41,"id":"94b7caca_c9f035f5","line":24,"in_reply_to":"0f4cbaea_b8b9b8ad","updated":"2025-03-26 14:51:55.000000000","message":"thanks, removed","commit_id":"a1b0ff6b4dfc3d4706eb065e9502b003dfe370df"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"a7e342913e9a99e0f709d68d384abcc3f9d45f33","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from neutron_tempest_plugin.tap_as_a_service.scenario import manager"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CONF \u003d config.CONF"},{"line_number":24,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestTapMirror(manager.BaseTaasScenarioTests):"}],"source_content_type":"text/x-python","patch_set":41,"id":"63a3ae45_814af895","line":24,"in_reply_to":"94b7caca_c9f035f5","updated":"2025-06-27 12:12:25.000000000","message":"Done","commit_id":"a1b0ff6b4dfc3d4706eb065e9502b003dfe370df"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cd0a4319b2140b77e89e1e9c3526485f30c1828b","unresolved":true,"context_lines":[{"line_number":130,"context_line":"            self.tap_mirrors_client.delete_tap_mirror,"},{"line_number":131,"context_line":"            tap_mirror[\u0027tap_mirror\u0027][\u0027id\u0027]"},{"line_number":132,"context_line":"        )"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        log_location \u003d \"/tmp/tcpdumplog\""},{"line_number":135,"context_line":"        self._run_in_background("},{"line_number":136,"context_line":"            self.monitor_client,"}],"source_content_type":"text/x-python","patch_set":41,"id":"fa066a96_74064cca","line":133,"updated":"2025-03-22 17:24:27.000000000","message":"Some of below is similar to neutron_tempest_plugin/tap_as_a_service/scenario/test_traffic_impact.py _check_icmp_traffic() code, don\u0027t know if any of that can be extended to not duplicate code.","commit_id":"a1b0ff6b4dfc3d4706eb065e9502b003dfe370df"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"a7e342913e9a99e0f709d68d384abcc3f9d45f33","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            self.tap_mirrors_client.delete_tap_mirror,"},{"line_number":131,"context_line":"            tap_mirror[\u0027tap_mirror\u0027][\u0027id\u0027]"},{"line_number":132,"context_line":"        )"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        log_location \u003d \"/tmp/tcpdumplog\""},{"line_number":135,"context_line":"        self._run_in_background("},{"line_number":136,"context_line":"            self.monitor_client,"}],"source_content_type":"text/x-python","patch_set":41,"id":"ccf2a88b_80b0ac4e","line":133,"in_reply_to":"2bbd1459_135b994c","updated":"2025-06-27 12:12:25.000000000","message":"Done","commit_id":"a1b0ff6b4dfc3d4706eb065e9502b003dfe370df"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"25aaa5cc0ad201c3d57e772970e920310a40a1ef","unresolved":true,"context_lines":[{"line_number":130,"context_line":"            self.tap_mirrors_client.delete_tap_mirror,"},{"line_number":131,"context_line":"            tap_mirror[\u0027tap_mirror\u0027][\u0027id\u0027]"},{"line_number":132,"context_line":"        )"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        log_location \u003d \"/tmp/tcpdumplog\""},{"line_number":135,"context_line":"        self._run_in_background("},{"line_number":136,"context_line":"            self.monitor_client,"}],"source_content_type":"text/x-python","patch_set":41,"id":"2bbd1459_135b994c","line":133,"in_reply_to":"fa066a96_74064cca","updated":"2025-03-26 14:51:55.000000000","message":"Good idea, I run a round with it, let\u0027s see I saw all the pitfalls in my local env","commit_id":"a1b0ff6b4dfc3d4706eb065e9502b003dfe370df"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"81664e4c7dfd81504d444eff4b457a6e6923f887","unresolved":true,"context_lines":[{"line_number":43,"context_line":"    def test_tap_mirror_connectivity(self):"},{"line_number":44,"context_line":"        \"\"\"Test that traffic between 2 VMs mirrored to a FIP"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        .. code-block:: HTML"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"           +------------+"},{"line_number":49,"context_line":"           | Monitor VM |"}],"source_content_type":"text/x-python","patch_set":47,"id":"e865d7c6_e0fe39ce","line":46,"range":{"start_line":46,"start_character":11,"end_line":46,"end_character":28},"updated":"2025-04-16 06:12:31.000000000","message":"hehehe I don\u0027t think that works here\n\"you have no power here\"","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"aeed1a8fa8a457dea34dbfc6ef6e74a2f2373993","unresolved":true,"context_lines":[{"line_number":96,"context_line":"        self.check_remote_connectivity(vm0_client, vm1_ip, ping_count\u003d5)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Create the VM which will be the destination of the mirror"},{"line_number":99,"context_line":"        netmon, subnetmon, routermon \u003d self.create_networks()"},{"line_number":100,"context_line":"        vm_mon_port, vm_mon_fip \u003d self._create_server_with_floatingip("},{"line_number":101,"context_line":"            use_taas_cloud_image\u003dTrue, network\u003dnetmon,"},{"line_number":102,"context_line":"            security_group\u003dself.secgroup[\u0027name\u0027],"}],"source_content_type":"text/x-python","patch_set":47,"id":"43f837a4_e1bbd421","line":99,"range":{"start_line":99,"start_character":16,"end_line":99,"end_character":36},"updated":"2025-04-17 15:35:39.000000000","message":"nit: `ubnetmon, routermon` are not used, so replace with `_`","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"67cc2a6b239e7c5e2bcaeed2aba4f95d6a8ab14a","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        self.check_remote_connectivity(vm0_client, vm1_ip, ping_count\u003d5)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Create the VM which will be the destination of the mirror"},{"line_number":99,"context_line":"        netmon, subnetmon, routermon \u003d self.create_networks()"},{"line_number":100,"context_line":"        vm_mon_port, vm_mon_fip \u003d self._create_server_with_floatingip("},{"line_number":101,"context_line":"            use_taas_cloud_image\u003dTrue, network\u003dnetmon,"},{"line_number":102,"context_line":"            security_group\u003dself.secgroup[\u0027name\u0027],"}],"source_content_type":"text/x-python","patch_set":47,"id":"ddf6b015_925d92ff","line":99,"range":{"start_line":99,"start_character":16,"end_line":99,"end_character":36},"in_reply_to":"43f837a4_e1bbd421","updated":"2025-05-05 13:42:08.000000000","message":"Done","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"aeed1a8fa8a457dea34dbfc6ef6e74a2f2373993","unresolved":true,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Create the VM which will be the destination of the mirror"},{"line_number":99,"context_line":"        netmon, subnetmon, routermon \u003d self.create_networks()"},{"line_number":100,"context_line":"        vm_mon_port, vm_mon_fip \u003d self._create_server_with_floatingip("},{"line_number":101,"context_line":"            use_taas_cloud_image\u003dTrue, network\u003dnetmon,"},{"line_number":102,"context_line":"            security_group\u003dself.secgroup[\u0027name\u0027],"},{"line_number":103,"context_line":"            port_security_enabled\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":47,"id":"9a79f899_20dbbd8b","line":100,"range":{"start_line":100,"start_character":8,"end_line":100,"end_character":19},"updated":"2025-04-17 15:35:39.000000000","message":"same for `vm_mon_port` , replace with `_`","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"67cc2a6b239e7c5e2bcaeed2aba4f95d6a8ab14a","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Create the VM which will be the destination of the mirror"},{"line_number":99,"context_line":"        netmon, subnetmon, routermon \u003d self.create_networks()"},{"line_number":100,"context_line":"        vm_mon_port, vm_mon_fip \u003d self._create_server_with_floatingip("},{"line_number":101,"context_line":"            use_taas_cloud_image\u003dTrue, network\u003dnetmon,"},{"line_number":102,"context_line":"            security_group\u003dself.secgroup[\u0027name\u0027],"},{"line_number":103,"context_line":"            port_security_enabled\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":47,"id":"413d4f68_4abe09d3","line":100,"range":{"start_line":100,"start_character":8,"end_line":100,"end_character":19},"in_reply_to":"9a79f899_20dbbd8b","updated":"2025-05-05 13:42:08.000000000","message":"Done","commit_id":"0b0ac89d286a9274c5f1b43de3b8a4f68d9b46dd"}],"zuul.d/master_jobs.yaml":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"8aea1954fdabe9b1887b751c0c4dc04b4c13d982","unresolved":true,"context_lines":[{"line_number":1419,"context_line":"      tempest_test_regex: ^neutron_tempest_plugin\\.tap_as_a_service"},{"line_number":1420,"context_line":"      tox_envlist: all"},{"line_number":1421,"context_line":"      network_api_extensions_tempest:"},{"line_number":1422,"context_line":"        - taas"},{"line_number":1423,"context_line":"        - taas-vlan-filter"},{"line_number":1424,"context_line":"      devstack_localrc:"},{"line_number":1425,"context_line":"        NETWORK_API_EXTENSIONS: \"{{ (network_api_extensions_common + network_api_extensions_tempest) | join(\u0027,\u0027) }}\""},{"line_number":1426,"context_line":"        BUILD_TIMEOUT: 784"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"0d1a1595_53b99c6c","side":"PARENT","line":1423,"range":{"start_line":1422,"start_character":0,"end_line":1423,"end_character":26},"updated":"2024-01-12 09:48:29.000000000","message":"this is just temporary to make my debugging simpler","commit_id":"7d950d78a2898977325a737bad8cf890ea0c0075"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"70dc6088e31df2e28d79accc5e4882c85b59ca54","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"      tempest_test_regex: ^neutron_tempest_plugin\\.tap_as_a_service"},{"line_number":1420,"context_line":"      tox_envlist: all"},{"line_number":1421,"context_line":"      network_api_extensions_tempest:"},{"line_number":1422,"context_line":"        - taas"},{"line_number":1423,"context_line":"        - taas-vlan-filter"},{"line_number":1424,"context_line":"      devstack_localrc:"},{"line_number":1425,"context_line":"        NETWORK_API_EXTENSIONS: \"{{ (network_api_extensions_common + network_api_extensions_tempest) | join(\u0027,\u0027) }}\""},{"line_number":1426,"context_line":"        BUILD_TIMEOUT: 784"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"6f4107f0_912ddde9","side":"PARENT","line":1423,"range":{"start_line":1422,"start_character":0,"end_line":1423,"end_character":26},"in_reply_to":"0d1a1595_53b99c6c","updated":"2025-03-27 12:51:54.000000000","message":"Done","commit_id":"7d950d78a2898977325a737bad8cf890ea0c0075"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"abe59870db19bd254c3a4eb9fe5cd7de60827fb2","unresolved":true,"context_lines":[{"line_number":1730,"context_line":"        TAAS_SERVICE_DRIVER: \"TAAS:TAAS:neutron_taas.services.taas.service_drivers.ovn.taas_ovn.TaasOvnDriver:default\""},{"line_number":1731,"context_line":"        # mirroring is available from OVN 22.12.0 and use OVS 3.2.1 that also have this"},{"line_number":1732,"context_line":"        # feature and builds with the above OVN"},{"line_number":1733,"context_line":"        OVN_BRANCH: \"8594ca1d076dfc1600e48a20fd21bed1c378cfa5\""},{"line_number":1734,"context_line":"        OVS_BRANCH: \"a2c01c797bea87967a5ad53083ce219c2b487215\""},{"line_number":1735,"context_line":"      devstack_local_conf:"},{"line_number":1736,"context_line":"        test-config:"},{"line_number":1737,"context_line":"          $TEMPEST_CONFIG:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"1c71682a_c693244c","line":1734,"range":{"start_line":1733,"start_character":0,"end_line":1734,"end_character":62},"updated":"2025-01-02 09:38:30.000000000","message":"TODO(lajoskatona): double check these","commit_id":"35f2f5cbb8f6011c9dacf66668dc24ef3876df01"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"75fac7a3549a5c8e185d5dac39be6dafc5a6c89e","unresolved":false,"context_lines":[{"line_number":1730,"context_line":"        TAAS_SERVICE_DRIVER: \"TAAS:TAAS:neutron_taas.services.taas.service_drivers.ovn.taas_ovn.TaasOvnDriver:default\""},{"line_number":1731,"context_line":"        # mirroring is available from OVN 22.12.0 and use OVS 3.2.1 that also have this"},{"line_number":1732,"context_line":"        # feature and builds with the above OVN"},{"line_number":1733,"context_line":"        OVN_BRANCH: \"8594ca1d076dfc1600e48a20fd21bed1c378cfa5\""},{"line_number":1734,"context_line":"        OVS_BRANCH: \"a2c01c797bea87967a5ad53083ce219c2b487215\""},{"line_number":1735,"context_line":"      devstack_local_conf:"},{"line_number":1736,"context_line":"        test-config:"},{"line_number":1737,"context_line":"          $TEMPEST_CONFIG:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"1ff5aa11_48ab9a5f","line":1734,"range":{"start_line":1733,"start_character":0,"end_line":1734,"end_character":62},"in_reply_to":"1c71682a_c693244c","updated":"2025-03-26 14:52:32.000000000","message":"Done","commit_id":"35f2f5cbb8f6011c9dacf66668dc24ef3876df01"}],"zuul.d/project.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"bc35255a845b5a167fb09b343c33f21aa6449aac","unresolved":true,"context_lines":[{"line_number":235,"context_line":"        - neutron-tempest-plugin-vpnaas-2024-2"},{"line_number":236,"context_line":"        - neutron-tempest-plugin-vpnaas-2025-1"},{"line_number":237,"context_line":"        - neutron-tempest-plugin-tap-as-a-service"},{"line_number":238,"context_line":"        - neutron-tempest-plugin-tap-as-a-service-ovn  "},{"line_number":239,"context_line":"        - neutron-tempest-plugin-tap-as-a-service-2024-1"},{"line_number":240,"context_line":"        - neutron-tempest-plugin-tap-as-a-service-2024-2"},{"line_number":241,"context_line":"        - neutron-tempest-plugin-tap-as-a-service-2025-1"}],"source_content_type":"text/x-yaml","patch_set":53,"id":"567b2ab4_10af24e9","line":238,"range":{"start_line":238,"start_character":53,"end_line":238,"end_character":55},"updated":"2025-06-13 15:26:29.000000000","message":"nit: trailing whitespace","commit_id":"2bb1b4dc3bb5a4aeeecac37e93c106999e31fe46"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0600f6deeb0d6e76ddcf51ff13338006d0b62d4e","unresolved":false,"context_lines":[{"line_number":235,"context_line":"        - neutron-tempest-plugin-vpnaas-2024-2"},{"line_number":236,"context_line":"        - neutron-tempest-plugin-vpnaas-2025-1"},{"line_number":237,"context_line":"        - neutron-tempest-plugin-tap-as-a-service"},{"line_number":238,"context_line":"        - neutron-tempest-plugin-tap-as-a-service-ovn  "},{"line_number":239,"context_line":"        - neutron-tempest-plugin-tap-as-a-service-2024-1"},{"line_number":240,"context_line":"        - neutron-tempest-plugin-tap-as-a-service-2024-2"},{"line_number":241,"context_line":"        - neutron-tempest-plugin-tap-as-a-service-2025-1"}],"source_content_type":"text/x-yaml","patch_set":53,"id":"6c33b511_0d10f621","line":238,"range":{"start_line":238,"start_character":53,"end_line":238,"end_character":55},"in_reply_to":"567b2ab4_10af24e9","updated":"2025-06-16 13:11:56.000000000","message":"Done","commit_id":"2bb1b4dc3bb5a4aeeecac37e93c106999e31fe46"}]}
