)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"fd20e2494bc0ecc286e48f54e9c1bc5bc33ac408","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extend port resource request only when using qos minimum rules"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the method [1], if there is no minimum bandwidth rule and minimum packet rate rule in the port\u0027s qos policy, port[\u0027resource_request\u0027] is set to None in the end. In the system not using minimum bandwidth rule and minimum packet rate rule, it doesn\u0027t have to make db calls, and this will reduce port retrieval time. Therefore, I suggest check presence of minimum rules first, and do resource_request extension."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"[1] https://github.com/openstack/neutron/blob/master/neutron/services/qos/qos_plugin.py#L276"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7f17f140_a7af196d","line":9,"updated":"2025-03-20 14:24:10.000000000","message":"nit: please add line breaks to the commit msg, because it is hard to read it in gerrit","commit_id":"27bdf0bbf95e99637a9dc488df8577aece853c90"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"81c37e8f310d8e7609b3a7aadf221240894ad0f0","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extend port resource request only when using qos minimum rules"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the method [1], if there is no minimum bandwidth rule and minimum packet rate rule in the port\u0027s qos policy, port[\u0027resource_request\u0027] is set to None in the end. In the system not using minimum bandwidth rule and minimum packet rate rule, it doesn\u0027t have to make db calls, and this will reduce port retrieval time. Therefore, I suggest check presence of minimum rules first, and do resource_request extension."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"[1] https://github.com/openstack/neutron/blob/master/neutron/services/qos/qos_plugin.py#L276"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"be987aeb_88fbbaa0","line":9,"in_reply_to":"6dfa6ca3_dc0c0013","updated":"2025-03-27 12:05:06.000000000","message":"https://wiki.openstack.org/wiki/GitCommitMessages\n\n\"\"\"\nSubsequent lines should be wrapped at 72 characters.\n\"\"\"","commit_id":"27bdf0bbf95e99637a9dc488df8577aece853c90"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"ae0685989e74a0eb40e86b9632b1af1574c40ee7","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extend port resource request only when using qos minimum rules"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the method [1], if there is no minimum bandwidth rule and minimum packet rate rule in the port\u0027s qos policy, port[\u0027resource_request\u0027] is set to None in the end. In the system not using minimum bandwidth rule and minimum packet rate rule, it doesn\u0027t have to make db calls, and this will reduce port retrieval time. Therefore, I suggest check presence of minimum rules first, and do resource_request extension."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"[1] https://github.com/openstack/neutron/blob/master/neutron/services/qos/qos_plugin.py#L276"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"6dfa6ca3_dc0c0013","line":9,"in_reply_to":"7f17f140_a7af196d","updated":"2025-03-25 06:56:56.000000000","message":"I added linke breaks.","commit_id":"27bdf0bbf95e99637a9dc488df8577aece853c90"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"81c37e8f310d8e7609b3a7aadf221240894ad0f0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1eadb8f0_1993dc3f","line":19,"range":{"start_line":7,"start_character":0,"end_line":19,"end_character":1},"updated":"2025-03-27 12:05:06.000000000","message":"```suggestion\nExtend port resource request only when using qos minimum rules\n\nIn the method [1], if there is no minimum bandwidth rule and\nminimum packet rate rule in the port\u0027s qos policy,\nport[\u0027resource_request\u0027] is set to None in the end.\n\nIn the environment not using minimum bandwidth rule and minimum\npacket rate rule, it doesn\u0027t have to make db calls, and this will\nreduce port retrieval time. Therefore, I suggest check presence of\nminimum rules first, and do resource_request extension.\n\n[1]https://github.com/openstack/neutron/blob/master/neutron/services/qos/qos_plugin.py#L276\n\nCloses-Bug: #2103412\nChange-Id: I4d84cbf21be5e065a6ff57ba87352e2b602862b5\n```","commit_id":"c0115d8d07c5288c4ccb8d24fa445ff962324d59"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"daa9550b3e88fc72a723e75436aa94a6ccb02733","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9414e928_413f86a2","updated":"2025-03-17 11:14:51.000000000","message":"Please, same request as in [1]: open a LP bug and report what the problem is. This patch doesn\u0027t even have a description in the commit message. Describe the issue first.\n\n[1]https://review.opendev.org/c/openstack/neutron/+/944650","commit_id":"3e9c667d279799b5ac053e4dc5827fd96491f668"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"86bc9b94be2eb54275fd47332c3b9b40084994cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c1fd261c_fafcfaad","in_reply_to":"9414e928_413f86a2","updated":"2025-03-17 11:22:41.000000000","message":"I opened the LP bug, thank you.","commit_id":"3e9c667d279799b5ac053e4dc5827fd96491f668"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fca229856097cca658831e1fbf516f6285b0ded9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cbe2f86e_cfadaae3","updated":"2025-03-18 12:34:46.000000000","message":"Ah, add tests.","commit_id":"4bd084acefe8043a666f53bf7c972173a7d653df"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8272debd520481864854b22744ad836515a05c49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"db606284_ec6a56d3","updated":"2025-03-18 12:34:35.000000000","message":"Please report a LP bug and add it to the commit message.","commit_id":"4bd084acefe8043a666f53bf7c972173a7d653df"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cc743febae0ac7661e271edf7777f476fa3052d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2091838c_683d2b66","in_reply_to":"2ec2998d_5790fae1","updated":"2025-03-27 12:05:41.000000000","message":"Done","commit_id":"4bd084acefe8043a666f53bf7c972173a7d653df"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"ae0685989e74a0eb40e86b9632b1af1574c40ee7","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2ec2998d_5790fae1","in_reply_to":"cbe2f86e_cfadaae3","updated":"2025-03-25 06:56:56.000000000","message":"I added test for no minimum bandwidth and pps rules in the environment.","commit_id":"4bd084acefe8043a666f53bf7c972173a7d653df"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"cfb969379e0cdbca8b6a51ab918ef7c7db659364","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"0d2e8e33_482ab1d3","updated":"2025-03-28 08:40:20.000000000","message":"Wrapped commit message lines.","commit_id":"82fbd2df7085a6d3c22077627d4906f29dd562df"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8e8a15b3d91b35be772c3a56d8544d844a0f6345","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"bc7f2d84_22270669","updated":"2025-04-17 19:38:17.000000000","message":"-1 based on looking at follow-on patch","commit_id":"2e22ffe4e5decff5bccbe6da41e44992b2070b3a"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"0e0c39851ae3c2da9952618e280156e867cb37ff","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"bd3371ff_384fc108","updated":"2025-04-03 11:27:08.000000000","message":"Fix test because since _extend_port_resource_request_bulk changed, the result of the test also changed.","commit_id":"2e22ffe4e5decff5bccbe6da41e44992b2070b3a"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"853a6abc93d6e2e4d71b391be0e1d363f63c82c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"f3998bc0_36662034","updated":"2025-04-17 03:21:34.000000000","message":"Submitted CR[3] modifying test__extend_port_resource_request_bulk_non_min_bw_or_pps_rule.\n\nThese three changes are needed to be backported to 2024.1 branch.\n[1] https://review.opendev.org/c/openstack/neutron/+/944650\n[2] https://review.opendev.org/c/openstack/neutron/+/944756\n[3] https://review.opendev.org/c/openstack/neutron/+/947547","commit_id":"2e22ffe4e5decff5bccbe6da41e44992b2070b3a"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"41c93a11a1278fbe6581c2c3ff5a1f30933aee3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"8dfa73bf_1de6ff91","updated":"2025-04-04 10:09:15.000000000","message":"recheck neutron-ovs-tempest-dvr-ha-multinode-full","commit_id":"2e22ffe4e5decff5bccbe6da41e44992b2070b3a"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"bcfce1d0ac47abe5d9c69b0ef51e63d742284dd8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"6dda3064_072e6058","in_reply_to":"bd3371ff_384fc108","updated":"2025-04-03 11:32:18.000000000","message":"I\u0027m going to change the test in another CR to check change [1] works, because for now the test can\u0027t check it.\n\n[1] https://review.opendev.org/c/openstack/neutron/+/944650","commit_id":"2e22ffe4e5decff5bccbe6da41e44992b2070b3a"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"0ee6b0e4a651f945e80267d87d8267cc8b8ad86c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":12,"id":"44585bfb_f30ceb64","updated":"2025-04-22 08:21:27.000000000","message":"I added member variable network_id and ports_res, rather than making a helper function, because only network_id and ports_res definition part is duplicated. Ther other part containing min_*_rules definition and mocking is different based on tests.","commit_id":"420373e5a0367a7fa008da2986bdc773b9a9f131"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"5846ba3be04951402042a6e5f8794952a87186aa","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":13,"id":"a91008de_c7d33b78","updated":"2025-05-07 09:24:32.000000000","message":"#508-510\n0 is going to be changed to 1 in the following commit.\n\n#516\nFixed to use self.network_id, self.ports_res.\n\n#547\nFixed to use assert_not_called.\n\nThank you!","commit_id":"e23a8bbcb1224dab7beed62124670183d9b5324d"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"32285b276b5ed60ef9c67945e1a61e0d0ea28600","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"d99a49d3_c168d5ce","updated":"2025-05-23 01:11:41.000000000","message":"recheck: neutron-fullstack","commit_id":"19774fde2f6527782eb898197eaf571de6375951"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"7209335adfcd268e1533fae3d05e9907b9919841","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"46e41d50_c38fb069","updated":"2025-05-23 06:25:02.000000000","message":"recheck: tempest-integrated-networking","commit_id":"19774fde2f6527782eb898197eaf571de6375951"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"b31208bcba5823862ec7845062f5fd02ab79c18d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"b07a46c2_967d5475","updated":"2025-05-27 07:43:25.000000000","message":"thanks","commit_id":"19774fde2f6527782eb898197eaf571de6375951"}],"neutron/services/qos/qos_plugin.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8272debd520481864854b22744ad836515a05c49","unresolved":true,"context_lines":[{"line_number":279,"context_line":"        min_pps_rules \u003d dict()"},{"line_number":280,"context_line":"        net_segments \u003d dict()"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        has_min_bw_rules \u003d len("},{"line_number":283,"context_line":"            rule_object.QosMinimumBandwidthRule"},{"line_number":284,"context_line":"            .get_objects(context.get_admin_context()))"},{"line_number":285,"context_line":"        has_min_pps_rules \u003d len("},{"line_number":286,"context_line":"            rule_object.QosMinimumPacketRateRule"},{"line_number":287,"context_line":"            .get_objects(context.get_admin_context()))"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        for port_res in ports_res:"},{"line_number":290,"context_line":"            if port_res.get(\u0027resource_request\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"6ae333d5_edaba0f2","line":287,"range":{"start_line":282,"start_character":8,"end_line":287,"end_character":54},"updated":"2025-03-18 12:34:35.000000000","message":"These calls are very expensive. The following optimizations should be done:\n* Use the ``NeutronObject.count()`` method\n* Filter by the port_res IDs. The enviroment could have min-bw rules but maybe not the requested ports. That would optimize the call too.","commit_id":"4bd084acefe8043a666f53bf7c972173a7d653df"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"7db70d666c973418efe41ba7292f93b40eeb13b3","unresolved":true,"context_lines":[{"line_number":279,"context_line":"        min_pps_rules \u003d dict()"},{"line_number":280,"context_line":"        net_segments \u003d dict()"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        has_min_bw_rules \u003d len("},{"line_number":283,"context_line":"            rule_object.QosMinimumBandwidthRule"},{"line_number":284,"context_line":"            .get_objects(context.get_admin_context()))"},{"line_number":285,"context_line":"        has_min_pps_rules \u003d len("},{"line_number":286,"context_line":"            rule_object.QosMinimumPacketRateRule"},{"line_number":287,"context_line":"            .get_objects(context.get_admin_context()))"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        for port_res in ports_res:"},{"line_number":290,"context_line":"            if port_res.get(\u0027resource_request\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1bb940e0_79cf16fd","line":287,"range":{"start_line":282,"start_character":8,"end_line":287,"end_character":54},"in_reply_to":"20d7c737_15b36986","updated":"2025-05-22 11:34:20.000000000","message":"I deleted the lines, and check if there are minimum rules after fetching QosMinimumBandwidthRule and QosMinimumPacketRateRule in the for loop.\nI thought it could shorten the whole function, and be easier to understand.\nI also fixed the test and the following CR which is affected by this change.","commit_id":"4bd084acefe8043a666f53bf7c972173a7d653df"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"ae0685989e74a0eb40e86b9632b1af1574c40ee7","unresolved":true,"context_lines":[{"line_number":279,"context_line":"        min_pps_rules \u003d dict()"},{"line_number":280,"context_line":"        net_segments \u003d dict()"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        has_min_bw_rules \u003d len("},{"line_number":283,"context_line":"            rule_object.QosMinimumBandwidthRule"},{"line_number":284,"context_line":"            .get_objects(context.get_admin_context()))"},{"line_number":285,"context_line":"        has_min_pps_rules \u003d len("},{"line_number":286,"context_line":"            rule_object.QosMinimumPacketRateRule"},{"line_number":287,"context_line":"            .get_objects(context.get_admin_context()))"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        for port_res in ports_res:"},{"line_number":290,"context_line":"            if port_res.get(\u0027resource_request\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"67140c6f_c093ea42","line":287,"range":{"start_line":282,"start_character":8,"end_line":287,"end_character":54},"in_reply_to":"26d4299f_e4cfa9be","updated":"2025-03-25 06:56:56.000000000","message":"I fix it to use NeutronObject.count() method.\nI couldn\u0027t get the meaning of \u0027filter by the port_res IDs\u0027, could you give me more explanation?","commit_id":"4bd084acefe8043a666f53bf7c972173a7d653df"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"49728201e4a8af0cbfee9fdb0308596169ec5324","unresolved":true,"context_lines":[{"line_number":279,"context_line":"        min_pps_rules \u003d dict()"},{"line_number":280,"context_line":"        net_segments \u003d dict()"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        has_min_bw_rules \u003d len("},{"line_number":283,"context_line":"            rule_object.QosMinimumBandwidthRule"},{"line_number":284,"context_line":"            .get_objects(context.get_admin_context()))"},{"line_number":285,"context_line":"        has_min_pps_rules \u003d len("},{"line_number":286,"context_line":"            rule_object.QosMinimumPacketRateRule"},{"line_number":287,"context_line":"            .get_objects(context.get_admin_context()))"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        for port_res in ports_res:"},{"line_number":290,"context_line":"            if port_res.get(\u0027resource_request\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"20d7c737_15b36986","line":287,"range":{"start_line":282,"start_character":8,"end_line":287,"end_character":54},"in_reply_to":"67140c6f_c093ea42","updated":"2025-05-20 12:35:09.000000000","message":"You can filter QoS policies by the port they belong to I believe, and than filter for rules that belong to those policies, could you please try it?","commit_id":"4bd084acefe8043a666f53bf7c972173a7d653df"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"fd20e2494bc0ecc286e48f54e9c1bc5bc33ac408","unresolved":true,"context_lines":[{"line_number":279,"context_line":"        min_pps_rules \u003d dict()"},{"line_number":280,"context_line":"        net_segments \u003d dict()"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        has_min_bw_rules \u003d len("},{"line_number":283,"context_line":"            rule_object.QosMinimumBandwidthRule"},{"line_number":284,"context_line":"            .get_objects(context.get_admin_context()))"},{"line_number":285,"context_line":"        has_min_pps_rules \u003d len("},{"line_number":286,"context_line":"            rule_object.QosMinimumPacketRateRule"},{"line_number":287,"context_line":"            .get_objects(context.get_admin_context()))"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        for port_res in ports_res:"},{"line_number":290,"context_line":"            if port_res.get(\u0027resource_request\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"26d4299f_e4cfa9be","line":287,"range":{"start_line":282,"start_character":8,"end_line":287,"end_character":54},"in_reply_to":"6ae333d5_edaba0f2","updated":"2025-03-20 14:24:10.000000000","message":"+1","commit_id":"4bd084acefe8043a666f53bf7c972173a7d653df"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b2ebc71261d58f6f7100d3589b6c399f910d128b","unresolved":false,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"            if not min_bw_rules[qos_id] and not min_pps_rules[qos_id]:"},{"line_number":305,"context_line":"                port_res[\u0027resource_request\u0027] \u003d None"},{"line_number":306,"context_line":"                continue"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"            if net_id not in net_segments:"},{"line_number":309,"context_line":"                segments \u003d network_object.NetworkSegment.get_objects("}],"source_content_type":"text/x-python","patch_set":14,"id":"2764cce8_7e68205b","line":306,"updated":"2025-05-22 11:48:30.000000000","message":"Right, this is an elegant method to fix this issue.","commit_id":"19774fde2f6527782eb898197eaf571de6375951"}],"neutron/tests/unit/services/qos/test_qos_plugin.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"241ca99660d5f7d80d9f3a8f72ee984cd79f85ba","unresolved":true,"context_lines":[{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    def test__extend_port_resource_request_bulk_no_bw_and_pps_rule_in_env("},{"line_number":481,"context_line":"            self):"},{"line_number":482,"context_line":"        with mock.patch(\u0027neutron.services.qos.qos_plugin\u0027) as qos_plugin_mock:"},{"line_number":483,"context_line":"            ports \u003d self._create_and_extend_ports([])"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"            self.assertEqual(qos_plugin_mock.call_count, 0)"}],"source_content_type":"text/x-python","patch_set":7,"id":"4b4d7df1_bca92640","line":482,"range":{"start_line":482,"start_character":46,"end_line":482,"end_character":56},"updated":"2025-03-25 07:31:28.000000000","message":"You are mocking the plugin under test? Sorry but this is not a good test at all.","commit_id":"ce82265f1f634e467a891d2adcb4cdb86538338d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cc743febae0ac7661e271edf7777f476fa3052d1","unresolved":false,"context_lines":[{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    def test__extend_port_resource_request_bulk_no_bw_and_pps_rule_in_env("},{"line_number":481,"context_line":"            self):"},{"line_number":482,"context_line":"        with mock.patch(\u0027neutron.services.qos.qos_plugin\u0027) as qos_plugin_mock:"},{"line_number":483,"context_line":"            ports \u003d self._create_and_extend_ports([])"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"            self.assertEqual(qos_plugin_mock.call_count, 0)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1e8cffea_a11b6ce8","line":482,"range":{"start_line":482,"start_character":46,"end_line":482,"end_character":56},"in_reply_to":"302bec4a_50ba5cda","updated":"2025-03-27 12:05:41.000000000","message":"Yes, that\u0027s much better","commit_id":"ce82265f1f634e467a891d2adcb4cdb86538338d"},{"author":{"_account_id":36760,"name":"Jimin Shin","display_name":"Jimin Shin","email":"jimin3.shin@samsung.com","username":"Jimin"},"change_message_id":"7f400f5d94866a0c899037f1dfe4908f399c4fe5","unresolved":true,"context_lines":[{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    def test__extend_port_resource_request_bulk_no_bw_and_pps_rule_in_env("},{"line_number":481,"context_line":"            self):"},{"line_number":482,"context_line":"        with mock.patch(\u0027neutron.services.qos.qos_plugin\u0027) as qos_plugin_mock:"},{"line_number":483,"context_line":"            ports \u003d self._create_and_extend_ports([])"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"            self.assertEqual(qos_plugin_mock.call_count, 0)"}],"source_content_type":"text/x-python","patch_set":7,"id":"302bec4a_50ba5cda","line":482,"range":{"start_line":482,"start_character":46,"end_line":482,"end_character":56},"in_reply_to":"4b4d7df1_bca92640","updated":"2025-03-26 02:28:52.000000000","message":"Is it okay to mock QosMinimumBandwidthRule or QosMinimumPacketRateRule object under the test?","commit_id":"ce82265f1f634e467a891d2adcb4cdb86538338d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8e8a15b3d91b35be772c3a56d8544d844a0f6345","unresolved":true,"context_lines":[{"line_number":527,"context_line":"            for port in ports:"},{"line_number":528,"context_line":"                self.assertIsNone(port.get(\u0027resource_request\u0027))"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"    def test__extend_port_resource_request_bulk_no_bw_and_pps_rule_in_env("},{"line_number":531,"context_line":"            self):"},{"line_number":532,"context_line":"        network_id \u003d uuidutils.generate_uuid()"},{"line_number":533,"context_line":"        ports_res \u003d ["}],"source_content_type":"text/x-python","patch_set":11,"id":"de69dd20_2b16cfa8","line":530,"updated":"2025-04-17 19:38:17.000000000","message":"This test looks exactly like above except for the segments part, it seems there should just be a helper function that\u0027s called multiple times, especially after seeing the follow-on patch changing all the counts to 1. That way we\u0027re not duplicating all this code.","commit_id":"2e22ffe4e5decff5bccbe6da41e44992b2070b3a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b7bd14e16fce880572b1e500fce8c419ca5bdd9e","unresolved":true,"context_lines":[{"line_number":507,"context_line":""},{"line_number":508,"context_line":"            self.assertEqual(network_segment_mock.call_count, 0)"},{"line_number":509,"context_line":"            self.assertEqual(qos_min_bw_rule_mock.call_count, 0)"},{"line_number":510,"context_line":"            self.assertEqual(qos_min_pps_rule_mock.call_count, 0)"},{"line_number":511,"context_line":"            for port in ports:"},{"line_number":512,"context_line":"                self.assertIsNone(port.get(\u0027resource_request\u0027))"},{"line_number":513,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7c94c87f_a9f9f6cb","line":510,"updated":"2025-05-06 01:29:04.000000000","message":"nit: instead of checking equal to zero, these should be something like:\n\nnetwork_segment_mock.assert_not_called()","commit_id":"420373e5a0367a7fa008da2986bdc773b9a9f131"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b7bd14e16fce880572b1e500fce8c419ca5bdd9e","unresolved":true,"context_lines":[{"line_number":513,"context_line":""},{"line_number":514,"context_line":"    def test__extend_port_resource_request_bulk_no_bw_and_pps_rule_in_env("},{"line_number":515,"context_line":"            self):"},{"line_number":516,"context_line":"        network_id \u003d uuidutils.generate_uuid()"},{"line_number":517,"context_line":"        ports_res \u003d ["},{"line_number":518,"context_line":"            {"},{"line_number":519,"context_line":"                \"resource_request\": {"}],"source_content_type":"text/x-python","patch_set":12,"id":"ce402cee_b92693e1","line":516,"updated":"2025-05-06 01:29:04.000000000","message":"network_id \u003d self.network_id ?\nports_res \u003d self.ports_res ?","commit_id":"420373e5a0367a7fa008da2986bdc773b9a9f131"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b7bd14e16fce880572b1e500fce8c419ca5bdd9e","unresolved":true,"context_lines":[{"line_number":544,"context_line":"                    \u0027get_objects\u0027) as qos_min_bw_rule_mock:"},{"line_number":545,"context_line":"            ports \u003d qos_plugin.QoSPlugin._extend_port_resource_request_bulk("},{"line_number":546,"context_line":"                ports_res, None)"},{"line_number":547,"context_line":"            self.assertEqual(qos_min_bw_rule_mock.call_count, 0)"},{"line_number":548,"context_line":"            for port in ports:"},{"line_number":549,"context_line":"                self.assertIsNone(port.get(\u0027resource_request\u0027))"},{"line_number":550,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"c8d7252b_34f06402","line":547,"updated":"2025-05-06 01:29:04.000000000","message":"Same assert_not_called comment here","commit_id":"420373e5a0367a7fa008da2986bdc773b9a9f131"}]}
