)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30314,"name":"Sebastian Lohff","email":"sebastian.lohff@sap.com","username":"seba"},"change_message_id":"c4bb6e489026a96826338332c29d5f6bc52c168a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b4db79e0_bd491c08","updated":"2024-07-03 11:45:04.000000000","message":"recheck dependency merged\n\nhttps://review.opendev.org/c/openstack/neutron-lib/+/919589 is now merged, so the tests should work now.","commit_id":"3ff1bc8011a73459e047d46349e775695d8b45f6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b5bb9dbb8cccd686113d4dd95eb37035ec012f94","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"42236a8b_129f7b84","in_reply_to":"0b1d4a50_ff81dba2","updated":"2024-07-03 14:16:09.000000000","message":"BTW, that will help only with the CI. This patch needs a new n-lib version and must be updated in the neutron/requirements.txt file.\n\nA new n-lib version will be proposed soon (openstack/releases project).","commit_id":"3ff1bc8011a73459e047d46349e775695d8b45f6"},{"author":{"_account_id":30314,"name":"Sebastian Lohff","email":"sebastian.lohff@sap.com","username":"seba"},"change_message_id":"5c131f46fbbff880ca57a95aa69a76e9cb2f2fc3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"73c43a31_ec72deb7","in_reply_to":"42236a8b_129f7b84","updated":"2024-07-03 15:06:36.000000000","message":"Thanks for the info, makes sense. So then we\u0027ll wait until the neutron-lib release and bump the requirements then. I added the Depends-On line anyway, I assume this is also best practice, right?","commit_id":"3ff1bc8011a73459e047d46349e775695d8b45f6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"96f77e7d8f6a8ca226bc1fb5b1e8ed37862e5a8d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0b1d4a50_ff81dba2","in_reply_to":"b4db79e0_bd491c08","updated":"2024-07-03 14:14:57.000000000","message":"The dependency could be merged but it needs:\n* To be released\n* The requirements/upper-constraints.txt file updated\n* The neutron/requirements.txt file updated\n\nIn order to check this patch with this n-lib one, you need to add this in the commit message:\nDepends-On: https://review.opendev.org/c/openstack/neutron-lib/+/919589","commit_id":"3ff1bc8011a73459e047d46349e775695d8b45f6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ebf3fba2a4155366e4edfec0dc5a564a31005171","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"eeaf11c5_1790d7e2","updated":"2024-07-04 05:58:08.000000000","message":"The neutron server is raising an exception: https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_d6b/919590/2/check/neutron-tempest-plugin-openvswitch/d6b8453/controller/logs/screen-q-svc.txt\n\nJul 03 15:30:56.539637 np0037878206 neutron-server[87328]: ERROR oslo_service.service   File \"/opt/stack/neutron/neutron/plugins/ml2/managers.py\", line 481, in start_driver_rpc_listeners\nJul 03 15:30:56.539637 np0037878206 neutron-server[87328]: ERROR oslo_service.service     servers.extend(driver.obj.start_rpc_listeners())\nJul 03 15:30:56.539637 np0037878206 neutron-server[87328]: ERROR oslo_service.service AttributeError: \u0027OpenvswitchMechanismDriver\u0027 object has no attribute \u0027start_rpc_listeners\u0027","commit_id":"469a98bd0e52be66ebe22a8850aa75d8606c0140"},{"author":{"_account_id":30314,"name":"Sebastian Lohff","email":"sebastian.lohff@sap.com","username":"seba"},"change_message_id":"60dec0cf839023ba90e1e532c7535c28a5209ef8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bf085f38_14be085b","in_reply_to":"eeaf11c5_1790d7e2","updated":"2024-07-04 10:22:35.000000000","message":"It looks to me as if the CI doesn\u0027t yet pick up the change in neuron-lib. There are a couple of places where drivers inherit from the neutron_lib MechanismDriver and don\u0027t have a start_rpc_listener() method. Is there something else we need to do for the CI to pick up the change?\n\nWould it make sense to check if the driver has a `start_rpc_listener()` method anyway? This would result in more compatibility for people doing funky stuff like writing their own drivers but not inheriting from MechanismDriver. What do you think?","commit_id":"469a98bd0e52be66ebe22a8850aa75d8606c0140"},{"author":{"_account_id":30314,"name":"Sebastian Lohff","email":"sebastian.lohff@sap.com","username":"seba"},"change_message_id":"ff4389687129d01e184c4c3ac6a1e30f62a17241","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1e886193_a9a90f41","updated":"2024-08-05 10:54:38.000000000","message":"recheck timeout","commit_id":"0b0838d2734dfe08edc0514de62347ab07c932f2"},{"author":{"_account_id":30314,"name":"Sebastian Lohff","email":"sebastian.lohff@sap.com","username":"seba"},"change_message_id":"065853f799f7508d9aa97c209db3d54ec7192d1a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6beb907a_8f8b967e","updated":"2024-08-02 13:28:37.000000000","message":"recheck unrelated timeout","commit_id":"0b0838d2734dfe08edc0514de62347ab07c932f2"},{"author":{"_account_id":30314,"name":"Sebastian Lohff","email":"sebastian.lohff@sap.com","username":"seba"},"change_message_id":"3a2c4cd8d82aa80bfabbb0cc15c860bb3e8ea235","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f1e4f3e6_0f349b66","updated":"2024-09-03 15:46:31.000000000","message":"I\u0027ll push a version with my proposed varname and then let\u0027s make a decision on it + the other comment.","commit_id":"6980eb0f42ed9efdc58a18a4a40874a31a80463e"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"4c5327565e3acfed235b133acb193f1b9edfee44","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"08ff7db6_700abcf7","updated":"2024-10-25 07:47:40.000000000","message":"thanks","commit_id":"6bb9535c452e14deefc50d563100418656a24f63"}],"neutron/plugins/ml2/managers.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb085f0f15e42ae2078da1d2973c95838cc82a5d","unresolved":true,"context_lines":[{"line_number":479,"context_line":"        servers \u003d []"},{"line_number":480,"context_line":"        for driver in self.ordered_mech_drivers:"},{"line_number":481,"context_line":"            servers.extend(driver.obj.start_rpc_listeners())"},{"line_number":482,"context_line":"        return servers"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"    def _call_on_drivers(self, method_name, context,"},{"line_number":485,"context_line":"                         continue_on_failure\u003dFalse, raise_db_retriable\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":4,"id":"10aa7a74_eebcf0b3","line":482,"range":{"start_line":482,"start_character":8,"end_line":482,"end_character":22},"updated":"2024-08-30 15:44:11.000000000","message":"We need to ensure that all servers passed here are oslo_messaging.rpc.server.RPCServer, to avoid introducing other type of servers.","commit_id":"6980eb0f42ed9efdc58a18a4a40874a31a80463e"},{"author":{"_account_id":30314,"name":"Sebastian Lohff","email":"sebastian.lohff@sap.com","username":"seba"},"change_message_id":"3a2c4cd8d82aa80bfabbb0cc15c860bb3e8ea235","unresolved":true,"context_lines":[{"line_number":479,"context_line":"        servers \u003d []"},{"line_number":480,"context_line":"        for driver in self.ordered_mech_drivers:"},{"line_number":481,"context_line":"            servers.extend(driver.obj.start_rpc_listeners())"},{"line_number":482,"context_line":"        return servers"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"    def _call_on_drivers(self, method_name, context,"},{"line_number":485,"context_line":"                         continue_on_failure\u003dFalse, raise_db_retriable\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7d48d33c_9a5edacc","line":482,"range":{"start_line":482,"start_character":8,"end_line":482,"end_character":22},"in_reply_to":"10aa7a74_eebcf0b3","updated":"2024-09-03 15:46:31.000000000","message":"The result of start_rpc_listeners() will be processed by neutron.service.RpcWorker and saved in _servers. Whenever this list is processed, RpcWorker checks for each item if it\u0027s an instance of oslo_messaging.rpc_server.MessageHandlingServer before calling methods on it.\n\nI would not add this restriction, as we don\u0027t have it in other start_rpc_listeners() methods and it could still be useful for somebody who wants to keep an object there for refcounting (i.e. ownership). Filtering out objects might be confusing to the user.\n\nIf you\u0027d still prefer it after my arguments, I can add an isinstance() check for each item returned by the driver and check for MessageHandlingServers (which RPCServer inherits from) or - if still preferred - also by RpcWorker.","commit_id":"6980eb0f42ed9efdc58a18a4a40874a31a80463e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4cb3aa3ed043fe8e18d864ea74a3f98796dd4bbd","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        servers \u003d []"},{"line_number":480,"context_line":"        for driver in self.ordered_mech_drivers:"},{"line_number":481,"context_line":"            servers.extend(driver.obj.start_rpc_listeners())"},{"line_number":482,"context_line":"        return servers"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"    def _call_on_drivers(self, method_name, context,"},{"line_number":485,"context_line":"                         continue_on_failure\u003dFalse, raise_db_retriable\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":4,"id":"b5de5175_aec711e3","line":482,"range":{"start_line":482,"start_character":8,"end_line":482,"end_character":22},"in_reply_to":"7d48d33c_9a5edacc","updated":"2024-09-05 08:18:12.000000000","message":"Not filtering but failing: we don\u0027t silently remove anything but fail with all the consequences. But you are right, the RpcWorker filters by worker class, so that could make it.","commit_id":"6980eb0f42ed9efdc58a18a4a40874a31a80463e"}],"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb085f0f15e42ae2078da1d2973c95838cc82a5d","unresolved":true,"context_lines":[{"line_number":446,"context_line":"                                  [agents_db.AgentExtRpcCallback()],"},{"line_number":447,"context_line":"                                  fanout\u003dFalse)"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"        plugin_servers \u003d self.mechanism_manager.start_driver_rpc_listeners()"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        return self.conn.consume_in_threads() + plugin_servers"},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"0953057b_7792e08e","line":449,"range":{"start_line":449,"start_character":8,"end_line":449,"end_character":22},"updated":"2024-08-30 15:44:11.000000000","message":"These are mechanism driver RPC listeners. So I would use the variable name \"mech_driver_servers\" instead.","commit_id":"6980eb0f42ed9efdc58a18a4a40874a31a80463e"},{"author":{"_account_id":30314,"name":"Sebastian Lohff","email":"sebastian.lohff@sap.com","username":"seba"},"change_message_id":"3a2c4cd8d82aa80bfabbb0cc15c860bb3e8ea235","unresolved":true,"context_lines":[{"line_number":446,"context_line":"                                  [agents_db.AgentExtRpcCallback()],"},{"line_number":447,"context_line":"                                  fanout\u003dFalse)"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"        plugin_servers \u003d self.mechanism_manager.start_driver_rpc_listeners()"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        return self.conn.consume_in_threads() + plugin_servers"},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"0d5dd807_2d3242e4","line":449,"range":{"start_line":449,"start_character":8,"end_line":449,"end_character":22},"in_reply_to":"0953057b_7792e08e","updated":"2024-09-03 15:46:31.000000000","message":"\"mech_driver_servers\" is a bit long and will exceed the line length of line 449. I can wrap it, but how would you feel about \"mech_driver_rpc\"? Or alternatively \"mech_driver_srv\"?","commit_id":"6980eb0f42ed9efdc58a18a4a40874a31a80463e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4cb3aa3ed043fe8e18d864ea74a3f98796dd4bbd","unresolved":false,"context_lines":[{"line_number":446,"context_line":"                                  [agents_db.AgentExtRpcCallback()],"},{"line_number":447,"context_line":"                                  fanout\u003dFalse)"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"        plugin_servers \u003d self.mechanism_manager.start_driver_rpc_listeners()"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        return self.conn.consume_in_threads() + plugin_servers"},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e1754473_af3fa1f1","line":449,"range":{"start_line":449,"start_character":8,"end_line":449,"end_character":22},"in_reply_to":"0d5dd807_2d3242e4","updated":"2024-09-05 08:18:12.000000000","message":"Done","commit_id":"6980eb0f42ed9efdc58a18a4a40874a31a80463e"}]}
