)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"70dc53af62d3111986a6c0675efdf9e11e057a29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"f2373a9f_cd288287","updated":"2025-01-09 07:03:19.000000000","message":"recheck","commit_id":"2fd49c64f78f63e2d167779be6d0efb90639458b"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"6d562109ea70c44e07c95cc32695b72d53996975","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"8f6edda6_65b8e9f9","updated":"2024-11-29 08:36:48.000000000","message":"recheck ovn-octavia-provider-tempest-release unrelated","commit_id":"2fd49c64f78f63e2d167779be6d0efb90639458b"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"d698d11ed4afdfd8404896e1d05a5fe7070aee84","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"c6397301_4e7902d5","updated":"2024-11-28 17:14:41.000000000","message":"recheck ovn-octavia-provider-tempest-release unrelated","commit_id":"2fd49c64f78f63e2d167779be6d0efb90639458b"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"168c4615ca85e1aaca3b5f75bae1c00b460126aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"7ae46871_844d5612","updated":"2025-01-22 19:02:19.000000000","message":"Two comments are nits - the reason for -1 from me is because of the broad caught Exception type.","commit_id":"9499c23b0315fd06b786cfa6c49e567e4adeac94"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"970828306905faef65cbd66380e5db9bcfe88889","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"1ffdb572_a19cd0a6","updated":"2025-01-14 20:48:36.000000000","message":"recheck ovn-octavia-provider-functional-release unrelated","commit_id":"9499c23b0315fd06b786cfa6c49e567e4adeac94"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"1959ca45f125917a99a2cefb43453fbb1a490a4c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"2013055e_bf6d99f1","updated":"2025-02-10 10:00:36.000000000","message":"recheck ovn-octavia-provider-functional-master unrelated","commit_id":"57b7b4ef42b59d03fc98fa32d053bd0a1d26760b"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"e0f75fcc61dc9375e795aa7162dd55d1fb85d930","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"165399c4_72170cd6","updated":"2025-02-07 21:44:38.000000000","message":"recheck tempest unrelated","commit_id":"57b7b4ef42b59d03fc98fa32d053bd0a1d26760b"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"7e16b575d7e4617b763e5f348e427e8a43ddf8fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"77ff9f16_f06a68b7","updated":"2025-02-18 20:38:18.000000000","message":"recheck after merging https://review.opendev.org/c/openstack/octavia-tempest-plugin/+/941928","commit_id":"318160f80cb99aeadc174f6ea3c4c1ae6accc47c"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"716f39da795c5bfb2e04445c8d2691955133b2bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"c9cfed92_ce3ebf8c","updated":"2025-02-19 09:23:12.000000000","message":"recheck tempest failing due to policy errors...","commit_id":"318160f80cb99aeadc174f6ea3c4c1ae6accc47c"}],"ovn_octavia_provider/driver.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"168c4615ca85e1aaca3b5f75bae1c00b460126aa","unresolved":true,"context_lines":[{"line_number":646,"context_line":"            provider_lb \u003d \\"},{"line_number":647,"context_line":"                self._ovn_helper._octavia_driver_lib.get_loadbalancer(lb.id)"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"            listeners \u003d set() if provider_lb.listeners is None else \\"},{"line_number":650,"context_line":"                provider_lb.listeners"},{"line_number":651,"context_line":"            provider_listeners \u003d []"},{"line_number":652,"context_line":"            for listener in listeners:"}],"source_content_type":"text/x-python","patch_set":15,"id":"c2bcd2b2_e12760fe","line":649,"range":{"start_line":649,"start_character":24,"end_line":649,"end_character":29},"updated":"2025-01-22 19:02:19.000000000","message":"nit: we just iterate over so it is fine but would be good be consistent with types as use the `list` type here, I see on L655 we assign list to `listeners`","commit_id":"9499c23b0315fd06b786cfa6c49e567e4adeac94"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"bf38999e82b8b174cd60156fdc88e72dd26cb711","unresolved":false,"context_lines":[{"line_number":646,"context_line":"            provider_lb \u003d \\"},{"line_number":647,"context_line":"                self._ovn_helper._octavia_driver_lib.get_loadbalancer(lb.id)"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"            listeners \u003d set() if provider_lb.listeners is None else \\"},{"line_number":650,"context_line":"                provider_lb.listeners"},{"line_number":651,"context_line":"            provider_listeners \u003d []"},{"line_number":652,"context_line":"            for listener in listeners:"}],"source_content_type":"text/x-python","patch_set":15,"id":"2a0cb0f3_b059a85f","line":649,"range":{"start_line":649,"start_character":24,"end_line":649,"end_character":29},"in_reply_to":"c2bcd2b2_e12760fe","updated":"2025-01-23 06:29:27.000000000","message":"set gets more small resources IMO, but list works anyway","commit_id":"9499c23b0315fd06b786cfa6c49e567e4adeac94"}],"ovn_octavia_provider/helper.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"168c4615ca85e1aaca3b5f75bae1c00b460126aa","unresolved":true,"context_lines":[{"line_number":1838,"context_line":"                         str(listener[constants.PROTOCOL]).lower())))"},{"line_number":1839,"context_line":"            commands.extend(self._refresh_lb_vips(ovn_lb, external_ids,"},{"line_number":1840,"context_line":"                                                  is_sync\u003dTrue))"},{"line_number":1841,"context_line":"            if commands:"},{"line_number":1842,"context_line":"                self._execute_commands(commands)"},{"line_number":1843,"context_line":"        except Exception:"},{"line_number":1844,"context_line":"            LOG.exception(ovn_const.EXCEPTION_MSG, \" sync of listener\")"}],"source_content_type":"text/x-python","patch_set":15,"id":"c0f131b6_09a0cff6","line":1841,"range":{"start_line":1841,"start_character":0,"end_line":1841,"end_character":24},"updated":"2025-01-22 19:02:19.000000000","message":"there is no need for this as it\u0027s checked by `_execute_commands()`","commit_id":"9499c23b0315fd06b786cfa6c49e567e4adeac94"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"bf38999e82b8b174cd60156fdc88e72dd26cb711","unresolved":false,"context_lines":[{"line_number":1838,"context_line":"                         str(listener[constants.PROTOCOL]).lower())))"},{"line_number":1839,"context_line":"            commands.extend(self._refresh_lb_vips(ovn_lb, external_ids,"},{"line_number":1840,"context_line":"                                                  is_sync\u003dTrue))"},{"line_number":1841,"context_line":"            if commands:"},{"line_number":1842,"context_line":"                self._execute_commands(commands)"},{"line_number":1843,"context_line":"        except Exception:"},{"line_number":1844,"context_line":"            LOG.exception(ovn_const.EXCEPTION_MSG, \" sync of listener\")"}],"source_content_type":"text/x-python","patch_set":15,"id":"14ce4e60_eb9ba0c3","line":1841,"range":{"start_line":1841,"start_character":0,"end_line":1841,"end_character":24},"in_reply_to":"c0f131b6_09a0cff6","updated":"2025-01-23 06:29:27.000000000","message":"Done","commit_id":"9499c23b0315fd06b786cfa6c49e567e4adeac94"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"168c4615ca85e1aaca3b5f75bae1c00b460126aa","unresolved":true,"context_lines":[{"line_number":1840,"context_line":"                                                  is_sync\u003dTrue))"},{"line_number":1841,"context_line":"            if commands:"},{"line_number":1842,"context_line":"                self._execute_commands(commands)"},{"line_number":1843,"context_line":"        except Exception:"},{"line_number":1844,"context_line":"            LOG.exception(ovn_const.EXCEPTION_MSG, \" sync of listener\")"},{"line_number":1845,"context_line":""},{"line_number":1846,"context_line":"    def listener_delete(self, listener):"}],"source_content_type":"text/x-python","patch_set":15,"id":"0d51c787_2e3f4e73","line":1843,"range":{"start_line":1843,"start_character":15,"end_line":1843,"end_character":24},"updated":"2025-01-22 19:02:19.000000000","message":"too broad exception, would be good to wrap around code block we want to defend against with a specific exception and specific error handling","commit_id":"9499c23b0315fd06b786cfa6c49e567e4adeac94"},{"author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"change_message_id":"bf38999e82b8b174cd60156fdc88e72dd26cb711","unresolved":true,"context_lines":[{"line_number":1840,"context_line":"                                                  is_sync\u003dTrue))"},{"line_number":1841,"context_line":"            if commands:"},{"line_number":1842,"context_line":"                self._execute_commands(commands)"},{"line_number":1843,"context_line":"        except Exception:"},{"line_number":1844,"context_line":"            LOG.exception(ovn_const.EXCEPTION_MSG, \" sync of listener\")"},{"line_number":1845,"context_line":""},{"line_number":1846,"context_line":"    def listener_delete(self, listener):"}],"source_content_type":"text/x-python","patch_set":15,"id":"3c176732_139c6a53","line":1843,"range":{"start_line":1843,"start_character":15,"end_line":1843,"end_character":24},"in_reply_to":"0d51c787_2e3f4e73","updated":"2025-01-23 06:29:27.000000000","message":"I\u0027m adding error message to LOG so we can pick up on the way when it fail and actually needs extra care?","commit_id":"9499c23b0315fd06b786cfa6c49e567e4adeac94"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"bb36b1289c8e65b0352388eecab49ebd968088f9","unresolved":false,"context_lines":[{"line_number":1840,"context_line":"                                                  is_sync\u003dTrue))"},{"line_number":1841,"context_line":"            if commands:"},{"line_number":1842,"context_line":"                self._execute_commands(commands)"},{"line_number":1843,"context_line":"        except Exception:"},{"line_number":1844,"context_line":"            LOG.exception(ovn_const.EXCEPTION_MSG, \" sync of listener\")"},{"line_number":1845,"context_line":""},{"line_number":1846,"context_line":"    def listener_delete(self, listener):"}],"source_content_type":"text/x-python","patch_set":15,"id":"4fc2b480_feede414","line":1843,"range":{"start_line":1843,"start_character":15,"end_line":1843,"end_character":24},"in_reply_to":"3c176732_139c6a53","updated":"2025-02-07 10:21:24.000000000","message":"I tried to cover it on last patchset","commit_id":"9499c23b0315fd06b786cfa6c49e567e4adeac94"}]}
