)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"1ba66765bf5d87d64155eecf47651019a68b8e67","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4922beb0_a54a7eb1","updated":"2022-01-29 06:29:42.000000000","message":"this is a good catch, anyone has time to rely on?","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"},{"author":{"_account_id":31827,"name":"Jorhson Deng","email":"jorhson_deng@163.com","username":"dengzhaosen"},"change_message_id":"8946bb9afaa649492796cc51a24a40bd4f36171e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c386416a_0067438f","in_reply_to":"4922beb0_a54a7eb1","updated":"2022-01-29 07:08:13.000000000","message":"I can do that based on this patch","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"3bbc775958e92e900a664d5845eeb94a87cd1915","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8fb0aa30_9c6f5fb9","in_reply_to":"c386416a_0067438f","updated":"2022-01-29 07:27:55.000000000","message":"cool, remember to attach co-author for the comment msg:\nCo-Authored-By: Jorhson Deng \u003cdengzhaosen@inspur.com\u003e","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"}],"cyborg/common/glance_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6eef8d37581ffec43e8771d470d0d65b00ce4459","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def _get_sdk_connection(context):"},{"line_number":46,"context_line":"    sess, auth \u003d _session_and_auth(context)"},{"line_number":47,"context_line":"    session.auth \u003d auth"},{"line_number":48,"context_line":"    return utils.get_sdk_connection("},{"line_number":49,"context_line":"        cyborg.conf.glance.DEFAULT_SERVICE_TYPE,"},{"line_number":50,"context_line":"        session\u003dsession,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_ce43a712","line":47,"updated":"2020-06-20 16:17:40.000000000","message":"pep8: F821 undefined name \u0027session\u0027","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6eef8d37581ffec43e8771d470d0d65b00ce4459","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    session.auth \u003d auth"},{"line_number":48,"context_line":"    return utils.get_sdk_connection("},{"line_number":49,"context_line":"        cyborg.conf.glance.DEFAULT_SERVICE_TYPE,"},{"line_number":50,"context_line":"        session\u003dsession,"},{"line_number":51,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_2e4ce340","line":50,"updated":"2020-06-20 16:17:40.000000000","message":"pep8: F821 undefined name \u0027session\u0027","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"}],"cyborg/common/utils.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"465e36d028245cd5d00c56ee95886e8aa5030b80","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    \"\"\"Construct an SDK Connection from config."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    We expect to find a conf group whose name corresponds to the service_type\u0027s"},{"line_number":139,"context_line":"    project according to the service-types-authority.  That conf group must"},{"line_number":140,"context_line":"    provide ksa auth, session, and adapter options."},{"line_number":141,"context_line":"    :param service_type: String name of the service type for which the Adapter"},{"line_number":142,"context_line":"                         is to be constructed."}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_9d369850","line":139,"range":{"start_line":139,"start_character":54,"end_line":139,"end_character":55},"updated":"2020-06-28 03:43:10.000000000","message":"nit: white space.","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"465e36d028245cd5d00c56ee95886e8aa5030b80","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    :param service_type: String name of the service type for which the Adapter"},{"line_number":142,"context_line":"                         is to be constructed."},{"line_number":143,"context_line":"    :param check_service: If True, we will query the endpoint to make sure the"},{"line_number":144,"context_line":"            service is alive, raising ServiceUnavailable if it is not."},{"line_number":145,"context_line":"    :return: An openstack.proxy.Proxy object for the specified service_type."},{"line_number":146,"context_line":"    :raise: ConfGroupForServiceTypeNotFound If no conf group name could be"},{"line_number":147,"context_line":"            found for the specified service_type."}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_5d19a0d4","line":144,"updated":"2020-06-28 03:43:10.000000000","message":"nit: Pls keep the same indentation with line142.","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6eef8d37581ffec43e8771d470d0d65b00ce4459","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        session \u003d _get_auth_and_session(confgrp)"},{"line_number":153,"context_line":"    try:"},{"line_number":154,"context_line":"        conn \u003d connection.Connection("},{"line_number":155,"context_line":"            session\u003dsess, oslo_conf\u003dCONF, service_types\u003d{service_type},"},{"line_number":156,"context_line":"            strict_proxies\u003dcheck_service)"},{"line_number":157,"context_line":"    except sdk_exc.ServiceDiscoveryException as e:"},{"line_number":158,"context_line":"        raise exception.ServiceUnavailable("}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_ee3e6b89","line":155,"updated":"2020-06-20 16:17:40.000000000","message":"pep8: F821 undefined name \u0027sess\u0027","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"af44292b83a5b860fe865d945a1f710f4ae5b6e5","unresolved":true,"context_lines":[{"line_number":18,"context_line":"from concurrent.futures import ThreadPoolExecutor as CFThreadPoolExecutor"},{"line_number":19,"context_line":"from functools import wraps"},{"line_number":20,"context_line":"import queue"},{"line_number":21,"context_line":"import six"},{"line_number":22,"context_line":"import time"},{"line_number":23,"context_line":"import traceback"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"03a41342_19b8af5f","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":10},"updated":"2022-03-11 07:21:32.000000000","message":"six has been removed in python3.","commit_id":"2912fc07e5d6244da65a4fbca72447e7962ef9a1"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"af44292b83a5b860fe865d945a1f710f4ae5b6e5","unresolved":true,"context_lines":[{"line_number":50,"context_line":"    :return: Stripped value."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    \"\"\""},{"line_number":53,"context_line":"    if not isinstance(value, six.string_types):"},{"line_number":54,"context_line":"        LOG.warning(\"Failed to remove trailing character. Returning \""},{"line_number":55,"context_line":"                    \"original object. Supplied object is not a string: \""},{"line_number":56,"context_line":"                    \"%s,\", value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"4ceb4a3c_4ac32ba1","line":53,"range":{"start_line":53,"start_character":29,"end_line":53,"end_character":45},"updated":"2022-03-11 07:21:32.000000000","message":"We have already removed six.string_types in Python3, you can keep this \u0027str\u0027.","commit_id":"2912fc07e5d6244da65a4fbca72447e7962ef9a1"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"af44292b83a5b860fe865d945a1f710f4ae5b6e5","unresolved":true,"context_lines":[{"line_number":140,"context_line":"    provide ksa auth, session, and adapter options."},{"line_number":141,"context_line":"    :param service_type: String name of the service type for which the Adapter"},{"line_number":142,"context_line":"                         is to be constructed."},{"line_number":143,"context_line":"    :param check_service: If True, we will query the endpoint to make sure the"},{"line_number":144,"context_line":"                          service is alive, raising ServiceUnavailable if it is not."},{"line_number":145,"context_line":"    :return: An openstack.proxy.Proxy object for the specified service_type."},{"line_number":146,"context_line":"    :raise: ConfGroupForServiceTypeNotFound If no conf group name could be"}],"source_content_type":"text/x-python","patch_set":4,"id":"43036801_33fd4329","line":143,"range":{"start_line":143,"start_character":4,"end_line":143,"end_character":11},"updated":"2022-03-11 07:21:32.000000000","message":"\u0027seesion\u0027 parameter desc is missing.\n\n:param session: xxxx","commit_id":"2912fc07e5d6244da65a4fbca72447e7962ef9a1"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"af44292b83a5b860fe865d945a1f710f4ae5b6e5","unresolved":true,"context_lines":[{"line_number":376,"context_line":"                    LOG.error(\"Error during check the worker status. \""},{"line_number":377,"context_line":"                              \"Exception info: %s, result: %s, state: %s. \""},{"line_number":378,"context_line":"                              \"Reason %s\", f.exception(), f._result,"},{"line_number":379,"context_line":"                              f._state, six.text_type(e))"},{"line_number":380,"context_line":"                    yield f._result, f.exception(), f._state, err"},{"line_number":381,"context_line":"            finally:"},{"line_number":382,"context_line":"                # Do best to cancel remain jobs."}],"source_content_type":"text/x-python","patch_set":4,"id":"521b3317_c819a03d","line":379,"range":{"start_line":379,"start_character":40,"end_line":379,"end_character":53},"updated":"2022-03-11 07:21:32.000000000","message":"ditto.","commit_id":"2912fc07e5d6244da65a4fbca72447e7962ef9a1"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"af44292b83a5b860fe865d945a1f710f4ae5b6e5","unresolved":true,"context_lines":[{"line_number":421,"context_line":"            try:"},{"line_number":422,"context_line":"                output \u003d method(self, *args, **kwargs)"},{"line_number":423,"context_line":"            except Exception as e:"},{"line_number":424,"context_line":"                LOG.error(msg, six.text_type(e))"},{"line_number":425,"context_line":"                LOG.error(traceback.format_exc())"},{"line_number":426,"context_line":"                raise"},{"line_number":427,"context_line":"            return output"}],"source_content_type":"text/x-python","patch_set":4,"id":"48dbd5ca_e8178d42","line":424,"range":{"start_line":424,"start_character":31,"end_line":424,"end_character":44},"updated":"2022-03-11 07:21:32.000000000","message":"ditto.","commit_id":"2912fc07e5d6244da65a4fbca72447e7962ef9a1"}],"cyborg/image/api.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6eef8d37581ffec43e8771d470d0d65b00ce4459","unresolved":false,"context_lines":[{"line_number":15,"context_line":"images used by the cyborg agent layer."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from cyborg.common import glance_client"},{"line_number":19,"context_line":"from oslo_log import log"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_0e491f30","line":18,"updated":"2020-06-20 16:17:40.000000000","message":"pep8: F401 \u0027cyborg.common.glance_client\u0027 imported but unused","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f39e541b61253cd8307d85425c704f3248c0291","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        :param context: The `cyborg.context.RequestContext` object for the"},{"line_number":35,"context_line":"                        request"},{"line_number":36,"context_line":"        :param id_or_uri: A UUID identifier or an image URI to look up image"},{"line_number":37,"context_line":"                          information for."},{"line_number":38,"context_line":"        :param dest_path: Filepath to transfer image bits to."},{"line_number":39,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_381b1a73","line":36,"range":{"start_line":36,"start_character":44,"end_line":36,"end_character":59},"updated":"2020-06-28 06:42:44.000000000","message":"delete.","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2f39e541b61253cd8307d85425c704f3248c0291","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        :param context: The `cyborg.context.RequestContext` object for the"},{"line_number":35,"context_line":"                        request"},{"line_number":36,"context_line":"        :param id_or_uri: A UUID identifier or an image URI to look up image"},{"line_number":37,"context_line":"                          information for."},{"line_number":38,"context_line":"        :param dest_path: Filepath to transfer image bits to."},{"line_number":39,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_f8140246","line":36,"range":{"start_line":36,"start_character":15,"end_line":36,"end_character":24},"updated":"2020-06-28 06:42:44.000000000","message":"s/id_or_uri/image_id","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6eef8d37581ffec43e8771d470d0d65b00ce4459","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                          information for."},{"line_number":38,"context_line":"        :param dest_path: Filepath to transfer image bits to."},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        conn \u003d glance._get_sdk_connection(context)"},{"line_number":41,"context_line":"        return conn.image.download("},{"line_number":42,"context_line":"            image_id,"},{"line_number":43,"context_line":"            output\u003ddest_path,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_6e525be0","line":40,"updated":"2020-06-20 16:17:40.000000000","message":"pep8: F821 undefined name \u0027glance\u0027","commit_id":"b5c13c2abc68f4364fa87694f8899d84c532b063"}]}
