)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"27dc5d4a7351da72c766f8c7ff80f8909f43e353","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"cb64bb93_643d002d","updated":"2023-05-18 10:04:59.000000000","message":"Needs unit tests","commit_id":"9ff7d533956a1a8ea3a22f01b00b13e81a79ff4d"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"19d7ab14609ca1ed6fe60ef3da3b9299d9b15579","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a1cda8ee_1add9f8b","updated":"2023-05-18 13:27:38.000000000","message":"-1 just due to the the pep8 failing.\n\nI have one question though, should we set the host_id on the external_ids for the non-virtual ports too? As the \"requested-chassis\" is what neutron requests to ovn, while the host_id on the external_ids is more of what ovn has done (status)","commit_id":"e9cfe03cf948c76c8ad6510a9d4b8f896939f9b9"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"0abb1c3a887ea9d8d77d6b8829ad154a6c72f39b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6791ec6d_8942e2ef","in_reply_to":"a1cda8ee_1add9f8b","updated":"2023-05-18 13:42:57.000000000","message":"It\u0027s not a bad idea, I mean, it\u0027s one more write to the NB DB upon the port status up but should be fine. Let\u0027s see what others think about it. Personally I like the consistency of all ports having similar values regardless of the type.","commit_id":"e9cfe03cf948c76c8ad6510a9d4b8f896939f9b9"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"b297c10426a238de0698710cd6a560b300baaae5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9ab3319c_39e9bf30","updated":"2023-05-19 10:12:32.000000000","message":"nice thanks! LGTM","commit_id":"69c7f7d51032ddfb15b25d45fdabd2972c56cee9"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"0c81f4b625128485f8294709a51a52e78481e002","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a2ae4736_af479f01","updated":"2023-05-19 12:15:47.000000000","message":"recheck\n\nUnrelated designate job error:\n\ndns.exception.Timeout: The DNS operation timed out.","commit_id":"69c7f7d51032ddfb15b25d45fdabd2972c56cee9"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1e6494773ec626ac6eba155c181cbe8e72795216","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"774dd8cb_d39b8ac2","updated":"2023-05-21 14:32:56.000000000","message":"recheck","commit_id":"db1524affc7328b22bfcf74f53ca1f1619bdeafb"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"a36b58df60790722121f21c84ab968fa1dd714da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"44fe6e81_a6b6ddd7","updated":"2023-06-08 05:56:35.000000000","message":"The portbindings on the test_ovn_client needs fixing, but other than that it looks good to me","commit_id":"5fbd5f549a84b523d8c466c8c2cedd09c5908943"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"23042060c39d1dec6a0941d112b1e4d288166ef3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"13cdeaaa_21f78ece","in_reply_to":"44fe6e81_a6b6ddd7","updated":"2023-06-08 10:32:53.000000000","message":"Ops, the merge conflict perhaps removed it. Adding it back in this patch","commit_id":"5fbd5f549a84b523d8c466c8c2cedd09c5908943"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"23c28261b44951dd85e5d2cb80b008dc7d65d8e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"abd4abee_772165ef","updated":"2023-06-09 06:00:27.000000000","message":"LGTM","commit_id":"414784501894f4e5b9d630d3a4ec305f17be89f5"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df33a6cf788f8534008fa5a312c1a6c842f7b249","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"99a04545_41194bbc","updated":"2023-06-23 15:55:33.000000000","message":"LGTM","commit_id":"2a78113a52f4e790f2b44026a3034060c5ea7949"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4eae5935109a6b839e66d3d0d76378257c7a0ef5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"583bbe3c_884436c9","updated":"2023-07-03 10:35:00.000000000","message":"Thanks for the reviews, since it has 2+2 already, I\u0027m +A\u0027ing this to move it forward with the work.","commit_id":"28926957d691c8b0897c71fee59a888783d15974"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"17845900f6846fb84c15faa09722d94bb181a412","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"d65dcacb_6bc4a3f8","updated":"2023-06-30 20:04:10.000000000","message":"recheck unrelated failure","commit_id":"28926957d691c8b0897c71fee59a888783d15974"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"02424632879c31ddc5bf43c3ad900a5c38ba72b3","unresolved":true,"context_lines":[{"line_number":1145,"context_line":"            elif self._should_notify_nova(db_port):"},{"line_number":1146,"context_line":"                self._plugin.nova_notifier.notify_port_active_direct(db_port)"},{"line_number":1147,"context_line":""},{"line_number":1148,"context_line":"            self._ovn_client.update_lsp_host_info(admin_context, db_port)"},{"line_number":1149,"context_line":"        except (os_db_exc.DBReferenceError, n_exc.PortNotFound):"},{"line_number":1150,"context_line":"            LOG.debug(\u0027Port not found during OVN status up report: %s\u0027,"},{"line_number":1151,"context_line":"                      port_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3292ca54_dd15fe5c","line":1148,"updated":"2023-06-30 13:46:55.000000000","message":"Should probably update the test to verify this was called, test_set_port_status_up/test_set_port_status_down","commit_id":"2a78113a52f4e790f2b44026a3034060c5ea7949"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"b08b8b01afe5c54f1d70f67369942c7921c3e47b","unresolved":true,"context_lines":[{"line_number":1145,"context_line":"            elif self._should_notify_nova(db_port):"},{"line_number":1146,"context_line":"                self._plugin.nova_notifier.notify_port_active_direct(db_port)"},{"line_number":1147,"context_line":""},{"line_number":1148,"context_line":"            self._ovn_client.update_lsp_host_info(admin_context, db_port)"},{"line_number":1149,"context_line":"        except (os_db_exc.DBReferenceError, n_exc.PortNotFound):"},{"line_number":1150,"context_line":"            LOG.debug(\u0027Port not found during OVN status up report: %s\u0027,"},{"line_number":1151,"context_line":"                      port_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"572d3b18_7247c132","line":1148,"in_reply_to":"3292ca54_dd15fe5c","updated":"2023-06-30 14:45:15.000000000","message":"++ will do","commit_id":"2a78113a52f4e790f2b44026a3034060c5ea7949"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"50f358db7d296708859a6b6716b2f9bbc215ec5a","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"            elif self._should_notify_nova(db_port):"},{"line_number":1146,"context_line":"                self._plugin.nova_notifier.notify_port_active_direct(db_port)"},{"line_number":1147,"context_line":""},{"line_number":1148,"context_line":"            self._ovn_client.update_lsp_host_info(admin_context, db_port)"},{"line_number":1149,"context_line":"        except (os_db_exc.DBReferenceError, n_exc.PortNotFound):"},{"line_number":1150,"context_line":"            LOG.debug(\u0027Port not found during OVN status up report: %s\u0027,"},{"line_number":1151,"context_line":"                      port_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9dc2b425_ba41a34f","line":1148,"in_reply_to":"572d3b18_7247c132","updated":"2023-07-03 10:35:32.000000000","message":"Done","commit_id":"2a78113a52f4e790f2b44026a3034060c5ea7949"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e721b06d5e6a6499cd6342f0d418870669e2cd90","unresolved":true,"context_lines":[{"line_number":293,"context_line":"                return"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"            ext_ids \u003d (\u0027external_ids\u0027,"},{"line_number":296,"context_line":"                       {ovn_const.OVN_VIRTUAL_PORT_HOST_ID: chassis})"},{"line_number":297,"context_line":"            cmd.append("},{"line_number":298,"context_line":"                self._nb_idl.db_set(\u0027Logical_Switch_Port\u0027, port_id, ext_ids))"},{"line_number":299,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"62b62c99_2c16cd09","line":296,"range":{"start_line":296,"start_character":38,"end_line":296,"end_character":50},"updated":"2023-05-19 14:43:00.000000000","message":"Oops I think I should remove the VIRTUAL_PORT from the constant","commit_id":"69c7f7d51032ddfb15b25d45fdabd2972c56cee9"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"d265d3d2fb76ef5dcfd0dff9bf0164a0eb484e03","unresolved":false,"context_lines":[{"line_number":293,"context_line":"                return"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"            ext_ids \u003d (\u0027external_ids\u0027,"},{"line_number":296,"context_line":"                       {ovn_const.OVN_VIRTUAL_PORT_HOST_ID: chassis})"},{"line_number":297,"context_line":"            cmd.append("},{"line_number":298,"context_line":"                self._nb_idl.db_set(\u0027Logical_Switch_Port\u0027, port_id, ext_ids))"},{"line_number":299,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"28e10f03_5c40ec9c","line":296,"range":{"start_line":296,"start_character":38,"end_line":296,"end_character":50},"in_reply_to":"62b62c99_2c16cd09","updated":"2023-05-19 14:45:04.000000000","message":"Done","commit_id":"69c7f7d51032ddfb15b25d45fdabd2972c56cee9"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"23fd86385aec84fe3a8a9ee8fdc605c1a30389fd","unresolved":true,"context_lines":[{"line_number":117,"context_line":"        if txn is None:"},{"line_number":118,"context_line":"            with self._nb_idl.transaction(check_error\u003dTrue) as new_txn:"},{"line_number":119,"context_line":"                for cmd in commands:"},{"line_number":120,"context_line":"                    new_txn.add(cmd)"},{"line_number":121,"context_line":"        else:"},{"line_number":122,"context_line":"            for cmd in commands:"},{"line_number":123,"context_line":"                txn.add(cmd)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1e26a18c_6dbf1883","line":120,"updated":"2023-06-23 13:41:43.000000000","message":"here ^","commit_id":"414784501894f4e5b9d630d3a4ec305f17be89f5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6f6fdf01d38919882228a640966e05496cd4d63f","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        if txn is None:"},{"line_number":118,"context_line":"            with self._nb_idl.transaction(check_error\u003dTrue) as new_txn:"},{"line_number":119,"context_line":"                for cmd in commands:"},{"line_number":120,"context_line":"                    new_txn.add(cmd)"},{"line_number":121,"context_line":"        else:"},{"line_number":122,"context_line":"            for cmd in commands:"},{"line_number":123,"context_line":"                txn.add(cmd)"}],"source_content_type":"text/x-python","patch_set":7,"id":"be365536_bb6f67c3","line":120,"in_reply_to":"1e26a18c_6dbf1883","updated":"2023-06-23 15:54:06.000000000","message":"Nice to know that!","commit_id":"414784501894f4e5b9d630d3a4ec305f17be89f5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2814babeaeca1ffdc7aabc71fd5faddc2dd8b0ef","unresolved":true,"context_lines":[{"line_number":243,"context_line":"        \"\"\""},{"line_number":244,"context_line":"        cmd \u003d []"},{"line_number":245,"context_line":"        if up:"},{"line_number":246,"context_line":"            port \u003d self._plugin.get_port(context, port_id)"},{"line_number":247,"context_line":"            chassis \u003d port.get(portbindings.HOST_ID, \u0027\u0027)"},{"line_number":248,"context_line":"            if not chassis:"},{"line_number":249,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":7,"id":"9d40aefb_02cd1e78","line":246,"range":{"start_line":246,"start_character":12,"end_line":246,"end_character":58},"updated":"2023-06-23 13:28:22.000000000","message":"The caller of this method, in particular \"set_port_status_up\", is retrieving the \"port\" DB register. Because \"port_bindings\" is a joined backref, it will be always contained in the DB object. We don\u0027t need to retrieve again the port here.","commit_id":"414784501894f4e5b9d630d3a4ec305f17be89f5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"07f58886dcd3d782e5c1a7379d7d2e5caeeade1f","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        \"\"\""},{"line_number":244,"context_line":"        cmd \u003d []"},{"line_number":245,"context_line":"        if up:"},{"line_number":246,"context_line":"            port \u003d self._plugin.get_port(context, port_id)"},{"line_number":247,"context_line":"            chassis \u003d port.get(portbindings.HOST_ID, \u0027\u0027)"},{"line_number":248,"context_line":"            if not chassis:"},{"line_number":249,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":7,"id":"6b0c08c1_1a2a2887","line":246,"range":{"start_line":246,"start_character":12,"end_line":246,"end_character":58},"in_reply_to":"1fdec243_0dc4d306","updated":"2023-06-23 15:48:11.000000000","message":"Done","commit_id":"414784501894f4e5b9d630d3a4ec305f17be89f5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"23fd86385aec84fe3a8a9ee8fdc605c1a30389fd","unresolved":true,"context_lines":[{"line_number":243,"context_line":"        \"\"\""},{"line_number":244,"context_line":"        cmd \u003d []"},{"line_number":245,"context_line":"        if up:"},{"line_number":246,"context_line":"            port \u003d self._plugin.get_port(context, port_id)"},{"line_number":247,"context_line":"            chassis \u003d port.get(portbindings.HOST_ID, \u0027\u0027)"},{"line_number":248,"context_line":"            if not chassis:"},{"line_number":249,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fdec243_0dc4d306","line":246,"range":{"start_line":246,"start_character":12,"end_line":246,"end_character":58},"in_reply_to":"9d40aefb_02cd1e78","updated":"2023-06-23 13:41:43.000000000","message":"Will take a look at it","commit_id":"414784501894f4e5b9d630d3a4ec305f17be89f5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2814babeaeca1ffdc7aabc71fd5faddc2dd8b0ef","unresolved":true,"context_lines":[{"line_number":258,"context_line":"                    \u0027Logical_Switch_Port\u0027, port_id, \u0027external_ids\u0027,"},{"line_number":259,"context_line":"                    ovn_const.OVN_HOST_ID_EXT_ID_KEY, if_exists\u003dTrue))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        self._transaction(cmd)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    def _get_port_options(self, port):"},{"line_number":264,"context_line":"        context \u003d n_context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":7,"id":"0cfd1cde_a06f98fe","line":261,"range":{"start_line":261,"start_character":8,"end_line":261,"end_character":30},"updated":"2023-06-23 13:28:22.000000000","message":"We are not inside a OVN DB transaction. You should commit this cmd immediately.","commit_id":"414784501894f4e5b9d630d3a4ec305f17be89f5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"23fd86385aec84fe3a8a9ee8fdc605c1a30389fd","unresolved":true,"context_lines":[{"line_number":258,"context_line":"                    \u0027Logical_Switch_Port\u0027, port_id, \u0027external_ids\u0027,"},{"line_number":259,"context_line":"                    ovn_const.OVN_HOST_ID_EXT_ID_KEY, if_exists\u003dTrue))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        self._transaction(cmd)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    def _get_port_options(self, port):"},{"line_number":264,"context_line":"        context \u003d n_context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":7,"id":"760a9622_1755181e","line":261,"range":{"start_line":261,"start_character":8,"end_line":261,"end_character":30},"in_reply_to":"0cfd1cde_a06f98fe","updated":"2023-06-23 13:41:43.000000000","message":"This does it already if no transaction object is passed to it. It\u0027s a wrapper to make the code more readable (see above)","commit_id":"414784501894f4e5b9d630d3a4ec305f17be89f5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6f6fdf01d38919882228a640966e05496cd4d63f","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                    \u0027Logical_Switch_Port\u0027, port_id, \u0027external_ids\u0027,"},{"line_number":259,"context_line":"                    ovn_const.OVN_HOST_ID_EXT_ID_KEY, if_exists\u003dTrue))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        self._transaction(cmd)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    def _get_port_options(self, port):"},{"line_number":264,"context_line":"        context \u003d n_context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":7,"id":"e57c1413_14171672","line":261,"range":{"start_line":261,"start_character":8,"end_line":261,"end_character":30},"in_reply_to":"760a9622_1755181e","updated":"2023-06-23 15:54:06.000000000","message":"Cool! Thanks.","commit_id":"414784501894f4e5b9d630d3a4ec305f17be89f5"}]}
