)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34118,"name":"Arnau Verdaguer","email":"averdagu@redhat.com","username":"averdaguer"},"change_message_id":"53a2acf2ff014ad36e54ad6c2e0312fd01cd5aa4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"121de743_f6af3756","updated":"2022-02-04 22:36:39.000000000","message":"Correct syntax error and delete extra end line that caused the format tests to fail ","commit_id":"4f94c90da464995380ca804268e342c2a675aad2"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"06c1da9eee7ff451f555cda5ccd66f7083a0331d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"eaedef8d_732adee8","updated":"2022-02-06 10:13:09.000000000","message":"Thanks!!!","commit_id":"997fa2af331b828ab47df057297bdab2f7c3a345"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"94bca6f1826df0a3086257605b7ba4535c8be1d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"81c5d3ba_4ce2abf2","updated":"2022-02-07 14:40:34.000000000","message":"Looks fine to me","commit_id":"10d3350919906a7ffc8b4b7e71961df69608b097"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1e479007b1ee43c0075dc65da6960b1034fc753d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d4695cfa_f440269e","updated":"2022-02-08 22:50:09.000000000","message":"Looks good, we just need to remove the lookup() override.","commit_id":"10d3350919906a7ffc8b4b7e71961df69608b097"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"5aec9fe795297ed2c12f8b9791f6fc54b0a25b5f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d958f5f9_62b575bf","updated":"2022-02-08 07:23:00.000000000","message":"Nice finding. Code looks good!","commit_id":"10d3350919906a7ffc8b4b7e71961df69608b097"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"edb6b05576bbe5a25f0c14410279103dc433e031","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1515079c_5e4194f5","updated":"2022-02-08 08:40:19.000000000","message":"Thanks Daniel!","commit_id":"10d3350919906a7ffc8b4b7e71961df69608b097"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"58f498306acad9c67babe63a786687e6f8c4fd22","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"58a24a71_3a43f22a","updated":"2022-02-07 15:06:58.000000000","message":"Thanks Daniel! LGTM. I don\u0027t know if this condition is easy to reproduce in the functional tests, but if it is, it would be cool to test this there too. \n\nSee:\nneutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_maintenance.py\n(Line 296, test_port function)","commit_id":"10d3350919906a7ffc8b4b7e71961df69608b097"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"d23806e728b18d6d3a6a944fd5c7fef5f45c313e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"70a50b9a_8c9dccf4","updated":"2022-02-10 13:29:44.000000000","message":"Thanks Daniel it looks good.\n\nI wasn\u0027t a big fan of the timeout to begin with, I think it looks better now IMHO.","commit_id":"be7331c8169c53e3900c9c1a08e12808cf5ed2ec"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"9322c6861fa07e4b602725c1f7df669eb32bb159","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"e33387c1_df0d3fa2","updated":"2022-02-10 11:42:18.000000000","message":"Two comments:\n\nI removed the timeout bits from the original implementation as whatever\u0027s going on with the WaitEvents and retries in ovsdbapp is independent from this patch and should be addressed separately.\n\nThis pattern for \u0027ports\u0027 shall be probably applied to other resources that we have seen staling in production such as floating IPs.","commit_id":"be7331c8169c53e3900c9c1a08e12808cf5ed2ec"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"976e501c891880905c1d48526eea6eb58beb830b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"712c83d9_d21337d4","updated":"2022-02-10 11:35:55.000000000","message":"recheck","commit_id":"be7331c8169c53e3900c9c1a08e12808cf5ed2ec"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1e479007b1ee43c0075dc65da6960b1034fc753d","unresolved":true,"context_lines":[{"line_number":202,"context_line":"                   % {\u0027match\u0027: match, \u0027column\u0027: column, \u0027table\u0027: table})"},{"line_number":203,"context_line":"            raise RuntimeError(msg)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def lookup(self, table, record, default\u003dovs_idl._NO_DEFAULT,"},{"line_number":206,"context_line":"               timeout\u003dDEFAULT_LOOKUP_TIMEOUT, notify_handler\u003dNone):"},{"line_number":207,"context_line":"        return super().lookup(table, record, default\u003ddefault, timeout\u003dtimeout,"},{"line_number":208,"context_line":"                              notify_handler\u003dnotify_handler)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"class OvsdbConnectionUnavailable(n_exc.ServiceUnavailable):"}],"source_content_type":"text/x-python","patch_set":6,"id":"d5666806_c50a5513","line":208,"range":{"start_line":205,"start_character":0,"end_line":208,"end_character":60},"updated":"2022-02-08 22:50:09.000000000","message":"We must delete this - the ovsdbapp patch proved having the wait event everywhere is a terrible idea as we\u0027re calling lookups mostly for non-existing objects: https://c1b532a6ee61a1082d1d-7626e06c5df3c92289152ea5806ba467.ssl.cf5.rackcdn.com/828379/3/check/ovsdbapp-neutron-ovn-tempest-ovs-release/0603478/testr_results.html","commit_id":"10d3350919906a7ffc8b4b7e71961df69608b097"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"4ee1f77a3d5ea4878ae552df2098dfe2ab79535e","unresolved":true,"context_lines":[{"line_number":657,"context_line":"            db_rev.bump_revision(context, port, ovn_const.TYPE_PORTS)"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"    def _delete_port(self, port_id, port_object\u003dNone, timeout\u003dNone):"},{"line_number":660,"context_line":"        ovn_port \u003d self._nb_idl.lookup(\u0027Logical_Switch_Port\u0027, port_id)"},{"line_number":661,"context_line":"        ovn_network_name \u003d ovn_port.external_ids.get("},{"line_number":662,"context_line":"            ovn_const.OVN_NETWORK_NAME_EXT_ID_KEY)"},{"line_number":663,"context_line":"        network_id \u003d ovn_network_name.replace(\u0027neutron-\u0027, \u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"6cd58f87_3d8b179e","line":660,"updated":"2022-02-04 22:58:59.000000000","message":"You probably wanted to pass the timeout here?","commit_id":"84aca434e57aa0dbfeac9910dabb1c73f45fc34b"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"06c1da9eee7ff451f555cda5ccd66f7083a0331d","unresolved":false,"context_lines":[{"line_number":657,"context_line":"            db_rev.bump_revision(context, port, ovn_const.TYPE_PORTS)"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"    def _delete_port(self, port_id, port_object\u003dNone, timeout\u003dNone):"},{"line_number":660,"context_line":"        ovn_port \u003d self._nb_idl.lookup(\u0027Logical_Switch_Port\u0027, port_id)"},{"line_number":661,"context_line":"        ovn_network_name \u003d ovn_port.external_ids.get("},{"line_number":662,"context_line":"            ovn_const.OVN_NETWORK_NAME_EXT_ID_KEY)"},{"line_number":663,"context_line":"        network_id \u003d ovn_network_name.replace(\u0027neutron-\u0027, \u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"4364488f_6cb2dd86","line":660,"in_reply_to":"6cd58f87_3d8b179e","updated":"2022-02-06 10:13:09.000000000","message":"Done","commit_id":"84aca434e57aa0dbfeac9910dabb1c73f45fc34b"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1e479007b1ee43c0075dc65da6960b1034fc753d","unresolved":true,"context_lines":[{"line_number":656,"context_line":"        if check_rev_cmd.result \u003d\u003d ovn_const.TXN_COMMITTED:"},{"line_number":657,"context_line":"            db_rev.bump_revision(context, port, ovn_const.TYPE_PORTS)"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"    def _delete_port(self, port_id, port_object\u003dNone, timeout\u003dNone):"},{"line_number":660,"context_line":"        ovn_port \u003d self._nb_idl.lookup(\u0027Logical_Switch_Port\u0027, port_id,"},{"line_number":661,"context_line":"                                       timeout\u003dtimeout)"},{"line_number":662,"context_line":"        ovn_network_name \u003d ovn_port.external_ids.get("}],"source_content_type":"text/x-python","patch_set":6,"id":"781193dd_942820a8","line":659,"range":{"start_line":659,"start_character":54,"end_line":659,"end_character":66},"updated":"2022-02-08 22:50:09.000000000","message":"nit: timeout is always passed","commit_id":"10d3350919906a7ffc8b4b7e71961df69608b097"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1e479007b1ee43c0075dc65da6960b1034fc753d","unresolved":true,"context_lines":[{"line_number":689,"context_line":"    # TODO(lucasagomes): The ``port_object`` parameter was added to"},{"line_number":690,"context_line":"    # keep things backward compatible. Remove it in the Rocky release."},{"line_number":691,"context_line":"    def delete_port(self, context, port_id, port_object\u003dNone,"},{"line_number":692,"context_line":"                    timeout\u003dimpl_idl_ovn.DEFAULT_LOOKUP_TIMEOUT):"},{"line_number":693,"context_line":"        try:"},{"line_number":694,"context_line":"            self._delete_port(port_id, port_object\u003dport_object,"},{"line_number":695,"context_line":"                              timeout\u003dtimeout)"}],"source_content_type":"text/x-python","patch_set":6,"id":"2e64863c_e38851af","line":692,"range":{"start_line":692,"start_character":41,"end_line":692,"end_character":63},"updated":"2022-02-08 22:50:09.000000000","message":"Should we move this to constants module?","commit_id":"10d3350919906a7ffc8b4b7e71961df69608b097"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"ba8857a0cecd70a06115be41cc6f2fd9e33d5e7a","unresolved":true,"context_lines":[{"line_number":689,"context_line":"    # TODO(lucasagomes): The ``port_object`` parameter was added to"},{"line_number":690,"context_line":"    # keep things backward compatible. Remove it in the Rocky release."},{"line_number":691,"context_line":"    def delete_port(self, context, port_id, port_object\u003dNone,"},{"line_number":692,"context_line":"                    timeout\u003dimpl_idl_ovn.DEFAULT_LOOKUP_TIMEOUT):"},{"line_number":693,"context_line":"        try:"},{"line_number":694,"context_line":"            self._delete_port(port_id, port_object\u003dport_object,"},{"line_number":695,"context_line":"                              timeout\u003dtimeout)"}],"source_content_type":"text/x-python","patch_set":6,"id":"bd721c24_ef925ab0","line":692,"updated":"2022-02-08 22:49:33.000000000","message":"There appear to be some issues with the timeout/retry mechanism in ovsdbapp. We should probably not rely on it at this point.","commit_id":"10d3350919906a7ffc8b4b7e71961df69608b097"}]}
