)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38924,"name":"YushoYamaguchi","display_name":"YushoYamaguchi","email":"ys-yamaguchi@kddi.com","username":"YushoYamaguchi"},"change_message_id":"8dc107b0a9118542e5f75197de9de55e66a320f8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d3cd8239_db39d495","updated":"2026-07-01 17:07:08.000000000","message":"+1 from me. I strongly hope we can get this merged.","commit_id":"7032eb9a5b1d1de1900fbd351b5e474fe68d4590"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"7e66a632c5827696bec4d940938262ea7e64bac3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"031f13a8_70c06082","updated":"2026-07-15 13:06:41.000000000","message":"One suggestion, otherwise looking good","commit_id":"7032eb9a5b1d1de1900fbd351b5e474fe68d4590"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"1768f2b907204c034ad74782924d20cafbe31add","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f7b78444_10095649","in_reply_to":"7c978be9_97f98cfb","updated":"2026-07-20 13:57:16.000000000","message":"@ys-yamaguchi@kddi.com Please go ahead and vote +1/-1 in your reply for your feedback. Gerrit won\u0027t scan the comments for voting so you need to use the votes in the reply window\n\nAlso, welcome to Openstack Octavia! 🙂","commit_id":"7032eb9a5b1d1de1900fbd351b5e474fe68d4590"},{"author":{"_account_id":38924,"name":"YushoYamaguchi","display_name":"YushoYamaguchi","email":"ys-yamaguchi@kddi.com","username":"YushoYamaguchi"},"change_message_id":"35db26bbbc6ba2aac938df91a7b8ba42812f557f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7c978be9_97f98cfb","in_reply_to":"d3cd8239_db39d495","updated":"2026-07-01 17:11:22.000000000","message":"(I\u0027m sorry, I cannot judge about these tests because of my ignorance)","commit_id":"7032eb9a5b1d1de1900fbd351b5e474fe68d4590"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"29b189fbcae0e2d7364ddc098a0db719fa4567a7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"95f964a7_d4a931ba","updated":"2026-07-20 13:54:06.000000000","message":"This does work, but I think it\u0027s only a partial fix. There\u0027s an assumption that you have enough contact with the ERROR amphora to disable VRRP when the new one is created. If this isn\u0027t the case then I wonder will the request be lost and we\u0027ll still se duplicated GARP packets?\n\nPerhaps an additional amphora state is the long term fix, something like ERROR_CLEANING so that the controller will keep trying to reconcile the Amphora into a safe error state?\n\nHowever, this is a definite improvement and can be backported, so it still gets the +1 from me","commit_id":"397ba5389f3b0b01ce0a98bab12322c88696656a"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"9adeb188af7d06b10f9f942c0487882d905abc70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"fe42cf3c_76128b97","updated":"2026-08-17 12:42:31.000000000","message":"self review + review assisted by Claude Code","commit_id":"397ba5389f3b0b01ce0a98bab12322c88696656a"}],"octavia/amphorae/drivers/keepalived/vrrp_rest_driver.py":[{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"7e66a632c5827696bec4d940938262ea7e64bac3","unresolved":true,"context_lines":[{"line_number":57,"context_line":"            loadbalancer, amphora, amphorae_network_config[amphora.id])"},{"line_number":58,"context_line":"        self.clients[amphora.api_version].upload_vrrp_config(amphora, config)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def stop_vrrp_service(self, loadbalancer):"},{"line_number":61,"context_line":"        \"\"\"Stop the vrrp services running on the loadbalancer\u0027s amphorae"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        :param loadbalancer: loadbalancer object"}],"source_content_type":"text/x-python","patch_set":1,"id":"8d6472f5_ca525bac","line":60,"updated":"2026-07-15 13:06:41.000000000","message":"Would it make sense to combine this with the method below? The code is very similar so you can probably just call stop_vrrp_service_on_amphora with the filtered list","commit_id":"7032eb9a5b1d1de1900fbd351b5e474fe68d4590"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"449872057dd23f2efc7abbf681b65519cf61bbca","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            loadbalancer, amphora, amphorae_network_config[amphora.id])"},{"line_number":58,"context_line":"        self.clients[amphora.api_version].upload_vrrp_config(amphora, config)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def stop_vrrp_service(self, loadbalancer):"},{"line_number":61,"context_line":"        \"\"\"Stop the vrrp services running on the loadbalancer\u0027s amphorae"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        :param loadbalancer: loadbalancer object"}],"source_content_type":"text/x-python","patch_set":1,"id":"d6476caf_28c4cc0c","line":60,"in_reply_to":"8d6472f5_ca525bac","updated":"2026-07-16 07:07:28.000000000","message":"Done","commit_id":"7032eb9a5b1d1de1900fbd351b5e474fe68d4590"}]}
