)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"c91ef8e64cd82ee8db0c698d6d39887687ea307a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"be9f9a7d_6af34f6e","updated":"2023-07-03 07:20:04.000000000","message":"Thanks Bence, anychance you add tests to ensure all the different behaviors? like if there is an exception different than dbConnectionError raised.","commit_id":"1302f254f1f7e43745c9ac4b946cce3ddeec8b45"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"52a223f374c46231ecedacd145fed0088c49ac36","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f147e037_e514c890","updated":"2023-06-30 07:39:59.000000000","message":"recheck\nI am not sure if linuxbridge job failure is related or not, by logs all the agents were down.","commit_id":"1302f254f1f7e43745c9ac4b946cce3ddeec8b45"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"77c2e1b1d7380f257402005dcad9eaac5f944ebb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"068ecf11_8e52fff0","updated":"2023-07-09 19:15:49.000000000","message":"Thank you Bence, Don\u0027t you want to add some unit tests to assert the behavior in test_ovs_neutron_agent.py?","commit_id":"031cb35bef5e414abafc5c97f088ae40897fc688"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3bdd4856ee5d0253988dc032df9357acb450b21d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"35dab972_c253073c","updated":"2023-07-06 12:11:27.000000000","message":"Thanks,","commit_id":"031cb35bef5e414abafc5c97f088ae40897fc688"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"40cc0e4b8ec50509cee43103c4912303f47aed2f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7d11c61b_a7889924","updated":"2023-07-10 12:09:42.000000000","message":"++","commit_id":"54f4d99e892cae36221f004150c227cfe5787b58"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"b7475ba62c33be9a9debe1adcec273282998e071","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e0d4615a_2dbe773d","updated":"2023-07-11 07:29:09.000000000","message":"recheck unrelated rally timeout","commit_id":"54f4d99e892cae36221f004150c227cfe5787b58"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"b34ce88e031b281d520d91d3ebd9649efa418d8b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"804ee13d_f0fa0fad","updated":"2023-07-11 14:06:19.000000000","message":"recheck unrelated timeout in neutron-fullstack-with-uwsgi TestSecurityGroupsSameNetwork","commit_id":"54f4d99e892cae36221f004150c227cfe5787b58"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"012caa13bc8109e5f4393ef2773163652d20db19","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"36f9d41a_8a1d945c","updated":"2023-07-26 10:45:40.000000000","message":"recheck\nneutron-fullstack-with-uwsgi timeout","commit_id":"6c513217c225e7eede998e588183a046b0cb03ec"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"9dea5dbcada2313e47f07052cf248a610c7825ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ce3448f9_d9c271bb","updated":"2023-08-08 12:05:40.000000000","message":"recheck cinder EndpointNotFound errors should be fixed by https://review.opendev.org/c/openstack/tempest/+/890448","commit_id":"6c513217c225e7eede998e588183a046b0cb03ec"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"1979726132db57e705bebd9ba690efd8a65ae50d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"99188ff1_a5549fbb","updated":"2023-08-10 09:33:54.000000000","message":"recheck neutron-fullstack-with-uwsgi timeout","commit_id":"6c513217c225e7eede998e588183a046b0cb03ec"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c666dac9d4a5003c1d081b7d56e327c3fd8f0902","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"475532bc_74f3f2e9","updated":"2023-08-07 02:47:20.000000000","message":"recheck tempest fix merged","commit_id":"6c513217c225e7eede998e588183a046b0cb03ec"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"551c60321a8e04ff06c056295c95dfaf1961f62c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5973ab2b_c2fef32e","updated":"2023-08-07 08:03:14.000000000","message":"recheck unrelated one-off unshelve failure","commit_id":"6c513217c225e7eede998e588183a046b0cb03ec"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"7a7f20eece48d06fb91fc4759e3fb5dfd5667a9a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4659991c_27c76619","updated":"2023-07-26 06:55:18.000000000","message":"recheck unrelated timeout: ssh and in test_security_groups_create_list_delete","commit_id":"6c513217c225e7eede998e588183a046b0cb03ec"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"468951de6fb242a585d418cd9c5b207d28e82a97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3a85dbdc_4755452a","updated":"2023-08-04 11:59:44.000000000","message":"recheck unrelated timeouts and missing endpoints","commit_id":"6c513217c225e7eede998e588183a046b0cb03ec"}],"neutron/db/agents_db.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8d69de5c8be6060cb17fd49d627f4a24fb035f7c","unresolved":true,"context_lines":[{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    def has_alive_neutron_server(self, context, **kwargs):"},{"line_number":493,"context_line":"        try:"},{"line_number":494,"context_line":"            context.session.execute(\u0027SELECT 1\u0027)"},{"line_number":495,"context_line":"            return True"},{"line_number":496,"context_line":"        except db_exc.DBConnectionError:"},{"line_number":497,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"41219795_113636b1","line":494,"updated":"2023-07-02 00:37:49.000000000","message":"Seems sane enough to override this method, I\u0027d just be curious what \u0027SELECT 1\u0027 returns since google seems to think it would return \u00271\u0027 * rows? If it does can just do \u0027SELECT @@version\u0027.","commit_id":"1302f254f1f7e43745c9ac4b946cce3ddeec8b45"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"e8cb352cfc7621ef2df8dcc2f5331f1d3de40a5d","unresolved":false,"context_lines":[{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    def has_alive_neutron_server(self, context, **kwargs):"},{"line_number":493,"context_line":"        try:"},{"line_number":494,"context_line":"            context.session.execute(\u0027SELECT 1\u0027)"},{"line_number":495,"context_line":"            return True"},{"line_number":496,"context_line":"        except db_exc.DBConnectionError:"},{"line_number":497,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"04a6765f_18dfec22","line":494,"in_reply_to":"0a46e9e4_84c17186","updated":"2023-07-04 11:06:16.000000000","message":"\u003e I\u0027d just be curious what \u0027SELECT 1\u0027 returns since google seems to think it would return \u00271\u0027 * rows.\n\n\u0027SELECT 1 FROM table\u0027 returns 1 for each row. But \u0027SELECT 1\u0027 without a table just returns a single 1.\n\n\u003e I\u0027m wondering what will happen if there in other exception than db_exc.DBConnectionError raised?\n\nThe exception was propagated and re-raised in the agent, so the agent died. Now we catch and log all exceptions in the server.","commit_id":"1302f254f1f7e43745c9ac4b946cce3ddeec8b45"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"c91ef8e64cd82ee8db0c698d6d39887687ea307a","unresolved":true,"context_lines":[{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    def has_alive_neutron_server(self, context, **kwargs):"},{"line_number":493,"context_line":"        try:"},{"line_number":494,"context_line":"            context.session.execute(\u0027SELECT 1\u0027)"},{"line_number":495,"context_line":"            return True"},{"line_number":496,"context_line":"        except db_exc.DBConnectionError:"},{"line_number":497,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"94eae2df_df8c00ec","line":494,"in_reply_to":"41219795_113636b1","updated":"2023-07-03 07:20:04.000000000","message":"SELECT 1 looks reasonable, it\u0027s something we usually use, I this it\u0027s used by other openstack services like keystone.\n\nI\u0027m wondering what will happen if there in other exception than db_exc.DBConnectionError raised?","commit_id":"1302f254f1f7e43745c9ac4b946cce3ddeec8b45"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"65ddac77ae4106ab9d40de33948eabde4e32de7f","unresolved":true,"context_lines":[{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    def has_alive_neutron_server(self, context, **kwargs):"},{"line_number":493,"context_line":"        try:"},{"line_number":494,"context_line":"            context.session.execute(\u0027SELECT 1\u0027)"},{"line_number":495,"context_line":"            return True"},{"line_number":496,"context_line":"        except db_exc.DBConnectionError:"},{"line_number":497,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"0a46e9e4_84c17186","line":494,"in_reply_to":"94eae2df_df8c00ec","updated":"2023-07-03 13:30:15.000000000","message":"This method was created just to return always True. The goal was to test the RPC communication between the agent and the server, not the server DB connectivity.\n\nIf we change the rationale of this method:\n1) Please document it in the method description (now empty)\n2) Add a reno\n3) Change the API version history, both in server and agent. I would also suggest to create a new method.\n4) This DB call should be inside a READER context.","commit_id":"1302f254f1f7e43745c9ac4b946cce3ddeec8b45"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"731fb9e4e416a7924e97ae4a689bc15e2bce344b","unresolved":true,"context_lines":[{"line_number":500,"context_line":"        both MQ and DB connectivity can be checked from the agent."},{"line_number":501,"context_line":"        \"\"\""},{"line_number":502,"context_line":"        try:"},{"line_number":503,"context_line":"            context.session.execute(\u0027SELECT 1\u0027)"},{"line_number":504,"context_line":"            return True"},{"line_number":505,"context_line":"        except db_exc.DBConnectionError:"},{"line_number":506,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":3,"id":"a78fa15d_750a5c34","line":503,"range":{"start_line":503,"start_character":12,"end_line":503,"end_character":47},"updated":"2023-07-19 15:38:44.000000000","message":"1) I think you need to end this command with \";\"\n2) Please add a UT with in a SqlTestCase class executing this query. We don\u0027t want to have problems with newer versions of sqlalchemy.","commit_id":"54f4d99e892cae36221f004150c227cfe5787b58"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"02cbbc6969ed8fd6d47b0939309f6019fa45a9ba","unresolved":false,"context_lines":[{"line_number":500,"context_line":"        both MQ and DB connectivity can be checked from the agent."},{"line_number":501,"context_line":"        \"\"\""},{"line_number":502,"context_line":"        try:"},{"line_number":503,"context_line":"            context.session.execute(\u0027SELECT 1\u0027)"},{"line_number":504,"context_line":"            return True"},{"line_number":505,"context_line":"        except db_exc.DBConnectionError:"},{"line_number":506,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":3,"id":"a9ccd39a_60ff4012","line":503,"range":{"start_line":503,"start_character":12,"end_line":503,"end_character":47},"in_reply_to":"a78fa15d_750a5c34","updated":"2023-07-25 10:11:17.000000000","message":"Done","commit_id":"54f4d99e892cae36221f004150c227cfe5787b58"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a2923ba1001af3f0e37dc0fc66a69fc139ad1cc5","unresolved":true,"context_lines":[{"line_number":505,"context_line":"        except db_exc.DBConnectionError:"},{"line_number":506,"context_line":"            return False"},{"line_number":507,"context_line":"        except Exception:"},{"line_number":508,"context_line":"            LOG.exception(\u0027Unexpected exception\u0027)"},{"line_number":509,"context_line":"            return False"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"    @db_api.retry_if_session_inactive()"}],"source_content_type":"text/x-python","patch_set":4,"id":"12fc4482_d1bac3d5","line":508,"updated":"2023-08-01 18:01:29.000000000","message":"You could print out the message, and make the pylint gods happier :) \n\nexcept Exception as e:\n    LOG.exception(\u0027Unexpected database exception: %s\u0027, e)","commit_id":"6c513217c225e7eede998e588183a046b0cb03ec"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"d80528848d174ad141ff2ee8d57b56b354646b1a","unresolved":true,"context_lines":[{"line_number":505,"context_line":"        except db_exc.DBConnectionError:"},{"line_number":506,"context_line":"            return False"},{"line_number":507,"context_line":"        except Exception:"},{"line_number":508,"context_line":"            LOG.exception(\u0027Unexpected exception\u0027)"},{"line_number":509,"context_line":"            return False"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"    @db_api.retry_if_session_inactive()"}],"source_content_type":"text/x-python","patch_set":4,"id":"13bf2171_c77ba994","line":508,"in_reply_to":"12fc4482_d1bac3d5","updated":"2023-08-03 11:25:33.000000000","message":"The message is already printed by LOG.exception():\n\n $ cat test.py\n from oslo_config import cfg\n from oslo_log import log as logging\n \n LOG \u003d logging.getLogger(__name__)\n CONF \u003d cfg.CONF\n DOMAIN \u003d \u0027demo\u0027\n \n \n def prepare():\n     logging.register_options(CONF)\n     logging.setup(CONF, DOMAIN)\n \n if __name__ \u003d\u003d \u0027__main__\u0027:\n     prepare()\n     try:\n         raise Exception(\"This is exceptional\")\n     except Exception:\n         LOG.exception(\"An Exception occurred\")\n\n $ python3 test.py \n 2023-08-03 11:21:27.268 885038 ERROR __main__ [-] An Exception occurred: Exception: This is exceptional\n 2023-08-03 11:21:27.268 885038 ERROR __main__ Traceback (most recent call last):\n 2023-08-03 11:21:27.268 885038 ERROR __main__   File \"/home/rubasov/test.py\", line 16, in \u003cmodule\u003e\n 2023-08-03 11:21:27.268 885038 ERROR __main__     raise Exception(\"This is exceptional\")\n 2023-08-03 11:21:27.268 885038 ERROR __main__ Exception: This is exceptional\n 2023-08-03 11:21:27.268 885038 ERROR __main__","commit_id":"6c513217c225e7eede998e588183a046b0cb03ec"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"12cdb3d196dd776fd9f60343090fc64758ee1793","unresolved":true,"context_lines":[{"line_number":505,"context_line":"        except db_exc.DBConnectionError:"},{"line_number":506,"context_line":"            return False"},{"line_number":507,"context_line":"        except Exception:"},{"line_number":508,"context_line":"            LOG.exception(\u0027Unexpected exception\u0027)"},{"line_number":509,"context_line":"            return False"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"    @db_api.retry_if_session_inactive()"}],"source_content_type":"text/x-python","patch_set":4,"id":"55235d40_c66ba101","line":508,"in_reply_to":"13bf2171_c77ba994","updated":"2023-08-03 17:30:12.000000000","message":":)","commit_id":"6c513217c225e7eede998e588183a046b0cb03ec"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"c91ef8e64cd82ee8db0c698d6d39887687ea307a","unresolved":true,"context_lines":[{"line_number":556,"context_line":"                alive \u003d self.state_rpc.has_alive_neutron_server(self.context)"},{"line_number":557,"context_line":"                if not alive:"},{"line_number":558,"context_line":"                    LOG.warning("},{"line_number":559,"context_line":"                        \u0027neutron server cannot contact db. \u0027"},{"line_number":560,"context_line":"                        \u0027Check connectivity from neutron server to db. \u0027"},{"line_number":561,"context_line":"                        \u0027Retrying... \u0027)"},{"line_number":562,"context_line":"                    time.sleep(self.conf.AGENT.report_interval)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3e294127_b5f78ce5","line":559,"updated":"2023-07-03 07:20:04.000000000","message":"s/db/database as the message is for operator, we should try to be accurate.\n\nAlso I would have indicated something like \"neutron server cannot contact database or the database is to slow to respond\".","commit_id":"1302f254f1f7e43745c9ac4b946cce3ddeec8b45"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"e8cb352cfc7621ef2df8dcc2f5331f1d3de40a5d","unresolved":false,"context_lines":[{"line_number":556,"context_line":"                alive \u003d self.state_rpc.has_alive_neutron_server(self.context)"},{"line_number":557,"context_line":"                if not alive:"},{"line_number":558,"context_line":"                    LOG.warning("},{"line_number":559,"context_line":"                        \u0027neutron server cannot contact db. \u0027"},{"line_number":560,"context_line":"                        \u0027Check connectivity from neutron server to db. \u0027"},{"line_number":561,"context_line":"                        \u0027Retrying... \u0027)"},{"line_number":562,"context_line":"                    time.sleep(self.conf.AGENT.report_interval)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ed3f327e_acf07c89","line":559,"in_reply_to":"3e294127_b5f78ce5","updated":"2023-07-04 11:06:16.000000000","message":"Done","commit_id":"1302f254f1f7e43745c9ac4b946cce3ddeec8b45"}]}
