)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"559046121855fbe9956a07eb8eef7b582b56a81b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit removes the @safe_connect decorator from"},{"line_number":10,"context_line":"SchedulerReportClient._delete_provider and makes its callers deal with"},{"line_number":11,"context_line":"resulting keystoneauth1.exceptions.ClientExceptionZ sanely:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"- ServiceController.delete (via delete_resource_provider) logs an error"},{"line_number":14,"context_line":"  and continues (backward compatible behavior, best effort to delete"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5faad753_c81a3916","line":11,"updated":"2019-09-06 20:11:54.000000000","message":"I could not get the point of this removal.\nsafe_connect wrapper seems to output enough log for each exception for me, is that not good for digging issues if they happen?","commit_id":"9981d06b4cd0e7af9cc819e0556b507ea34171c3"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"70f121cadc5db6f1eff529442a5471ce853f33b1","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit removes the @safe_connect decorator from"},{"line_number":10,"context_line":"SchedulerReportClient._delete_provider and makes its callers deal with"},{"line_number":11,"context_line":"resulting keystoneauth1.exceptions.ClientExceptionZ sanely:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"- ServiceController.delete (via delete_resource_provider) logs an error"},{"line_number":14,"context_line":"  and continues (backward compatible behavior, best effort to delete"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5faad753_087611da","line":11,"in_reply_to":"5faad753_68af8594","updated":"2019-09-06 20:40:23.000000000","message":"Thank you for pointing these patches out.\nI just missed these patches previously, sorry about that.\nI see the point, now LGTM.","commit_id":"9981d06b4cd0e7af9cc819e0556b507ea34171c3"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"1e311cac57333585c8c0947e7859f9c174cd2c99","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit removes the @safe_connect decorator from"},{"line_number":10,"context_line":"SchedulerReportClient._delete_provider and makes its callers deal with"},{"line_number":11,"context_line":"resulting keystoneauth1.exceptions.ClientExceptionZ sanely:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"- ServiceController.delete (via delete_resource_provider) logs an error"},{"line_number":14,"context_line":"  and continues (backward compatible behavior, best effort to delete"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5faad753_68af8594","line":11,"in_reply_to":"5faad753_c81a3916","updated":"2019-09-06 20:19:11.000000000","message":"Sorry, without the background of other similar changes (e.g. [1],[2]) I can see how this is confusing.\n\nWith @safe_connect, some ksa-level exceptions will make the method simply return None, which in some cases makes the caller carry on as if nothing is wrong. This forces the methods to instead raise the exceptions, which can be handled properly by the callers.\n\n[1] https://review.opendev.org/#/c/613613/\n[2] https://review.opendev.org/#/c/668062/","commit_id":"9981d06b4cd0e7af9cc819e0556b507ea34171c3"}],"nova/scheduler/client/report.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"90054c9d6302c5b7b8caa1af5caf9afc76de3938","unresolved":false,"context_lines":[{"line_number":403,"context_line":"        :return: The name of the RP"},{"line_number":404,"context_line":"        :raise: ResourceProviderRetrievalFailed if the RP is not in the cache"},{"line_number":405,"context_line":"            and the communication with the placement is failed."},{"line_number":406,"context_line":"        :raise: ResourceProviderNotFound if the RP does not exist."},{"line_number":407,"context_line":"        \"\"\""},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_ed2964e5","line":406,"updated":"2019-07-19 21:42:35.000000000","message":"unrelated typo fix. forgive me?","commit_id":"9981d06b4cd0e7af9cc819e0556b507ea34171c3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"505595d6ca2135cc8d83cf7c6705db233263e291","unresolved":false,"context_lines":[{"line_number":403,"context_line":"        :return: The name of the RP"},{"line_number":404,"context_line":"        :raise: ResourceProviderRetrievalFailed if the RP is not in the cache"},{"line_number":405,"context_line":"            and the communication with the placement is failed."},{"line_number":406,"context_line":"        :raise: ResourceProviderNotFound if the RP does not exist."},{"line_number":407,"context_line":"        \"\"\""},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_0e522f3c","line":406,"in_reply_to":"7faddb67_ed2964e5","updated":"2019-10-09 16:17:07.000000000","message":"never.","commit_id":"9981d06b4cd0e7af9cc819e0556b507ea34171c3"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"90054c9d6302c5b7b8caa1af5caf9afc76de3938","unresolved":false,"context_lines":[{"line_number":2010,"context_line":"        if allocations[\u0027allocations\u0027] \u003d\u003d {}:"},{"line_number":2011,"context_line":"            # the consumer did not exist in the first place"},{"line_number":2012,"context_line":"            LOG.debug(\u0027Cannot delete allocation for %s consumer in placement \u0027"},{"line_number":2013,"context_line":"                      \u0027as consumer does not exist\u0027, uuid)"},{"line_number":2014,"context_line":"            return False"},{"line_number":2015,"context_line":""},{"line_number":2016,"context_line":"        # removing all resources from the allocation will auto delete the"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_0d25e008","line":2013,"updated":"2019-07-19 21:42:35.000000000","message":"ditto","commit_id":"9981d06b4cd0e7af9cc819e0556b507ea34171c3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"505595d6ca2135cc8d83cf7c6705db233263e291","unresolved":false,"context_lines":[{"line_number":2010,"context_line":"        if allocations[\u0027allocations\u0027] \u003d\u003d {}:"},{"line_number":2011,"context_line":"            # the consumer did not exist in the first place"},{"line_number":2012,"context_line":"            LOG.debug(\u0027Cannot delete allocation for %s consumer in placement \u0027"},{"line_number":2013,"context_line":"                      \u0027as consumer does not exist\u0027, uuid)"},{"line_number":2014,"context_line":"            return False"},{"line_number":2015,"context_line":""},{"line_number":2016,"context_line":"        # removing all resources from the allocation will auto delete the"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_ce473777","line":2013,"in_reply_to":"7faddb67_0d25e008","updated":"2019-10-09 16:17:07.000000000","message":"burn in hell.","commit_id":"9981d06b4cd0e7af9cc819e0556b507ea34171c3"}]}
