)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"9825168825ca38e55f7c07d50011e06cb9867a09","unresolved":true,"context_lines":[{"line_number":7,"context_line":"[ovn] Fix ovsdbapp db_set command for stable branches"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The lack of an if_exists on the db_set function in ovsdbapp causes the"},{"line_number":10,"context_line":"network log object deletion to not be a asynchronous operation on the"},{"line_number":11,"context_line":"ML2/OVN plugin. The if_exists was recently added to ovsdbapp, but since"},{"line_number":12,"context_line":"that is an API change[0] it will not be backported to older branches,"},{"line_number":13,"context_line":"so this patch overrides the function. This way we avoid the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"aeffd434_1af5d865","line":10,"range":{"start_line":10,"start_character":38,"end_line":10,"end_character":52},"updated":"2023-05-15 13:57:43.000000000","message":"Would this be better as \"an atomic\" or am I misremembering what the original problem was?","commit_id":"6c27f9e18855fd5d9215deb64f3aed827cce9b82"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"bb519b3b6839a17c525f708d350e77b69c819ed2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"[ovn] Fix ovsdbapp db_set command for stable branches"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The lack of an if_exists on the db_set function in ovsdbapp causes the"},{"line_number":10,"context_line":"network log object deletion to not be a asynchronous operation on the"},{"line_number":11,"context_line":"ML2/OVN plugin. The if_exists was recently added to ovsdbapp, but since"},{"line_number":12,"context_line":"that is an API change[0] it will not be backported to older branches,"},{"line_number":13,"context_line":"so this patch overrides the function. This way we avoid the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"aba3cef0_2c4fd9e6","line":10,"range":{"start_line":10,"start_character":38,"end_line":10,"end_character":52},"in_reply_to":"aeffd434_1af5d865","updated":"2023-05-15 14:37:41.000000000","message":"I did not use the most appropiate word indeed. I wanted to mean that it should not depend on what other operations do at the same time (like deleting a security group at the same time)","commit_id":"6c27f9e18855fd5d9215deb64f3aed827cce9b82"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"9825168825ca38e55f7c07d50011e06cb9867a09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b27b9bcf_bceef636","updated":"2023-05-15 13:57:43.000000000","message":"Looks good to me. Thanks!","commit_id":"6c27f9e18855fd5d9215deb64f3aed827cce9b82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e4542ad8e0b2630bb9da28465e14429a00c24153","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ee51964d_ddb1a27e","updated":"2023-05-16 16:07:50.000000000","message":"1) Please add [stable-only] on the commit message title, before [ovn]\n2) If that ovsdbapp patch is not in stable branches, what Neutron patch backported to stable ones is creating this issue? Please open a LP bug describing it.","commit_id":"40efab1114166482afbaf69420256bf31545d008"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"62071410358e4f281ad7a4fd5f12570a5cbd5fbf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"aca3ca4c_03a74ed7","in_reply_to":"ee51964d_ddb1a27e","updated":"2023-05-16 16:40:47.000000000","message":"done!","commit_id":"40efab1114166482afbaf69420256bf31545d008"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"2cb1e295d71041e74482fcda71f6ed4bdc4c108b","unresolved":true,"context_lines":[{"line_number":199,"context_line":"        except idlutils.RowNotFound:"},{"line_number":200,"context_line":"            msg \u003d (_(\"%(match)s does not exist in %(column)s of %(table)s\")"},{"line_number":201,"context_line":"                   % {\u0027match\u0027: match, \u0027column\u0027: column, \u0027table\u0027: table})"},{"line_number":202,"context_line":"            raise RuntimeError(msg)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"class OvsdbConnectionUnavailable(n_exc.ServiceUnavailable):"}],"source_content_type":"text/x-python","patch_set":2,"id":"b18a9fb7_ada03fee","line":202,"updated":"2023-05-16 14:18:01.000000000","message":"Shouldn\u0027t we overwrite the db_set() method here in the Backend class ? Because that\u0027s where it is located in ovsdbapp [0].\n\nOtherwise, we will be using this custom definition in the NB IDL while the SB IDL will still be using the one from ovsdbapp that does not support the new parameters. It can make things more confusing as they should be the same in every other branch.\n\n[0] https://github.com/openstack/ovsdbapp/blob/770f77d86f8beb5beb50f6fa30cdd4432253951d/ovsdbapp/backend/ovs_idl/__init__.py#L147","commit_id":"88fe59392fff1904dee93d389a11857061ec8c08"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"b6063e22623265e98db6dca27676c50cd8615e94","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        except idlutils.RowNotFound:"},{"line_number":200,"context_line":"            msg \u003d (_(\"%(match)s does not exist in %(column)s of %(table)s\")"},{"line_number":201,"context_line":"                   % {\u0027match\u0027: match, \u0027column\u0027: column, \u0027table\u0027: table})"},{"line_number":202,"context_line":"            raise RuntimeError(msg)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"class OvsdbConnectionUnavailable(n_exc.ServiceUnavailable):"}],"source_content_type":"text/x-python","patch_set":2,"id":"821039fd_5d76c83f","line":202,"in_reply_to":"b18a9fb7_ada03fee","updated":"2023-05-16 16:03:38.000000000","message":"Yeah, definitely.","commit_id":"88fe59392fff1904dee93d389a11857061ec8c08"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"62071410358e4f281ad7a4fd5f12570a5cbd5fbf","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        except idlutils.RowNotFound:"},{"line_number":200,"context_line":"            msg \u003d (_(\"%(match)s does not exist in %(column)s of %(table)s\")"},{"line_number":201,"context_line":"                   % {\u0027match\u0027: match, \u0027column\u0027: column, \u0027table\u0027: table})"},{"line_number":202,"context_line":"            raise RuntimeError(msg)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"class OvsdbConnectionUnavailable(n_exc.ServiceUnavailable):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fb870a4e_c08c6fc0","line":202,"in_reply_to":"b18a9fb7_ada03fee","updated":"2023-05-16 16:40:47.000000000","message":"You are right!","commit_id":"88fe59392fff1904dee93d389a11857061ec8c08"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e59cce753585ab3bfc48297b291dc76491f43426","unresolved":true,"context_lines":[{"line_number":231,"context_line":"    return tuple(get_ovn_idl_retry(c) for c in (OvsdbNbOvnIdl, OvsdbSbOvnIdl))"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"class OvsdbNbOvnIdl(nb_impl_idl.OvnNbApiIdlImpl, Backend):"},{"line_number":235,"context_line":"    def __init__(self, connection):"},{"line_number":236,"context_line":"        super(OvsdbNbOvnIdl, self).__init__(connection)"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"b5979f0a_9677bcf4","line":234,"range":{"start_line":234,"start_character":20,"end_line":234,"end_character":56},"updated":"2023-05-17 12:30:12.000000000","message":"I think we need to change the order of the inheritance here for us to use the db_set() from our own Backend class.\n\nShould be good but if not I guess we will need to define the method in both OvsdbNbOvnIdl and OvsdbSbOvnIdl classes instead of the Backend class :-( apologies for the inconvenience.  \n\n\n(Continue below...)","commit_id":"44b6a92bf2b9cf3de79a3e66c1c7ce1368e3fec5"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"a077ecd65ae23eeaa429fa041b516f491d837c4b","unresolved":false,"context_lines":[{"line_number":231,"context_line":"    return tuple(get_ovn_idl_retry(c) for c in (OvsdbNbOvnIdl, OvsdbSbOvnIdl))"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"class OvsdbNbOvnIdl(nb_impl_idl.OvnNbApiIdlImpl, Backend):"},{"line_number":235,"context_line":"    def __init__(self, connection):"},{"line_number":236,"context_line":"        super(OvsdbNbOvnIdl, self).__init__(connection)"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bee560c2_a5bf57de","line":234,"range":{"start_line":234,"start_character":20,"end_line":234,"end_character":56},"in_reply_to":"8c546f76_0329f0de","updated":"2023-05-17 16:37:16.000000000","message":"Then I will just overwrite the db_set on both nb and sb. Will update a patch soon, thanks!","commit_id":"44b6a92bf2b9cf3de79a3e66c1c7ce1368e3fec5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1e32f61c0421055b39d0906f907cc787caccdea1","unresolved":false,"context_lines":[{"line_number":231,"context_line":"    return tuple(get_ovn_idl_retry(c) for c in (OvsdbNbOvnIdl, OvsdbSbOvnIdl))"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"class OvsdbNbOvnIdl(nb_impl_idl.OvnNbApiIdlImpl, Backend):"},{"line_number":235,"context_line":"    def __init__(self, connection):"},{"line_number":236,"context_line":"        super(OvsdbNbOvnIdl, self).__init__(connection)"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"8c546f76_0329f0de","line":234,"range":{"start_line":234,"start_character":20,"end_line":234,"end_character":56},"in_reply_to":"b5979f0a_9677bcf4","updated":"2023-05-17 15:02:08.000000000","message":"This is breaking the IDL classes.","commit_id":"44b6a92bf2b9cf3de79a3e66c1c7ce1368e3fec5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e59cce753585ab3bfc48297b291dc76491f43426","unresolved":true,"context_lines":[{"line_number":831,"context_line":""},{"line_number":832,"context_line":"    def update_lb_external_ids(self, lb_name, values, if_exists\u003dTrue):"},{"line_number":833,"context_line":"        return cmd.UpdateLbExternalIds(self, lb_name, values, if_exists)"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    def db_set(self, table, record, *col_values, if_exists\u003dTrue, **columns):"},{"line_number":836,"context_line":"        return cmd.DbSetCommand(self, table, record, *col_values,"},{"line_number":837,"context_line":"                                if_exists\u003dif_exists, **columns)"},{"line_number":838,"context_line":""},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"class OvsdbSbOvnIdl(sb_impl_idl.OvnSbApiIdlImpl, Backend):"}],"source_content_type":"text/x-python","patch_set":4,"id":"e6c95cc9_0d643612","line":837,"range":{"start_line":834,"start_character":0,"end_line":837,"end_character":63},"updated":"2023-05-17 12:30:12.000000000","message":"(cont...) Changing the order we won\u0027t need to redefine it here","commit_id":"44b6a92bf2b9cf3de79a3e66c1c7ce1368e3fec5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7943a8ff8961308fb7541b928b6e39bd5278bcbb","unresolved":false,"context_lines":[{"line_number":831,"context_line":""},{"line_number":832,"context_line":"    def update_lb_external_ids(self, lb_name, values, if_exists\u003dTrue):"},{"line_number":833,"context_line":"        return cmd.UpdateLbExternalIds(self, lb_name, values, if_exists)"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    def db_set(self, table, record, *col_values, if_exists\u003dTrue, **columns):"},{"line_number":836,"context_line":"        return cmd.DbSetCommand(self, table, record, *col_values,"},{"line_number":837,"context_line":"                                if_exists\u003dif_exists, **columns)"},{"line_number":838,"context_line":""},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"class OvsdbSbOvnIdl(sb_impl_idl.OvnSbApiIdlImpl, Backend):"}],"source_content_type":"text/x-python","patch_set":4,"id":"250f7acb_59f4aaa5","line":837,"range":{"start_line":834,"start_character":0,"end_line":837,"end_character":63},"in_reply_to":"e6c95cc9_0d643612","updated":"2023-05-18 08:09:31.000000000","message":"Done","commit_id":"44b6a92bf2b9cf3de79a3e66c1c7ce1368e3fec5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e59cce753585ab3bfc48297b291dc76491f43426","unresolved":true,"context_lines":[{"line_number":837,"context_line":"                                if_exists\u003dif_exists, **columns)"},{"line_number":838,"context_line":""},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"class OvsdbSbOvnIdl(sb_impl_idl.OvnSbApiIdlImpl, Backend):"},{"line_number":841,"context_line":"    def __init__(self, connection):"},{"line_number":842,"context_line":"        super(OvsdbSbOvnIdl, self).__init__(connection)"},{"line_number":843,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"807d135d_8c766209","line":840,"range":{"start_line":840,"start_character":20,"end_line":840,"end_character":57},"updated":"2023-05-17 12:30:12.000000000","message":"Same","commit_id":"44b6a92bf2b9cf3de79a3e66c1c7ce1368e3fec5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7943a8ff8961308fb7541b928b6e39bd5278bcbb","unresolved":false,"context_lines":[{"line_number":837,"context_line":"                                if_exists\u003dif_exists, **columns)"},{"line_number":838,"context_line":""},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"class OvsdbSbOvnIdl(sb_impl_idl.OvnSbApiIdlImpl, Backend):"},{"line_number":841,"context_line":"    def __init__(self, connection):"},{"line_number":842,"context_line":"        super(OvsdbSbOvnIdl, self).__init__(connection)"},{"line_number":843,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"08cddb46_da1c8c10","line":840,"range":{"start_line":840,"start_character":20,"end_line":840,"end_character":57},"in_reply_to":"807d135d_8c766209","updated":"2023-05-18 08:09:31.000000000","message":"Done","commit_id":"44b6a92bf2b9cf3de79a3e66c1c7ce1368e3fec5"}]}
