)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"330a613c161219bac626772b4fc16757fb467f4c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d4826248_8486e381","updated":"2025-07-10 15:47:30.000000000","message":"Verified on podified job locally as well","commit_id":"0655324671681dd21f434cb7cd95daeede6a6536"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"e8a494f0553b859a7e615e382ea9f60b30563332","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"30641d89_0bd218c9","updated":"2025-07-15 11:50:44.000000000","message":"Since review.opendev was down, can\u0027t upload changes except commit message with `git review`","commit_id":"e510161aaef8bcb4c0f82963a7e3a2cc99f61c7e"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"2f87a599bdd06d1117f1691803a3d739d915e359","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"35b0c7e6_463d9147","updated":"2025-07-15 12:21:05.000000000","message":"Last patchset verified locally on podified setup","commit_id":"db806fd0609df4fa03d3a932ceee8fd657890e01"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"cc721fba7468b5672c750c3950b4e7b07525f99a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b16b015a_a7adb9cf","updated":"2025-07-17 08:54:26.000000000","message":"just writing here as well: failures are due to some QoS changes missing such as [1] since rdo job uses the unmaintained antelope branch.\nthere is work in progress to change rdo job to epoxy (and in the future also master branch).\n[1] https://bugs.launchpad.net/neutron/+bug/2110018","commit_id":"79aac1fee595c19ff1b7222efeba5c253a2ebe59"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"ea0c7b2c6091a20d4d920c63f91d32fca34a2034","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1b76086d_19672b89","updated":"2025-07-16 06:52:55.000000000","message":"recheck maybe flaky maybe rdo job change needed","commit_id":"79aac1fee595c19ff1b7222efeba5c253a2ebe59"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"7a816c21233a596a8f3780a35cc3a3153b4730c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ce9bd43d_a8833b13","updated":"2025-07-23 11:34:24.000000000","message":"recheck since skip merged https://github.com/openstack-k8s-operators/ci-framework/pull/3146","commit_id":"79aac1fee595c19ff1b7222efeba5c253a2ebe59"}],"whitebox_neutron_tempest_plugin/tests/scenario/test_qos.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e28dd9299b6325a35b32972f0a0fcfe2ff1d36ed","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            7. Send traffic between 2 VMs and make sure that now bw is"},{"line_number":340,"context_line":"            limited according to the new value (since rule for port has higher"},{"line_number":341,"context_line":"            priority)."},{"line_number":342,"context_line":"            8. Create another QoS policy applied to router gateway,"},{"line_number":343,"context_line":"            verify together with port QoS when lower/higher."},{"line_number":344,"context_line":"            9. Delete bandwidth rule from the router gateway QoS policy"},{"line_number":345,"context_line":"            and make sure that traffic is limited for port value again"}],"source_content_type":"text/x-python","patch_set":3,"id":"dda0f593_7b4c9992","line":342,"range":{"start_line":342,"start_character":12,"end_line":342,"end_character":15},"updated":"2025-07-14 15:08:52.000000000","message":"I have a consideration on these new checks. These considerations only apply to ML2/OVN, but we are also testing with ML2/OVS in the CI (although this job is disabled). It is worth mentioning that.","commit_id":"3433632e0662ef0214d197a69af3f4d06a2a4639"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"026b2e323bfbb3ed0f159fae522866f28bf8a6f9","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            7. Send traffic between 2 VMs and make sure that now bw is"},{"line_number":340,"context_line":"            limited according to the new value (since rule for port has higher"},{"line_number":341,"context_line":"            priority)."},{"line_number":342,"context_line":"            8. Create another QoS policy applied to router gateway,"},{"line_number":343,"context_line":"            verify together with port QoS when lower/higher."},{"line_number":344,"context_line":"            9. Delete bandwidth rule from the router gateway QoS policy"},{"line_number":345,"context_line":"            and make sure that traffic is limited for port value again"}],"source_content_type":"text/x-python","patch_set":3,"id":"d3d89ec8_ce962cae","line":342,"range":{"start_line":342,"start_character":12,"end_line":342,"end_character":15},"in_reply_to":"62bd9857_ea5faef1","updated":"2025-07-15 12:47:53.000000000","message":"Anyways I did preserve `fip_qos` and added `gw_qos` so they can be disabled for different scenarios with resources not fitting for north-south checks, or test partially some features (without fip/gw).","commit_id":"3433632e0662ef0214d197a69af3f4d06a2a4639"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"622bb37667b53d0300961bdbe67a25ad101f9d15","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            7. Send traffic between 2 VMs and make sure that now bw is"},{"line_number":340,"context_line":"            limited according to the new value (since rule for port has higher"},{"line_number":341,"context_line":"            priority)."},{"line_number":342,"context_line":"            8. Create another QoS policy applied to router gateway,"},{"line_number":343,"context_line":"            verify together with port QoS when lower/higher."},{"line_number":344,"context_line":"            9. Delete bandwidth rule from the router gateway QoS policy"},{"line_number":345,"context_line":"            and make sure that traffic is limited for port value again"}],"source_content_type":"text/x-python","patch_set":3,"id":"62bd9857_ea5faef1","line":342,"range":{"start_line":342,"start_character":12,"end_line":342,"end_character":15},"in_reply_to":"dda0f593_7b4c9992","updated":"2025-07-15 12:07:02.000000000","message":"Right, its a good point.\nOVS gate is for long time broken, and plugin\u0027s purpose became to test podified mostly.\nWe did set OVS devstack gate as non voting long time ago to not block important changes, actually we aren\u0027t fixing it for a very long time, we should consider removing it entirely (wasted CI execution time).","commit_id":"3433632e0662ef0214d197a69af3f4d06a2a4639"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e28dd9299b6325a35b32972f0a0fcfe2ff1d36ed","unresolved":false,"context_lines":[{"line_number":522,"context_line":"                protocol\u003dconstants.PROTO_NAME_UDP)"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"            # only if gw being checked, test when gw lower than fip/port"},{"line_number":525,"context_line":"            if gw_qos:"},{"line_number":526,"context_line":"                gw_max_kbps \u003d max_kbps // 2"},{"line_number":527,"context_line":"                rule_update_data \u003d {"},{"line_number":528,"context_line":"                    \u0027max_kbps\u0027: gw_max_kbps,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1b40a81d_42e97a84","line":525,"updated":"2025-07-14 15:08:52.000000000","message":"As commented in slack, FIP QoS has precedence over GW QoS and the GW QoS is not executed.","commit_id":"3433632e0662ef0214d197a69af3f4d06a2a4639"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"622bb37667b53d0300961bdbe67a25ad101f9d15","unresolved":false,"context_lines":[{"line_number":522,"context_line":"                protocol\u003dconstants.PROTO_NAME_UDP)"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"            # only if gw being checked, test when gw lower than fip/port"},{"line_number":525,"context_line":"            if gw_qos:"},{"line_number":526,"context_line":"                gw_max_kbps \u003d max_kbps // 2"},{"line_number":527,"context_line":"                rule_update_data \u003d {"},{"line_number":528,"context_line":"                    \u0027max_kbps\u0027: gw_max_kbps,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ee9cb61b_77ebd59f","line":525,"in_reply_to":"1b40a81d_42e97a84","updated":"2025-07-15 12:07:02.000000000","message":"Thank you for the slack clarification, added validations accordingly and added same precedence discussed noted in commit/docstring.","commit_id":"3433632e0662ef0214d197a69af3f4d06a2a4639"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"64a11f494415c2a5a1797238247c4dc8a2bce662","unresolved":true,"context_lines":[{"line_number":531,"context_line":"                client, server, egress, bw_limit\u003dmax_kbps * 1000,"},{"line_number":532,"context_line":"                protocol\u003dconstants.PROTO_NAME_UDP)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"            # only if gw being checked, test when gw lower than fip and port"},{"line_number":535,"context_line":"            # (then fip/port still prioritized as requested in LP#2110018)"},{"line_number":536,"context_line":"            if gw_qos:"},{"line_number":537,"context_line":"                gw_max_kbps \u003d max_kbps // 2"}],"source_content_type":"text/x-python","patch_set":6,"id":"884f3d8b_d9fcdc0e","line":534,"updated":"2025-07-15 13:38:11.000000000","message":"Sorry, I don\u0027t understand this description. In this scenario, we have (1) port, (2) GW and (3) FIP QoSes. So you are actually checking that only port/FIP QoS are considered. I think you need to rephrase this","commit_id":"db806fd0609df4fa03d3a932ceee8fd657890e01"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"a7b6e506fe584b9dba4f948fd472a846be51d809","unresolved":false,"context_lines":[{"line_number":531,"context_line":"                client, server, egress, bw_limit\u003dmax_kbps * 1000,"},{"line_number":532,"context_line":"                protocol\u003dconstants.PROTO_NAME_UDP)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"            # only if gw being checked, test when gw lower than fip and port"},{"line_number":535,"context_line":"            # (then fip/port still prioritized as requested in LP#2110018)"},{"line_number":536,"context_line":"            if gw_qos:"},{"line_number":537,"context_line":"                gw_max_kbps \u003d max_kbps // 2"}],"source_content_type":"text/x-python","patch_set":6,"id":"7735de71_81be815e","line":534,"in_reply_to":"884f3d8b_d9fcdc0e","updated":"2025-07-15 14:15:11.000000000","message":"sure, rephrased to clearer comment.","commit_id":"db806fd0609df4fa03d3a932ceee8fd657890e01"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"64a11f494415c2a5a1797238247c4dc8a2bce662","unresolved":true,"context_lines":[{"line_number":532,"context_line":"                protocol\u003dconstants.PROTO_NAME_UDP)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"            # only if gw being checked, test when gw lower than fip and port"},{"line_number":535,"context_line":"            # (then fip/port still prioritized as requested in LP#2110018)"},{"line_number":536,"context_line":"            if gw_qos:"},{"line_number":537,"context_line":"                gw_max_kbps \u003d max_kbps // 2"},{"line_number":538,"context_line":"                rule_update_data \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"4db0aa79_1363aad1","line":535,"range":{"start_line":535,"start_character":15,"end_line":535,"end_character":73},"updated":"2025-07-15 13:38:11.000000000","message":"This is not 100% true. The LP#2110018 made the FIP QoS priorized over the GW QoS. Port QoS is not considered (is applied before reaching this part of the datapath).","commit_id":"db806fd0609df4fa03d3a932ceee8fd657890e01"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"a7b6e506fe584b9dba4f948fd472a846be51d809","unresolved":false,"context_lines":[{"line_number":532,"context_line":"                protocol\u003dconstants.PROTO_NAME_UDP)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"            # only if gw being checked, test when gw lower than fip and port"},{"line_number":535,"context_line":"            # (then fip/port still prioritized as requested in LP#2110018)"},{"line_number":536,"context_line":"            if gw_qos:"},{"line_number":537,"context_line":"                gw_max_kbps \u003d max_kbps // 2"},{"line_number":538,"context_line":"                rule_update_data \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"433ab427_38d9f28a","line":535,"range":{"start_line":535,"start_character":15,"end_line":535,"end_character":73},"in_reply_to":"4db0aa79_1363aad1","updated":"2025-07-15 14:15:11.000000000","message":"I see, adjusted accordingly.","commit_id":"db806fd0609df4fa03d3a932ceee8fd657890e01"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"fd1fd0f7c565eb1e3e8c7f742d268f4f86022a8e","unresolved":true,"context_lines":[{"line_number":1020,"context_line":"        self._validate_traffic_bw_limit("},{"line_number":1021,"context_line":"            client, server, egress\u003dTrue, fip_qos\u003dTrue, gw_qos\u003dTrue)"},{"line_number":1022,"context_line":"        self._validate_traffic_bw_limit("},{"line_number":1023,"context_line":"            client, server, egress\u003dFalse, fip_qos\u003dTrue, gw_qos\u003dTrue)"},{"line_number":1024,"context_line":""},{"line_number":1025,"context_line":"    @decorators.idempotent_id(\u0027fc833d46-d18f-4edf-b082-5f5fe909fb79\u0027)"},{"line_number":1026,"context_line":"    def test_bw_limit_east_west(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"c83b43d4_74ebabf2","line":1023,"updated":"2025-07-24 04:47:28.000000000","message":"shouldn\u0027t we also vaildate fip_qos\u003dFalse and gw_qos\u003dTrue?","commit_id":"79aac1fee595c19ff1b7222efeba5c253a2ebe59"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"18a28777bc452e9dadbd334e28447418a31d8bf0","unresolved":false,"context_lines":[{"line_number":1020,"context_line":"        self._validate_traffic_bw_limit("},{"line_number":1021,"context_line":"            client, server, egress\u003dTrue, fip_qos\u003dTrue, gw_qos\u003dTrue)"},{"line_number":1022,"context_line":"        self._validate_traffic_bw_limit("},{"line_number":1023,"context_line":"            client, server, egress\u003dFalse, fip_qos\u003dTrue, gw_qos\u003dTrue)"},{"line_number":1024,"context_line":""},{"line_number":1025,"context_line":"    @decorators.idempotent_id(\u0027fc833d46-d18f-4edf-b082-5f5fe909fb79\u0027)"},{"line_number":1026,"context_line":"    def test_bw_limit_east_west(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"6ab46ff0_fca17024","line":1023,"in_reply_to":"806a96d9_e3ab290b","updated":"2025-07-24 07:58:05.000000000","message":"if plan is to use in future, that\u0027s fine.","commit_id":"79aac1fee595c19ff1b7222efeba5c253a2ebe59"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"baf321760627ead8cd42c57beb24d68be889ab8e","unresolved":true,"context_lines":[{"line_number":1020,"context_line":"        self._validate_traffic_bw_limit("},{"line_number":1021,"context_line":"            client, server, egress\u003dTrue, fip_qos\u003dTrue, gw_qos\u003dTrue)"},{"line_number":1022,"context_line":"        self._validate_traffic_bw_limit("},{"line_number":1023,"context_line":"            client, server, egress\u003dFalse, fip_qos\u003dTrue, gw_qos\u003dTrue)"},{"line_number":1024,"context_line":""},{"line_number":1025,"context_line":"    @decorators.idempotent_id(\u0027fc833d46-d18f-4edf-b082-5f5fe909fb79\u0027)"},{"line_number":1026,"context_line":"    def test_bw_limit_east_west(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"eaa855f0_a44a8455","line":1023,"in_reply_to":"b3ac5bb9_16123993","updated":"2025-07-24 07:31:34.000000000","message":"that new conditional triggered this for me, But then not clear why to need to have additional var if _validate_traffic_bw_limit not testing that combination.","commit_id":"79aac1fee595c19ff1b7222efeba5c253a2ebe59"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"14b23fc372a6232489d4743841fbdd3eb8523ad3","unresolved":true,"context_lines":[{"line_number":1020,"context_line":"        self._validate_traffic_bw_limit("},{"line_number":1021,"context_line":"            client, server, egress\u003dTrue, fip_qos\u003dTrue, gw_qos\u003dTrue)"},{"line_number":1022,"context_line":"        self._validate_traffic_bw_limit("},{"line_number":1023,"context_line":"            client, server, egress\u003dFalse, fip_qos\u003dTrue, gw_qos\u003dTrue)"},{"line_number":1024,"context_line":""},{"line_number":1025,"context_line":"    @decorators.idempotent_id(\u0027fc833d46-d18f-4edf-b082-5f5fe909fb79\u0027)"},{"line_number":1026,"context_line":"    def test_bw_limit_east_west(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"b3ac5bb9_16123993","line":1023,"in_reply_to":"c83b43d4_74ebabf2","updated":"2025-07-24 06:18:16.000000000","message":"Setting gw_qos\u003dTrue and fip_qos\u003dFalse should not test anything better or differently afaik.\nIt is actually tested better when with both set true, since gw checked with port (when gw_qos\u003dTrue), and later even more checks done when both True, including removing fip and see that lower limit gw rule applies again when exists along port higher limit value, as seen here:\nhttps://review.opendev.org/c/x/whitebox-neutron-tempest-plugin/+/954607/7/whitebox_neutron_tempest_plugin/tests/scenario/test_qos.py#L579","commit_id":"79aac1fee595c19ff1b7222efeba5c253a2ebe59"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"38264f5148d34718a3b9a9d0d19481bff695f374","unresolved":true,"context_lines":[{"line_number":1020,"context_line":"        self._validate_traffic_bw_limit("},{"line_number":1021,"context_line":"            client, server, egress\u003dTrue, fip_qos\u003dTrue, gw_qos\u003dTrue)"},{"line_number":1022,"context_line":"        self._validate_traffic_bw_limit("},{"line_number":1023,"context_line":"            client, server, egress\u003dFalse, fip_qos\u003dTrue, gw_qos\u003dTrue)"},{"line_number":1024,"context_line":""},{"line_number":1025,"context_line":"    @decorators.idempotent_id(\u0027fc833d46-d18f-4edf-b082-5f5fe909fb79\u0027)"},{"line_number":1026,"context_line":"    def test_bw_limit_east_west(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"806a96d9_e3ab290b","line":1023,"in_reply_to":"eaa855f0_a44a8455","updated":"2025-07-24 07:54:12.000000000","message":"Well that is a good point to think about.\n\nI know that gw qos clearly need north-south topology so traffic will go through gateway, at least that is the only made topology in current whitebox method [1] in which gw tests here should be checked (other won\u0027t work - either l2 same network, or east-west that won\u0027t route through gw router), so enabled only on those cases, but could be that fip is with same exact routing conditions.\n\nAnyways when we have various jobs in which we may notice fip/gw aren\u0027t routed precisely the same (maybe networker nodes added, maybe certain features enabled/configured affecting routing), or new topology added in whitebox generation method [1], then this boolean will be very useful, therefore I still tend towards keeping it. \n\n[1] https://opendev.org/x/whitebox-neutron-tempest-plugin/src/branch/master/whitebox_neutron_tempest_plugin/tests/scenario/base.py#L766","commit_id":"79aac1fee595c19ff1b7222efeba5c253a2ebe59"}]}
