)]}'
{"/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":"b11ea177cfb85a2751522094bb1e29130f65731a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c4056cb8_dfaed792","line":23,"updated":"2021-06-08 09:52:26.000000000","message":"Related-Bug should be https://bugs.launchpad.net/neutron/+bug/1929821, or am I wrong?","commit_id":"5f4dae4b56dfcb0dbf2131b4e257fa4502a5a8cf"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a45ba3cae5dc976dace58cfcd78571cffa47fb59","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6851b620_7a8da158","line":23,"in_reply_to":"c4056cb8_dfaed792","updated":"2021-06-10 09:17:16.000000000","message":"Right, I\u0027ll add this reference too. Thanks!","commit_id":"5f4dae4b56dfcb0dbf2131b4e257fa4502a5a8cf"}],"neutron/agent/l3/dvr_local_router.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"89fcc93340f7ab0c4abae17974bf4d1ca1ca8936","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        any register memoized in self._rule_priorities is deleted."},{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":"        ip_rules \u003d ip_lib.list_ip_rules(self.ns_name,"},{"line_number":65,"context_line":"                                        lib_constants.IP_VERSION_4)"},{"line_number":66,"context_line":"        ex_gw_port \u003d self.get_ex_gw_port()"},{"line_number":67,"context_line":"        if not ex_gw_port:"},{"line_number":68,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":2,"id":"62b7aa51_9363b7c4","line":65,"updated":"2021-06-11 07:53:34.000000000","message":"can\u0027t this be done after L68? Or even moved to the _cleanup_unused_fip_ip_rules() method as it seems it is used only there","commit_id":"5a5ef898c0c74074fc2f27743048a4df44b6bbeb"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3523d64af9280fb6c0983c24b10e0abad6db2def","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        any register memoized in self._rule_priorities is deleted."},{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":"        ip_rules \u003d ip_lib.list_ip_rules(self.ns_name,"},{"line_number":65,"context_line":"                                        lib_constants.IP_VERSION_4)"},{"line_number":66,"context_line":"        ex_gw_port \u003d self.get_ex_gw_port()"},{"line_number":67,"context_line":"        if not ex_gw_port:"},{"line_number":68,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":2,"id":"9cfec591_eaf59e28","line":65,"in_reply_to":"62b7aa51_9363b7c4","updated":"2021-06-11 09:13:13.000000000","message":"You know how a patch starts and ends. I needed that during the first versions but now having this call here is an error. Thanks!","commit_id":"5a5ef898c0c74074fc2f27743048a4df44b6bbeb"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"792f0c757554ed329db0f5108df6e5acfede51e2","unresolved":true,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        At the end of the method, all existing \"ip rule\" registers in"},{"line_number":62,"context_line":"        FIP_RT_TBL table (where FIP rules are stored) that don\u0027t match with"},{"line_number":63,"context_line":"        any register memoized in self._rule_priorities is deleted."},{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        ex_gw_port \u003d self.get_ex_gw_port()"},{"line_number":66,"context_line":"        if not ex_gw_port:"}],"source_content_type":"text/x-python","patch_set":6,"id":"b153c553_324b123e","line":63,"range":{"start_line":63,"start_character":21,"end_line":63,"end_character":29},"updated":"2021-06-23 07:41:23.000000000","message":"typo","commit_id":"11101efad3fa57dbc240fff5c791e25667e77bcb"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"229256643c83beb2d8abb5d6599becadbd58a4be","unresolved":true,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        At the end of the method, all existing \"ip rule\" registers in"},{"line_number":62,"context_line":"        FIP_RT_TBL table (where FIP rules are stored) that don\u0027t match with"},{"line_number":63,"context_line":"        any register memoized in self._rule_priorities is deleted."},{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        ex_gw_port \u003d self.get_ex_gw_port()"},{"line_number":66,"context_line":"        if not ex_gw_port:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7d76803e_920aa94a","line":63,"range":{"start_line":63,"start_character":21,"end_line":63,"end_character":29},"in_reply_to":"b153c553_324b123e","updated":"2021-06-25 10:23:10.000000000","message":"It\u0027s correct","commit_id":"11101efad3fa57dbc240fff5c791e25667e77bcb"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"792f0c757554ed329db0f5108df6e5acfede51e2","unresolved":true,"context_lines":[{"line_number":217,"context_line":"        else:"},{"line_number":218,"context_line":"            LOG.error(\u0027Floating IP %s not stored in this agent. Because of \u0027"},{"line_number":219,"context_line":"                      \u0027the initilization method \"_load_used_fip_information\", \u0027"},{"line_number":220,"context_line":"                      \u0027all floating IPs should be memoized in the local \u0027"},{"line_number":221,"context_line":"                      \u0027memory.\u0027, floating_ip)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def floating_ip_removed_dist(self, fip_cidr):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3b26f9df_9e67975b","line":220,"range":{"start_line":220,"start_character":50,"end_line":220,"end_character":58},"updated":"2021-06-23 07:41:23.000000000","message":"typo","commit_id":"11101efad3fa57dbc240fff5c791e25667e77bcb"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"229256643c83beb2d8abb5d6599becadbd58a4be","unresolved":true,"context_lines":[{"line_number":217,"context_line":"        else:"},{"line_number":218,"context_line":"            LOG.error(\u0027Floating IP %s not stored in this agent. Because of \u0027"},{"line_number":219,"context_line":"                      \u0027the initilization method \"_load_used_fip_information\", \u0027"},{"line_number":220,"context_line":"                      \u0027all floating IPs should be memoized in the local \u0027"},{"line_number":221,"context_line":"                      \u0027memory.\u0027, floating_ip)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def floating_ip_removed_dist(self, fip_cidr):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7effab35_ea9526c2","line":220,"range":{"start_line":220,"start_character":50,"end_line":220,"end_character":58},"in_reply_to":"3b26f9df_9e67975b","updated":"2021-06-25 10:23:10.000000000","message":"It\u0027s correct","commit_id":"11101efad3fa57dbc240fff5c791e25667e77bcb"}],"neutron/agent/linux/ip_lib.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"89fcc93340f7ab0c4abae17974bf4d1ca1ca8936","unresolved":true,"context_lines":[{"line_number":1222,"context_line":"    return [_parse_ip_rule(rule, ip_version) for rule in rules]"},{"line_number":1223,"context_line":""},{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":"def get_ip_rule_priority(from_ip, namespace\u003dNone, ip_version\u003dNone, table\u003dNone,"},{"line_number":1226,"context_line":"                         ip_rules\u003dNone):"},{"line_number":1227,"context_line":"    \"\"\"Return the priority of an IP rule based on the \"from\" IP address."},{"line_number":1228,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"c95d5ea2_e2414e57","line":1225,"range":{"start_line":1225,"start_character":25,"end_line":1225,"end_character":32},"updated":"2021-06-11 07:53:34.000000000","message":"nit: why not just \"src_ip\" ?","commit_id":"5a5ef898c0c74074fc2f27743048a4df44b6bbeb"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3523d64af9280fb6c0983c24b10e0abad6db2def","unresolved":true,"context_lines":[{"line_number":1222,"context_line":"    return [_parse_ip_rule(rule, ip_version) for rule in rules]"},{"line_number":1223,"context_line":""},{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":"def get_ip_rule_priority(from_ip, namespace\u003dNone, ip_version\u003dNone, table\u003dNone,"},{"line_number":1226,"context_line":"                         ip_rules\u003dNone):"},{"line_number":1227,"context_line":"    \"\"\"Return the priority of an IP rule based on the \"from\" IP address."},{"line_number":1228,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"26c70d08_98befc33","line":1225,"range":{"start_line":1225,"start_character":25,"end_line":1225,"end_character":32},"in_reply_to":"c95d5ea2_e2414e57","updated":"2021-06-11 09:13:13.000000000","message":"Yeah, I was using the \"ip rule\" terminology. But in Neutron we use \"src_ip\"","commit_id":"5a5ef898c0c74074fc2f27743048a4df44b6bbeb"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"792f0c757554ed329db0f5108df6e5acfede51e2","unresolved":true,"context_lines":[{"line_number":1224,"context_line":"    return [_parse_ip_rule(rule, ip_version) for rule in rules]"},{"line_number":1225,"context_line":""},{"line_number":1226,"context_line":""},{"line_number":1227,"context_line":"def get_ip_rule_priority(src_ip, namespace\u003dNone, ip_version\u003dNone, table\u003dNone,"},{"line_number":1228,"context_line":"                         ip_rules\u003dNone):"},{"line_number":1229,"context_line":"    \"\"\"Return the priority of an IP rule based on the \"from\" IP address."},{"line_number":1230,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"c7c264ff_3999558a","line":1227,"range":{"start_line":1227,"start_character":4,"end_line":1227,"end_character":24},"updated":"2021-06-23 07:41:23.000000000","message":"where is it used?","commit_id":"11101efad3fa57dbc240fff5c791e25667e77bcb"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"229256643c83beb2d8abb5d6599becadbd58a4be","unresolved":true,"context_lines":[{"line_number":1224,"context_line":"    return [_parse_ip_rule(rule, ip_version) for rule in rules]"},{"line_number":1225,"context_line":""},{"line_number":1226,"context_line":""},{"line_number":1227,"context_line":"def get_ip_rule_priority(src_ip, namespace\u003dNone, ip_version\u003dNone, table\u003dNone,"},{"line_number":1228,"context_line":"                         ip_rules\u003dNone):"},{"line_number":1229,"context_line":"    \"\"\"Return the priority of an IP rule based on the \"from\" IP address."},{"line_number":1230,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7c8dc947_2bd3f73a","line":1227,"range":{"start_line":1227,"start_character":4,"end_line":1227,"end_character":24},"in_reply_to":"c7c264ff_3999558a","updated":"2021-06-25 10:23:10.000000000","message":"Ah yes, I was using that method in a previous PS. I\u0027ll remove it.","commit_id":"11101efad3fa57dbc240fff5c791e25667e77bcb"}],"neutron/tests/unit/agent/l3/test_dvr_local_router.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"89fcc93340f7ab0c4abae17974bf4d1ca1ca8936","unresolved":true,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    @mock.patch.object(ip_lib, \u0027list_ip_rules\u0027)"},{"line_number":252,"context_line":"    @mock.patch.object(ip_lib, \u0027add_ip_rule\u0027)"},{"line_number":253,"context_line":"    def test___load_used_fip_information(self, mock_add_ip_rule, *args):"},{"line_number":254,"context_line":"        # This test will simulate how \"DvrLocalRouter\" reloads the FIP"},{"line_number":255,"context_line":"        # information from both the FipNamespace._rule_priorities state file"},{"line_number":256,"context_line":"        # and the namespace \"ip rule\" list."}],"source_content_type":"text/x-python","patch_set":2,"id":"e120facc_3d58637e","line":253,"range":{"start_line":253,"start_character":12,"end_line":253,"end_character":15},"updated":"2021-06-11 07:53:34.000000000","message":"isn\u0027t it too many of underscores? :)","commit_id":"5a5ef898c0c74074fc2f27743048a4df44b6bbeb"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3523d64af9280fb6c0983c24b10e0abad6db2def","unresolved":true,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    @mock.patch.object(ip_lib, \u0027list_ip_rules\u0027)"},{"line_number":252,"context_line":"    @mock.patch.object(ip_lib, \u0027add_ip_rule\u0027)"},{"line_number":253,"context_line":"    def test___load_used_fip_information(self, mock_add_ip_rule, *args):"},{"line_number":254,"context_line":"        # This test will simulate how \"DvrLocalRouter\" reloads the FIP"},{"line_number":255,"context_line":"        # information from both the FipNamespace._rule_priorities state file"},{"line_number":256,"context_line":"        # and the namespace \"ip rule\" list."}],"source_content_type":"text/x-python","patch_set":2,"id":"6f26bccd_bec113da","line":253,"range":{"start_line":253,"start_character":12,"end_line":253,"end_character":15},"in_reply_to":"e120facc_3d58637e","updated":"2021-06-11 09:13:13.000000000","message":"Sorry, this is a trick to execute this test first when debugging.","commit_id":"5a5ef898c0c74074fc2f27743048a4df44b6bbeb"}]}
