)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"5774e0b59055470eeb7b364f6d0a9032b73494b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c259fce0_4f89ac47","updated":"2023-10-19 07:20:42.000000000","message":"Thanks for your contribution. Welcome!\nI receive the email, will review this.","commit_id":"555218329c1bba4fc9c70bffd0fc4f1949f66c45"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"7d5405b94ed225ca143516138db8318d3998a93c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"52524445_db4a3b2c","updated":"2023-10-20 09:07:49.000000000","message":"Agree your reply.","commit_id":"9b1068345ce38d50c41112b1a50de989f558df1d"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"dafab97b938f84cd2521ee86eda8e1f415cf35a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"10deb88f_2e3fb5bc","updated":"2023-10-19 14:15:11.000000000","message":"I see some unrelated test failures: https://paste.opendev.org/raw/bjQ1uIdbDMnmA1UEhxLL/\n\nThere\u0027s something wrong with the schema validation performed here: https://github.com/openstack/watcher/blob/9f0eca2343f80b338c33b74b6a7eb125eccd0668/watcher/api/controllers/v1/audit_template.py#L145-L147\n\n2 weeks ago, the jsonschema upper constraint has been bumped: https://github.com/openstack/requirements/commit/ab0dcbdda28753cca86e162b9ae2fcb1aa99d001. The test passes after switching to an older jsonschema version. I\u0027m not sure yet if this is a jsonschema bug or just a change that needs to be picked up in Watcher.","commit_id":"9b1068345ce38d50c41112b1a50de989f558df1d"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0c65422ec06f97d34ad429f4394a76db7e3e91c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e2972b47_7e6726e9","updated":"2023-10-20 09:24:45.000000000","message":"Thanks for reviewing the patch!\n\nAbout the CI failures, I see that the breaking jsonschema changes were introduced in 4.18.0a1: https://github.com/python-jsonschema/jsonschema/releases/tag/v4.18.0a1\n\n4.17.3 worked as expected. I\u0027m trying to figure out why we\u0027re getting these errors with recent jsonschema versions:\n\nhttps://paste.openstack.org/raw/bNgxqulBwBLYB7tNhrU4/\nhttps://paste.opendev.org/raw/bjQ1uIdbDMnmA1UEhxLL/","commit_id":"9b1068345ce38d50c41112b1a50de989f558df1d"}],"watcher/decision_engine/datasources/base.py":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"7133d1f99bcd283b8542fc5abb3a444bc6d1e2c5","unresolved":true,"context_lines":[{"line_number":84,"context_line":"        for i in range(num_retries):"},{"line_number":85,"context_line":"            try:"},{"line_number":86,"context_line":"                return f(*args, **kwargs)"},{"line_number":87,"context_line":"            except ignored_exc as e:"},{"line_number":88,"context_line":"                LOG.debug(\"Got an ignored exception (%s) while calling: %s \","},{"line_number":89,"context_line":"                          e, f)"},{"line_number":90,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":2,"id":"6412e5ba_d6b4476e","line":87,"range":{"start_line":87,"start_character":19,"end_line":87,"end_character":31},"updated":"2023-10-20 07:06:46.000000000","message":"If this valus is tuple, it does not meet your expected?","commit_id":"9b1068345ce38d50c41112b1a50de989f558df1d"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"5e6fe1d7f5e1572de14b1ca633c2f757f4666a81","unresolved":true,"context_lines":[{"line_number":84,"context_line":"        for i in range(num_retries):"},{"line_number":85,"context_line":"            try:"},{"line_number":86,"context_line":"                return f(*args, **kwargs)"},{"line_number":87,"context_line":"            except ignored_exc as e:"},{"line_number":88,"context_line":"                LOG.debug(\"Got an ignored exception (%s) while calling: %s \","},{"line_number":89,"context_line":"                          e, f)"},{"line_number":90,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":2,"id":"f6c93798_de97cbc5","line":87,"range":{"start_line":87,"start_character":19,"end_line":87,"end_character":31},"in_reply_to":"6412e5ba_d6b4476e","updated":"2023-10-20 07:58:08.000000000","message":"If \"ignored_exc\" is a tuple, we\u0027ll catch any of the specified exceptions. \"None\" will be converted to an empty tuple.\n\nThe idea is to return immediately instead of entering a retry loop whenever we get one of the ignored exceptions.\n\nSample:\n\n```\nignored_exc \u003d (KeyError, AttributeError)\ntry:\n    raise AttributeError(\"expected exc\")\nexcept ignored_exc as ex:\n    print(\"got ignored exc: %s\" % ex)\n\ntry:\n    raise IOError(\"unexpected exc\")\nexcept tuple():\n    print(\"got ignored exc\")\n```\n\nI guess I should add some unit tests.","commit_id":"9b1068345ce38d50c41112b1a50de989f558df1d"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"7d5405b94ed225ca143516138db8318d3998a93c","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        for i in range(num_retries):"},{"line_number":85,"context_line":"            try:"},{"line_number":86,"context_line":"                return f(*args, **kwargs)"},{"line_number":87,"context_line":"            except ignored_exc as e:"},{"line_number":88,"context_line":"                LOG.debug(\"Got an ignored exception (%s) while calling: %s \","},{"line_number":89,"context_line":"                          e, f)"},{"line_number":90,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":2,"id":"6c48d6fc_095fed75","line":87,"range":{"start_line":87,"start_character":19,"end_line":87,"end_character":31},"in_reply_to":"f6c93798_de97cbc5","updated":"2023-10-20 09:07:49.000000000","message":"Done","commit_id":"9b1068345ce38d50c41112b1a50de989f558df1d"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"7133d1f99bcd283b8542fc5abb3a444bc6d1e2c5","unresolved":true,"context_lines":[{"line_number":85,"context_line":"            try:"},{"line_number":86,"context_line":"                return f(*args, **kwargs)"},{"line_number":87,"context_line":"            except ignored_exc as e:"},{"line_number":88,"context_line":"                LOG.debug(\"Got an ignored exception (%s) while calling: %s \","},{"line_number":89,"context_line":"                          e, f)"},{"line_number":90,"context_line":"                return"},{"line_number":91,"context_line":"            except Exception as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7e8b7d3e_4cf03c65","line":88,"range":{"start_line":88,"start_character":20,"end_line":88,"end_character":25},"updated":"2023-10-20 07:06:46.000000000","message":"warning maybe better","commit_id":"9b1068345ce38d50c41112b1a50de989f558df1d"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"7d5405b94ed225ca143516138db8318d3998a93c","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            try:"},{"line_number":86,"context_line":"                return f(*args, **kwargs)"},{"line_number":87,"context_line":"            except ignored_exc as e:"},{"line_number":88,"context_line":"                LOG.debug(\"Got an ignored exception (%s) while calling: %s \","},{"line_number":89,"context_line":"                          e, f)"},{"line_number":90,"context_line":"                return"},{"line_number":91,"context_line":"            except Exception as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f3fec19_46e66466","line":88,"range":{"start_line":88,"start_character":20,"end_line":88,"end_character":25},"in_reply_to":"0ba71309_7500b54f","updated":"2023-10-20 09:07:49.000000000","message":"Done","commit_id":"9b1068345ce38d50c41112b1a50de989f558df1d"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"5e6fe1d7f5e1572de14b1ca633c2f757f4666a81","unresolved":true,"context_lines":[{"line_number":85,"context_line":"            try:"},{"line_number":86,"context_line":"                return f(*args, **kwargs)"},{"line_number":87,"context_line":"            except ignored_exc as e:"},{"line_number":88,"context_line":"                LOG.debug(\"Got an ignored exception (%s) while calling: %s \","},{"line_number":89,"context_line":"                          e, f)"},{"line_number":90,"context_line":"                return"},{"line_number":91,"context_line":"            except Exception as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"0ba71309_7500b54f","line":88,"range":{"start_line":88,"start_character":20,"end_line":88,"end_character":25},"in_reply_to":"7e8b7d3e_4cf03c65","updated":"2023-10-20 07:58:08.000000000","message":"We could, although we\u0027d get an excessive amount of warnings. Let\u0027s say there are 50 stopped instances, we\u0027d get about 150 warnings.","commit_id":"9b1068345ce38d50c41112b1a50de989f558df1d"}]}
