)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"3192efb54e5e2a4d8d40e976643e2f9b71abafe6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bafa4d82_4fe8a323","updated":"2025-07-15 14:43:54.000000000","message":"Please notice this temporary workaround verified on setup that reproduced the issue.\nThank you.","commit_id":"667ecdcc3fa811049f2f93c8c9560f59bb12a9c6"},{"author":{"_account_id":34118,"name":"Arnau Verdaguer","email":"averdagu@redhat.com","username":"averdaguer"},"change_message_id":"900627b7097c396d46da42751f0185e55057fbd3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0ceded40_29dbfb59","updated":"2025-07-16 14:10:47.000000000","message":"Hi, thanks for handeling this!\nJust a question, do we handle the case where we only have one single compute? I don\u0027t see any skipException for not having more than 1 compute","commit_id":"9b23a14360964287e378352e3e745c7d2afefc8f"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"1926943117263d5706b98b0d83e7aedbe9552f49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"cca999e2_3c5d06de","updated":"2025-07-16 14:25:23.000000000","message":"Thank you for doing this. Few comments","commit_id":"9b23a14360964287e378352e3e745c7d2afefc8f"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"00d37eee84da6983049a54e661bcc177544f62b2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e4217c39_76d2c9d4","updated":"2025-07-20 15:58:12.000000000","message":"Thank you for the changes Renjing.\n\nPlease verify that this sophisticated issue skip works on uni-delta for many consecutive runs (such as running a loop of test 10 or 20 times without the flaky issue occurring), otherwise we did miss something and we should debug more.","commit_id":"aa1d5abef55706bb37167729b04f4f2c143e8086"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"8a81d7844799ec883701de09ef5673568c6f92f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"fdbeeb4a_a5f8bc20","updated":"2025-07-18 00:54:37.000000000","message":"thank you for addressing those comments. LGTM","commit_id":"aa1d5abef55706bb37167729b04f4f2c143e8086"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"90ae83fded1366222e18011285b9ca3d494aae1e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"210be0ec_fd842bbf","in_reply_to":"e4217c39_76d2c9d4","updated":"2025-07-21 08:19:25.000000000","message":"Thank you for the review.\nRan it 20 times with changes applied in uni-delta and all runs passed.","commit_id":"aa1d5abef55706bb37167729b04f4f2c143e8086"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"27debd9261c7e149cd1c26dc9c871d6e0c1fadc9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"6fd1bdc9_7da37a3a","updated":"2025-07-21 11:56:09.000000000","message":"Thank you, LGTM","commit_id":"aead964b735d6be8e905ae13be697e673df1b550"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"7d6fe4ed2af7e3921de40d039763385e5d253db7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a1207e17_6bde2320","updated":"2025-07-21 11:57:27.000000000","message":"lets wait for rdo check too","commit_id":"aead964b735d6be8e905ae13be697e673df1b550"}],"whitebox_neutron_tempest_plugin/tests/scenario/test_mtu.py":[{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"3192efb54e5e2a4d8d40e976643e2f9b71abafe6","unresolved":true,"context_lines":[{"line_number":163,"context_line":"        # We\u0027ll use the default self.server as a proxy for no-FIP scenario"},{"line_number":164,"context_line":"        # TODO(rxiao): Temporarily create test VMs on a different compute than"},{"line_number":165,"context_line":"        # the external VM. Recover once OSPRH-17095 is resolved."},{"line_number":166,"context_line":"        ext_vm_host \u003d {\u0027different_host\u0027: [ext_vm[\u0027server\u0027][\u0027id\u0027]]}"},{"line_number":167,"context_line":"        self.server \u003d self._create_server(scheduler_hints\u003dext_vm_host)"},{"line_number":168,"context_line":"        server_ssh_client \u003d ssh.Client("},{"line_number":169,"context_line":"            self.server[\u0027fip\u0027][\u0027floating_ip_address\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"9674b194_f1d2b649","line":166,"range":{"start_line":166,"start_character":8,"end_line":166,"end_character":66},"updated":"2025-07-15 14:43:54.000000000","message":"Since not sure when this check will be enabled for more cases again, its possible to narrow down when this is limited to different computes, such as checking dvr / vlan tenant network configured (as conditions to reproduce in OSPRH-17095 bug).\n\nThat way we won\u0027t lose test coverage for other cases where it can execute.","commit_id":"667ecdcc3fa811049f2f93c8c9560f59bb12a9c6"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"1926943117263d5706b98b0d83e7aedbe9552f49","unresolved":true,"context_lines":[{"line_number":161,"context_line":"        self.local_client \u003d ext_vm_ssh_client"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # We\u0027ll use the default self.server as a proxy for no-FIP scenario"},{"line_number":164,"context_line":"        # TODO(rxiao): Temporarily create test VMs on a different compute than"},{"line_number":165,"context_line":"        # the external VM based on known issue (DVR + VLAN tenant network)."},{"line_number":166,"context_line":"        # Recover once OSPRH-17095 is resolved."},{"line_number":167,"context_line":"        if not self.is_devstack:"}],"source_content_type":"text/x-python","patch_set":3,"id":"58620a05_361e997d","line":164,"updated":"2025-07-16 14:25:23.000000000","message":"nitpick: If possible... Can you wrap all this logic into a private method and just call it here? I think it will be easier to remove in the future","commit_id":"9b23a14360964287e378352e3e745c7d2afefc8f"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"8a81d7844799ec883701de09ef5673568c6f92f2","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        self.local_client \u003d ext_vm_ssh_client"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # We\u0027ll use the default self.server as a proxy for no-FIP scenario"},{"line_number":164,"context_line":"        # TODO(rxiao): Temporarily create test VMs on a different compute than"},{"line_number":165,"context_line":"        # the external VM based on known issue (DVR + VLAN tenant network)."},{"line_number":166,"context_line":"        # Recover once OSPRH-17095 is resolved."},{"line_number":167,"context_line":"        if not self.is_devstack:"}],"source_content_type":"text/x-python","patch_set":3,"id":"f04ed685_5f4afb21","line":164,"in_reply_to":"58620a05_361e997d","updated":"2025-07-18 00:54:37.000000000","message":"Done","commit_id":"9b23a14360964287e378352e3e745c7d2afefc8f"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"1926943117263d5706b98b0d83e7aedbe9552f49","unresolved":true,"context_lines":[{"line_number":176,"context_line":"                config_files\u003dconfig_files, param\u003d\u0027router_distributed\u0027,"},{"line_number":177,"context_line":"                value\u003d\u0027true\u0027, skip_if_fails\u003dFalse)"},{"line_number":178,"context_line":"        if not self.is_devstack and is_vlan_tenant and is_dvr_enabled:"},{"line_number":179,"context_line":"            different_host \u003d {\u0027different_host\u0027: [ext_vm[\u0027server\u0027][\u0027id\u0027]]}"},{"line_number":180,"context_line":"            self.server \u003d self._create_server(scheduler_hints\u003ddifferent_host)"},{"line_number":181,"context_line":"            self.test_server \u003d self._create_server("},{"line_number":182,"context_line":"                create_floating_ip\u003dFalse, scheduler_hints\u003ddifferent_host)"},{"line_number":183,"context_line":"        else:"},{"line_number":184,"context_line":"            self.server \u003d self._create_server()"},{"line_number":185,"context_line":"            self.test_server \u003d self._create_server(create_floating_ip\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"27c28f84_6abee409","line":182,"range":{"start_line":179,"start_character":0,"end_line":182,"end_character":4},"updated":"2025-07-16 14:25:23.000000000","message":"I need to download the patch to see what the `_create_server` actually does, but from the first look,wouldnt this logic mean that both `server` and `test_server` are deployed on the same compute node?","commit_id":"9b23a14360964287e378352e3e745c7d2afefc8f"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"4d92d96285f0133ea0a9291558cc76776d175055","unresolved":true,"context_lines":[{"line_number":176,"context_line":"                config_files\u003dconfig_files, param\u003d\u0027router_distributed\u0027,"},{"line_number":177,"context_line":"                value\u003d\u0027true\u0027, skip_if_fails\u003dFalse)"},{"line_number":178,"context_line":"        if not self.is_devstack and is_vlan_tenant and is_dvr_enabled:"},{"line_number":179,"context_line":"            different_host \u003d {\u0027different_host\u0027: [ext_vm[\u0027server\u0027][\u0027id\u0027]]}"},{"line_number":180,"context_line":"            self.server \u003d self._create_server(scheduler_hints\u003ddifferent_host)"},{"line_number":181,"context_line":"            self.test_server \u003d self._create_server("},{"line_number":182,"context_line":"                create_floating_ip\u003dFalse, scheduler_hints\u003ddifferent_host)"},{"line_number":183,"context_line":"        else:"},{"line_number":184,"context_line":"            self.server \u003d self._create_server()"},{"line_number":185,"context_line":"            self.test_server \u003d self._create_server(create_floating_ip\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"8b1119ad_1c2714fb","line":182,"range":{"start_line":179,"start_character":0,"end_line":182,"end_character":4},"in_reply_to":"27c28f84_6abee409","updated":"2025-07-16 15:59:49.000000000","message":"Thank you for the review.\nMy understanding was that it would be okay to have `server` (proxy) and `test_server` (test VM) on the same compute, as they are on a different compute from `ext_vm` (external VM)","commit_id":"9b23a14360964287e378352e3e745c7d2afefc8f"},{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"8a81d7844799ec883701de09ef5673568c6f92f2","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                config_files\u003dconfig_files, param\u003d\u0027router_distributed\u0027,"},{"line_number":177,"context_line":"                value\u003d\u0027true\u0027, skip_if_fails\u003dFalse)"},{"line_number":178,"context_line":"        if not self.is_devstack and is_vlan_tenant and is_dvr_enabled:"},{"line_number":179,"context_line":"            different_host \u003d {\u0027different_host\u0027: [ext_vm[\u0027server\u0027][\u0027id\u0027]]}"},{"line_number":180,"context_line":"            self.server \u003d self._create_server(scheduler_hints\u003ddifferent_host)"},{"line_number":181,"context_line":"            self.test_server \u003d self._create_server("},{"line_number":182,"context_line":"                create_floating_ip\u003dFalse, scheduler_hints\u003ddifferent_host)"},{"line_number":183,"context_line":"        else:"},{"line_number":184,"context_line":"            self.server \u003d self._create_server()"},{"line_number":185,"context_line":"            self.test_server \u003d self._create_server(create_floating_ip\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"e7fa4431_09a24b90","line":182,"range":{"start_line":179,"start_character":0,"end_line":182,"end_character":4},"in_reply_to":"4751b5d4_317db5b8","updated":"2025-07-18 00:54:37.000000000","message":"Ok I got it now, `different_host` is actually a nova scheduler hint to make sure that  the new server does not land on a node where the provided server uuid is[1]\nI did not know that Nova can do this for us, cool! All good then.... it is ok to have the \"test server\" and \"proxy server\" on the same compute node. \n\n\u003cside node\u003e, see if whoever first wrote this code would have called the `server`   `proxy_server` then there would not be this confusion and no need for the additional comment 😊 . Beauty of good variable naming \u003c/side node\u003e\n\n[1] https://opendev.org/openstack/nova/src/branch/master/nova/api/openstack/compute/schemas/servers.py#L102-L106","commit_id":"9b23a14360964287e378352e3e745c7d2afefc8f"},{"author":{"_account_id":34118,"name":"Arnau Verdaguer","email":"averdagu@redhat.com","username":"averdaguer"},"change_message_id":"0d13015a8cc362c6f37d51bb620de49619da5098","unresolved":true,"context_lines":[{"line_number":176,"context_line":"                config_files\u003dconfig_files, param\u003d\u0027router_distributed\u0027,"},{"line_number":177,"context_line":"                value\u003d\u0027true\u0027, skip_if_fails\u003dFalse)"},{"line_number":178,"context_line":"        if not self.is_devstack and is_vlan_tenant and is_dvr_enabled:"},{"line_number":179,"context_line":"            different_host \u003d {\u0027different_host\u0027: [ext_vm[\u0027server\u0027][\u0027id\u0027]]}"},{"line_number":180,"context_line":"            self.server \u003d self._create_server(scheduler_hints\u003ddifferent_host)"},{"line_number":181,"context_line":"            self.test_server \u003d self._create_server("},{"line_number":182,"context_line":"                create_floating_ip\u003dFalse, scheduler_hints\u003ddifferent_host)"},{"line_number":183,"context_line":"        else:"},{"line_number":184,"context_line":"            self.server \u003d self._create_server()"},{"line_number":185,"context_line":"            self.test_server \u003d self._create_server(create_floating_ip\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"4751b5d4_317db5b8","line":182,"range":{"start_line":179,"start_character":0,"end_line":182,"end_character":4},"in_reply_to":"8b1119ad_1c2714fb","updated":"2025-07-16 16:06:33.000000000","message":"Oh, when I read the patch I didn\u0027t thought that way, since this is not something that can be interpreted only from code , could you leave a comment explaining this?","commit_id":"9b23a14360964287e378352e3e745c7d2afefc8f"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"90ae83fded1366222e18011285b9ca3d494aae1e","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                config_files\u003dconfig_files, param\u003d\u0027router_distributed\u0027,"},{"line_number":177,"context_line":"                value\u003d\u0027true\u0027, skip_if_fails\u003dFalse)"},{"line_number":178,"context_line":"        if not self.is_devstack and is_vlan_tenant and is_dvr_enabled:"},{"line_number":179,"context_line":"            different_host \u003d {\u0027different_host\u0027: [ext_vm[\u0027server\u0027][\u0027id\u0027]]}"},{"line_number":180,"context_line":"            self.server \u003d self._create_server(scheduler_hints\u003ddifferent_host)"},{"line_number":181,"context_line":"            self.test_server \u003d self._create_server("},{"line_number":182,"context_line":"                create_floating_ip\u003dFalse, scheduler_hints\u003ddifferent_host)"},{"line_number":183,"context_line":"        else:"},{"line_number":184,"context_line":"            self.server \u003d self._create_server()"},{"line_number":185,"context_line":"            self.test_server \u003d self._create_server(create_floating_ip\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9d1d57a3_ad8868aa","line":182,"range":{"start_line":179,"start_character":0,"end_line":182,"end_character":4},"in_reply_to":"e7fa4431_09a24b90","updated":"2025-07-21 08:19:25.000000000","message":"Thank you","commit_id":"9b23a14360964287e378352e3e745c7d2afefc8f"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"00d37eee84da6983049a54e661bcc177544f62b2","unresolved":true,"context_lines":[{"line_number":139,"context_line":"    def _is_vlan_tenant_and_dvr_enabled(self):"},{"line_number":140,"context_line":"        if not self.is_devstack:"},{"line_number":141,"context_line":"            config_files \u003d self.get_configs_of_service()"},{"line_number":142,"context_line":"            is_vlan_tenant \u003d self.check_service_setting("},{"line_number":143,"context_line":"                {\u0027client\u0027: self.proxy_host_client},"},{"line_number":144,"context_line":"                config_files\u003dconfig_files, section\u003d\u0027ml2\u0027,"},{"line_number":145,"context_line":"                param\u003d\u0027tenant_network_types\u0027, value\u003d\u0027vlan\u0027,"},{"line_number":146,"context_line":"                skip_if_fails\u003dFalse)"},{"line_number":147,"context_line":"            is_dvr_enabled \u003d self.check_service_setting("},{"line_number":148,"context_line":"                {\u0027client\u0027: self.proxy_host_client},"},{"line_number":149,"context_line":"                config_files\u003dconfig_files, param\u003d\u0027router_distributed\u0027,"},{"line_number":150,"context_line":"                value\u003d\u0027true\u0027, skip_if_fails\u003dFalse)"},{"line_number":151,"context_line":"            return is_vlan_tenant and is_dvr_enabled"},{"line_number":152,"context_line":"        return False"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    def setup(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"0944ee06_d657e430","line":151,"range":{"start_line":142,"start_character":0,"end_line":151,"end_character":0},"updated":"2025-07-20 15:58:12.000000000","message":"I think these 2 methods `is_vlan_tenant_enabled` and `is_dvr_enabled` could be useful for various test files except `test_mtu.py`, so I would try adding them in `base.py` into most generic class `BaseTempestWhiteboxTestCase`.\nIt is possible to prefix method names with `podified_` but even better instead - insert devstack possibility for future cases such as code here does:\nhttps://opendev.org/x/whitebox-neutron-tempest-plugin/src/branch/master/whitebox_neutron_tempest_plugin/tests/scenario/test_dvr_ovn.py#L56","commit_id":"aa1d5abef55706bb37167729b04f4f2c143e8086"}]}
