)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b0064c04a2504ba531672a95f3ed67570df5b502","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a23a3e48_aaff535c","updated":"2021-10-25 10:45:16.000000000","message":"LGTM, pending CI","commit_id":"6e309145b2043cb5af28c48481924769f02fa654"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"be514d5ef1b309b1ba39911379c9ed81e33903e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1aabe9da_4760abd0","updated":"2021-10-25 13:07:55.000000000","message":"recheck","commit_id":"6e309145b2043cb5af28c48481924769f02fa654"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d4c1449e46d7c49ce83457cbc4cfa69eb9853dd6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"960fbf79_02fcad8a","updated":"2021-10-25 20:14:35.000000000","message":"recheck","commit_id":"6e309145b2043cb5af28c48481924769f02fa654"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"f4599f04dde54f096bab3360e264e6dfe375ae05","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b8898fb3_2d833252","updated":"2021-10-26 08:51:15.000000000","message":"recheck","commit_id":"6e309145b2043cb5af28c48481924769f02fa654"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"9954912bc94af5be543cd410fd12a56758c4ea13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"853863e2_d867dfd2","updated":"2021-10-27 12:35:58.000000000","message":"PS3 is a rebase on top of [1]. I\u0027m +2+W because it was in PS2.\n\n[1]https://review.opendev.org/c/openstack/neutron/+/815459/1","commit_id":"11d166be683d36ba51e3f85ddea45cb0a1fcf8db"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"55d2fb62233393ced7a3bfde7120081c340468af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0bea8194_9e24b2a1","updated":"2021-11-02 07:43:52.000000000","message":"recheck","commit_id":"11d166be683d36ba51e3f85ddea45cb0a1fcf8db"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"6220d01b78607105a66c96cc2d2a9a74fe8d6795","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0dff35e1_83aa3ca3","updated":"2021-11-02 04:41:22.000000000","message":"recheck","commit_id":"11d166be683d36ba51e3f85ddea45cb0a1fcf8db"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"98f0348db012390800cca2d9353d6d61c7c51aca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"13bb7a2b_7d10eef3","updated":"2021-11-01 19:32:18.000000000","message":"recheck","commit_id":"11d166be683d36ba51e3f85ddea45cb0a1fcf8db"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"93856942020b7222d93f74b2e33850a2061a441f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8cee21ed_838aaaa8","updated":"2021-11-01 06:40:10.000000000","message":"recheck","commit_id":"11d166be683d36ba51e3f85ddea45cb0a1fcf8db"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"110233954ce0829f0e4027151c092fd93c85e118","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d8cb611a_e4a5f48d","updated":"2021-11-02 13:36:12.000000000","message":"recheck","commit_id":"11d166be683d36ba51e3f85ddea45cb0a1fcf8db"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ba62f14268f9d247a5b20c3588148db995efa69e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8bcfc50c_b71a7fbb","updated":"2021-10-27 14:04:38.000000000","message":"this make sense to me, if you respin it would be nice to add some comment as to why we are doign this change but i dont think the lack of comment warrents a respin by its self.","commit_id":"11d166be683d36ba51e3f85ddea45cb0a1fcf8db"}],"neutron/agent/common/ovs_lib.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ba62f14268f9d247a5b20c3588148db995efa69e","unresolved":true,"context_lines":[{"line_number":284,"context_line":"        self._set_bridge_fail_mode(FAILMODE_STANDALONE)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    def add_protocols(self, *protocols):"},{"line_number":287,"context_line":"        existing_protocols \u003d self.db_get_val("},{"line_number":288,"context_line":"            \u0027Bridge\u0027, self.br_name, \u0027protocols\u0027)"},{"line_number":289,"context_line":"        diff \u003d set(protocols).difference(existing_protocols)"},{"line_number":290,"context_line":"        if diff:"},{"line_number":291,"context_line":"            self.ovsdb.db_add("},{"line_number":292,"context_line":"                \u0027Bridge\u0027, self.br_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"e060d2fa_0946dd79","line":289,"range":{"start_line":287,"start_character":8,"end_line":289,"end_character":60},"updated":"2021-10-27 14:04:38.000000000","message":"nit: it might be nice to also add a comment explaining why we do this diff so its not acidentally remove in the futrue\nbut this is valid.","commit_id":"11d166be683d36ba51e3f85ddea45cb0a1fcf8db"}],"neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ovs_bridge.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e0b854a0bda59c7c1bcd8191482af6fe46e38c54","unresolved":true,"context_lines":[{"line_number":75,"context_line":"                                        conf.OVS.of_listen_port)"},{"line_number":76,"context_line":"        controller \u003d \"tcp:\" + url"},{"line_number":77,"context_line":"        existing_controllers \u003d self.get_controller()"},{"line_number":78,"context_line":"        self.add_protocols(ovs_consts.OPENFLOW10, ovs_consts.OPENFLOW13)"},{"line_number":79,"context_line":"        if controller not in existing_controllers:"},{"line_number":80,"context_line":"            LOG.debug(\"Setting controller %s for bridge %s.\","},{"line_number":81,"context_line":"                      controller, self.br_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bb9baeb4_c753a44c","line":78,"range":{"start_line":78,"start_character":8,"end_line":78,"end_character":72},"updated":"2021-10-25 09:29:39.000000000","message":"1) This command is now in the middle of a sandwich. If you don\u0027t mind, it could be better to move it out from there.\n\n2) I would also add this check for protocols. When the bridge protocols table is modified, that implies a OF controller restart that could also affect to the traffic.\n\nI would add something like this in the OVSBridge.add_protocols method:\n    def add_protocols(self, *protocols):\n        proto_installed \u003d self.db_get_val(\u0027Bridge\u0027, self.br_name, \u0027protocols\u0027)\n        protocols \u003d set(protocols)\n        diff \u003d protocols.difference(proto_installed)\n        if diff:\n            self.ovsdb.db_add(\u0027Bridge\u0027, self.br_name,\n                          \u0027protocols\u0027, *list(diff)).execute(check_error\u003dTrue)","commit_id":"2414e1b6d2ce63885fd2b1155af89e030a2f90fb"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b9f67ee8d5ec524aa68123aaec2b2fe2c70f44d5","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                                        conf.OVS.of_listen_port)"},{"line_number":76,"context_line":"        controller \u003d \"tcp:\" + url"},{"line_number":77,"context_line":"        existing_controllers \u003d self.get_controller()"},{"line_number":78,"context_line":"        self.add_protocols(ovs_consts.OPENFLOW10, ovs_consts.OPENFLOW13)"},{"line_number":79,"context_line":"        if controller not in existing_controllers:"},{"line_number":80,"context_line":"            LOG.debug(\"Setting controller %s for bridge %s.\","},{"line_number":81,"context_line":"                      controller, self.br_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa4d833e_fa62edc4","line":78,"range":{"start_line":78,"start_character":8,"end_line":78,"end_character":72},"in_reply_to":"bb9baeb4_c753a44c","updated":"2021-10-25 10:16:32.000000000","message":"Done","commit_id":"2414e1b6d2ce63885fd2b1155af89e030a2f90fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ba62f14268f9d247a5b20c3588148db995efa69e","unresolved":true,"context_lines":[{"line_number":75,"context_line":"                                        conf.OVS.of_listen_port)"},{"line_number":76,"context_line":"        controller \u003d \"tcp:\" + url"},{"line_number":77,"context_line":"        existing_controllers \u003d self.get_controller()"},{"line_number":78,"context_line":"        if controller not in existing_controllers:"},{"line_number":79,"context_line":"            LOG.debug(\"Setting controller %s for bridge %s.\","},{"line_number":80,"context_line":"                      controller, self.br_name)"},{"line_number":81,"context_line":"            self.set_controller([controller])"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        self.add_protocols(ovs_consts.OPENFLOW10, ovs_consts.OPENFLOW13)"},{"line_number":84,"context_line":"        # NOTE(ivc): Force \"out-of-band\" controller connection mode (see"}],"source_content_type":"text/x-python","patch_set":3,"id":"b33d6b34_51266d7e","line":81,"range":{"start_line":78,"start_character":6,"end_line":81,"end_character":45},"updated":"2021-10-27 14:04:38.000000000","message":"this is a litte more self evident but i also think it would be nice if you end up respinning to add a comment for the current conneectivy bug","commit_id":"11d166be683d36ba51e3f85ddea45cb0a1fcf8db"}]}
