)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1e189c7018b3423f724d227198d8f2ca108a3ffe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bd1e0e53_31337859","updated":"2024-02-26 08:02:59.000000000","message":"recheck neutron-functional-with-uwsgi","commit_id":"b88f2e8c103d71356de6b9fe11280b8f8c841290"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c423096ad3e2bded4e246ba9544446ccbb03e30c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"666d8f07_ece726ba","updated":"2024-02-28 15:07:24.000000000","message":"recheck neutron-functional-with-uwsgi","commit_id":"f73a2515cbf5ffecdcb0de1598c890da8d58c5cc"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d6d4cf8517662c367b489b9a0fc6a97d5aa749f6","unresolved":true,"context_lines":[{"line_number":778,"context_line":"            lrp_ext_ids \u003d getattr(lrp, \u0027external_ids\u0027, {})"},{"line_number":779,"context_line":"            if (r_name not in lrp_ext_ids or"},{"line_number":780,"context_line":"                    utils.ovn_name(lrp_ext_ids[r_name]) !\u003d lr.name or"},{"line_number":781,"context_line":"                    lrp_ext_ids.get(is_gw) !\u003d str(True)):"},{"line_number":782,"context_line":"                continue"},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"            gw_ports.append(lrp)"}],"source_content_type":"text/x-python","patch_set":2,"id":"65d0d43d_dd1f305c","line":781,"range":{"start_line":781,"start_character":20,"end_line":781,"end_character":42},"updated":"2024-02-21 15:31:27.000000000","message":"there is strutils.bool_from_string() function used e.g. in neutron/common/ovn/utils.py module. Maybe You can use it here and compare to boolean True value instead of comparing to str(True)?","commit_id":"4b61946364d3b501c926c7cac26093ab4c46d998"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f3a19e5f1e3512e1b1031cffe6f82c4b9256310a","unresolved":false,"context_lines":[{"line_number":778,"context_line":"            lrp_ext_ids \u003d getattr(lrp, \u0027external_ids\u0027, {})"},{"line_number":779,"context_line":"            if (r_name not in lrp_ext_ids or"},{"line_number":780,"context_line":"                    utils.ovn_name(lrp_ext_ids[r_name]) !\u003d lr.name or"},{"line_number":781,"context_line":"                    lrp_ext_ids.get(is_gw) !\u003d str(True)):"},{"line_number":782,"context_line":"                continue"},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"            gw_ports.append(lrp)"}],"source_content_type":"text/x-python","patch_set":2,"id":"cbcb8c57_cff3ccab","line":781,"range":{"start_line":781,"start_character":20,"end_line":781,"end_character":42},"in_reply_to":"65d0d43d_dd1f305c","updated":"2024-02-21 15:50:44.000000000","message":"Done","commit_id":"4b61946364d3b501c926c7cac26093ab4c46d998"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"ca69902e4f30934f580e1634642930109bc0ef97","unresolved":false,"context_lines":[{"line_number":778,"context_line":"            lrp_ext_ids \u003d getattr(lrp, \u0027external_ids\u0027, {})"},{"line_number":779,"context_line":"            if (r_name not in lrp_ext_ids or"},{"line_number":780,"context_line":"                    utils.ovn_name(lrp_ext_ids[r_name]) !\u003d lr.name or"},{"line_number":781,"context_line":"                    lrp_ext_ids.get(is_gw) !\u003d str(True)):"},{"line_number":782,"context_line":"                continue"},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"            gw_ports.append(lrp)"}],"source_content_type":"text/x-python","patch_set":2,"id":"feeab9cd_220b0b91","line":781,"range":{"start_line":781,"start_character":20,"end_line":781,"end_character":42},"in_reply_to":"cbcb8c57_cff3ccab","updated":"2024-02-21 19:42:53.000000000","message":"+1 to have\nfrom oslo_utils import strutils\n\nstrutils.bool_from_string(lrp_ext_ids.get(is_gw)) !\u003d True\nAlso maybe to have it more readable use something like\n```\n     if (ovn_const.OVN_ROUTER_NAME_EXT_ID_KEY not in lrp_ext_ids or\n                    utils.ovn_name(lrp_ext_ids[\n                        ovn_const.OVN_ROUTER_NAME_EXT_ID_KEY]) !\u003d lr.name):\n         continue\n     if strutils.bool_from_string(lrp_ext_ids.get(ovn_const.OVN_ROUTER_IS_EXT_GW, False)):\n         continue\n         \n\n```","commit_id":"4b61946364d3b501c926c7cac26093ab4c46d998"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"72e7603aab80ce5415a5a7e216b9024a78eef0e5","unresolved":true,"context_lines":[{"line_number":772,"context_line":"            lrp_ext_ids \u003d getattr(lrp, \u0027external_ids\u0027, {})"},{"line_number":773,"context_line":"            if (r_name not in lrp_ext_ids or"},{"line_number":774,"context_line":"                    utils.ovn_name(lrp_ext_ids[r_name]) !\u003d lr.name or"},{"line_number":775,"context_line":"                    not strutils.bool_from_string(lrp_ext_ids.get(is_gw))):"},{"line_number":776,"context_line":"                continue"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"            gw_ports.append(lrp)"}],"source_content_type":"text/x-python","patch_set":5,"id":"2a4b1704_781b8c5a","line":775,"range":{"start_line":775,"start_character":50,"end_line":775,"end_character":72},"updated":"2024-02-27 21:09:00.000000000","message":"This works since bool_from_string() defaults to strict\u003dFalse so None is valid, but should technically probably be:\n\n    lrp_ext_ids.get(is_gw, \u0027false\u0027)","commit_id":"afd78b1fbcb6ba7f2b9718a73616d1aefea192ff"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3b9afae4fec56740706dee04195b2dc72ee34144","unresolved":false,"context_lines":[{"line_number":772,"context_line":"            lrp_ext_ids \u003d getattr(lrp, \u0027external_ids\u0027, {})"},{"line_number":773,"context_line":"            if (r_name not in lrp_ext_ids or"},{"line_number":774,"context_line":"                    utils.ovn_name(lrp_ext_ids[r_name]) !\u003d lr.name or"},{"line_number":775,"context_line":"                    not strutils.bool_from_string(lrp_ext_ids.get(is_gw))):"},{"line_number":776,"context_line":"                continue"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"            gw_ports.append(lrp)"}],"source_content_type":"text/x-python","patch_set":5,"id":"608c0d2b_f0810e6d","line":775,"range":{"start_line":775,"start_character":50,"end_line":775,"end_character":72},"in_reply_to":"2a4b1704_781b8c5a","updated":"2024-02-28 08:34:43.000000000","message":"Correct, because strict\u003dFalse, if the key doesn\u0027t exist and returns None, the result will be false. There is no need to define a default value.","commit_id":"afd78b1fbcb6ba7f2b9718a73616d1aefea192ff"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"076b90aba151d062241fab1f7c5df8a91e96b5d9","unresolved":false,"context_lines":[{"line_number":772,"context_line":"            lrp_ext_ids \u003d getattr(lrp, \u0027external_ids\u0027, {})"},{"line_number":773,"context_line":"            if (r_name not in lrp_ext_ids or"},{"line_number":774,"context_line":"                    utils.ovn_name(lrp_ext_ids[r_name]) !\u003d lr.name or"},{"line_number":775,"context_line":"                    not strutils.bool_from_string(lrp_ext_ids.get(is_gw))):"},{"line_number":776,"context_line":"                continue"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"            gw_ports.append(lrp)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fb65b5a0_a80fd2cd","line":775,"range":{"start_line":775,"start_character":50,"end_line":775,"end_character":72},"in_reply_to":"608c0d2b_f0810e6d","updated":"2024-02-28 15:59:43.000000000","message":"Right, I only mentioned this since other callers use \u0027false\u0027 as the default, and after reading the oslo.utils code that says None !\u003d False I was worried if something changes in oslo we would get broken.","commit_id":"afd78b1fbcb6ba7f2b9718a73616d1aefea192ff"}]}
