)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"db6010722b433596174806eb1d9e0b9e6b636385","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"class InstanceEvents(object):"},{"line_number":249,"context_line":"    def __init__(self):"},{"line_number":250,"context_line":"        self._events: ty.Optional[ty.Dict[str, _InstanceEvents]] \u003d {}"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    @staticmethod"},{"line_number":253,"context_line":"    def _lock_name(instance) -\u003e str:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_4f15763f","line":250,"range":{"start_line":250,"start_character":22,"end_line":250,"end_character":33},"updated":"2020-08-07 15:05:09.000000000","message":"Is it really optional even if it is initialized here to a dict?\n\n// later\n\ncancel_all_events() sets it to None. I\u0027m not sure that is useful but it is there so the typehint here is valid.","commit_id":"66df7250782448d7d6db986ed9d5c3f94155c074"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"db6010722b433596174806eb1d9e0b9e6b636385","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        \"\"\""},{"line_number":274,"context_line":"        @utils.synchronized(self._lock_name(instance))"},{"line_number":275,"context_line":"        def _create_or_get_event():"},{"line_number":276,"context_line":"            if self._events is None:"},{"line_number":277,"context_line":"                # NOTE(danms): We really should have a more specific error"},{"line_number":278,"context_line":"                # here, but this is what we use for our default error case"},{"line_number":279,"context_line":"                raise exception.NovaException("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_0f6ffec4","line":276,"updated":"2020-08-07 15:05:09.000000000","message":"moving this under the lock is a functional change that needs some reasoning.","commit_id":"66df7250782448d7d6db986ed9d5c3f94155c074"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4e004acffaf4ba7a2eab6256654f8fee107946e1","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        \"\"\""},{"line_number":274,"context_line":"        @utils.synchronized(self._lock_name(instance))"},{"line_number":275,"context_line":"        def _create_or_get_event():"},{"line_number":276,"context_line":"            if self._events is None:"},{"line_number":277,"context_line":"                # NOTE(danms): We really should have a more specific error"},{"line_number":278,"context_line":"                # here, but this is what we use for our default error case"},{"line_number":279,"context_line":"                raise exception.NovaException("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_e0428a3d","line":276,"in_reply_to":"9f560f44_0f6ffec4","updated":"2020-08-10 10:45:42.000000000","message":"mypy can\u0027t detect checks done outside of a nested function, e.g.:\n\n  def test(foo):\n      if foo is None:\n          return\n\n      def bar():\n          return foo[0]\n\n      bar()\n\nSo I have to either move this into the nested function, copy it there, or ignore the issue entirely. I went with the move approach","commit_id":"66df7250782448d7d6db986ed9d5c3f94155c074"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4e004acffaf4ba7a2eab6256654f8fee107946e1","unresolved":false,"context_lines":[{"line_number":328,"context_line":"                \u0027No event matching %(event)s in %(events)s\u0027,"},{"line_number":329,"context_line":"                {"},{"line_number":330,"context_line":"                    \u0027event\u0027: event.key,"},{"line_number":331,"context_line":"                    # mypy can\u0027t identify the none check in _pop_event"},{"line_number":332,"context_line":"                    \u0027events\u0027: self._events.get(  # type: ignore"},{"line_number":333,"context_line":"                        instance.uuid, {}).keys(),"},{"line_number":334,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_407b768a","line":331,"updated":"2020-08-10 10:45:42.000000000","message":"Have the same issue here, but I simply chose to ignore it this time around.","commit_id":"66df7250782448d7d6db986ed9d5c3f94155c074"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"db6010722b433596174806eb1d9e0b9e6b636385","unresolved":false,"context_lines":[{"line_number":474,"context_line":"            early_events \u003d set([objects.InstanceExternalEvent.make_key(n, t)"},{"line_number":475,"context_line":"                                for n, t in e.events])"},{"line_number":476,"context_line":"        else:"},{"line_number":477,"context_line":"            early_events \u003d set([])"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"        with eventlet.timeout.Timeout(deadline):"},{"line_number":480,"context_line":"            for event_name, event in events.items():"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_8f62eed6","line":477,"range":{"start_line":477,"start_character":27,"end_line":477,"end_character":34},"updated":"2020-08-07 15:05:09.000000000","message":"I think it is the same as set(), but I see the symmetry with the except block so I accept the verbosity here","commit_id":"66df7250782448d7d6db986ed9d5c3f94155c074"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"db6010722b433596174806eb1d9e0b9e6b636385","unresolved":false,"context_lines":[{"line_number":542,"context_line":"        self.network_api \u003d neutron.API()"},{"line_number":543,"context_line":"        self.volume_api \u003d cinder.API()"},{"line_number":544,"context_line":"        self.image_api \u003d glance.API()"},{"line_number":545,"context_line":"        self._last_bw_usage_poll \u003d 0.0"},{"line_number":546,"context_line":"        self._bw_usage_supported \u003d True"},{"line_number":547,"context_line":"        self.compute_api \u003d compute.API()"},{"line_number":548,"context_line":"        self.compute_rpcapi \u003d compute_rpcapi.ComputeAPI()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_4fc8d6a4","line":545,"updated":"2020-08-07 15:05:09.000000000","message":"make sense as it is storing the result of time.time()","commit_id":"66df7250782448d7d6db986ed9d5c3f94155c074"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"db6010722b433596174806eb1d9e0b9e6b636385","unresolved":false,"context_lines":[{"line_number":1914,"context_line":"        ]"},{"line_number":1915,"context_line":"        swap \u003d [x for x in block_devices if block_device.new_format_is_swap(x)]"},{"line_number":1916,"context_line":"        block_device_mapping \u003d ["},{"line_number":1917,"context_line":"            x for x in block_devices if"},{"line_number":1918,"context_line":"            driver_block_device.is_block_device_mapping(x)"},{"line_number":1919,"context_line":"        ]"},{"line_number":1920,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_8f902e97","line":1917,"range":{"start_line":1917,"start_character":37,"end_line":1917,"end_character":39},"updated":"2020-08-07 15:05:09.000000000","message":"I tend to break the comprehension before the \u0027if\u0027","commit_id":"66df7250782448d7d6db986ed9d5c3f94155c074"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4e004acffaf4ba7a2eab6256654f8fee107946e1","unresolved":false,"context_lines":[{"line_number":1914,"context_line":"        ]"},{"line_number":1915,"context_line":"        swap \u003d [x for x in block_devices if block_device.new_format_is_swap(x)]"},{"line_number":1916,"context_line":"        block_device_mapping \u003d ["},{"line_number":1917,"context_line":"            x for x in block_devices if"},{"line_number":1918,"context_line":"            driver_block_device.is_block_device_mapping(x)"},{"line_number":1919,"context_line":"        ]"},{"line_number":1920,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_602afa7e","line":1917,"range":{"start_line":1917,"start_character":37,"end_line":1917,"end_character":39},"in_reply_to":"9f560f44_8f902e97","updated":"2020-08-10 10:45:42.000000000","message":"Good point. Done","commit_id":"66df7250782448d7d6db986ed9d5c3f94155c074"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"db6010722b433596174806eb1d9e0b9e6b636385","unresolved":false,"context_lines":[{"line_number":2611,"context_line":"            try:"},{"line_number":2612,"context_line":"                arqs \u003d self._get_bound_arq_resources("},{"line_number":2613,"context_line":"                    context, instance, accel_uuids)"},{"line_number":2614,"context_line":"            except (exception.NovaException, eventlet.timeout.Timeout) as exc:"},{"line_number":2615,"context_line":"                LOG.exception(exc.format_message())"},{"line_number":2616,"context_line":"                self._build_resources_cleanup(instance, network_info)"},{"line_number":2617,"context_line":"                compute_utils.delete_arqs_if_needed(context, instance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_2fdac276","line":2614,"range":{"start_line":2614,"start_character":20,"end_line":2614,"end_character":43},"updated":"2020-08-07 15:05:09.000000000","message":"this means we are catching less than before. So this change needs some reasoning.","commit_id":"66df7250782448d7d6db986ed9d5c3f94155c074"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4e004acffaf4ba7a2eab6256654f8fee107946e1","unresolved":false,"context_lines":[{"line_number":2611,"context_line":"            try:"},{"line_number":2612,"context_line":"                arqs \u003d self._get_bound_arq_resources("},{"line_number":2613,"context_line":"                    context, instance, accel_uuids)"},{"line_number":2614,"context_line":"            except (exception.NovaException, eventlet.timeout.Timeout) as exc:"},{"line_number":2615,"context_line":"                LOG.exception(exc.format_message())"},{"line_number":2616,"context_line":"                self._build_resources_cleanup(instance, network_info)"},{"line_number":2617,"context_line":"                compute_utils.delete_arqs_if_needed(context, instance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_a020929c","line":2614,"range":{"start_line":2614,"start_character":20,"end_line":2614,"end_character":43},"in_reply_to":"9f560f44_2fdac276","updated":"2020-08-10 10:45:42.000000000","message":"This is the wrong solution to the issue at https://review.opendev.org/#/c/744280/. Rebased on top of that patch.","commit_id":"66df7250782448d7d6db986ed9d5c3f94155c074"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"7a814df33d8465bd53f465657a113cc0674aba54","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        \"\"\""},{"line_number":274,"context_line":"        @utils.synchronized(self._lock_name(instance))"},{"line_number":275,"context_line":"        def _create_or_get_event():"},{"line_number":276,"context_line":"            if self._events is None:"},{"line_number":277,"context_line":"                # NOTE(danms): We really should have a more specific error"},{"line_number":278,"context_line":"                # here, but this is what we use for our default error case"},{"line_number":279,"context_line":"                raise exception.NovaException("},{"line_number":280,"context_line":"                    \u0027In shutdown, no new events can be scheduled\u0027)"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"            instance_events \u003d self._events.setdefault(instance.uuid, {})"},{"line_number":283,"context_line":"            return instance_events.setdefault((name, tag),"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_d3826cc8","line":280,"range":{"start_line":276,"start_character":0,"end_line":280,"end_character":66},"updated":"2020-08-17 12:41:02.000000000","message":"Why does this need to be behind the instance lock?","commit_id":"ccf617ccb5d2363f75893b1fc0218877872a8a73"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ba6d220640545dcefa9d780b945f76649c0c386","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        \"\"\""},{"line_number":274,"context_line":"        @utils.synchronized(self._lock_name(instance))"},{"line_number":275,"context_line":"        def _create_or_get_event():"},{"line_number":276,"context_line":"            if self._events is None:"},{"line_number":277,"context_line":"                # NOTE(danms): We really should have a more specific error"},{"line_number":278,"context_line":"                # here, but this is what we use for our default error case"},{"line_number":279,"context_line":"                raise exception.NovaException("},{"line_number":280,"context_line":"                    \u0027In shutdown, no new events can be scheduled\u0027)"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"            instance_events \u003d self._events.setdefault(instance.uuid, {})"},{"line_number":283,"context_line":"            return instance_events.setdefault((name, tag),"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_41d5b8b6","line":280,"range":{"start_line":276,"start_character":0,"end_line":280,"end_character":66},"in_reply_to":"9f560f44_d3826cc8","updated":"2020-08-19 17:27:09.000000000","message":"https://review.opendev.org/#/c/742863/4/nova/compute/manager.py@276","commit_id":"ccf617ccb5d2363f75893b1fc0218877872a8a73"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"7a814df33d8465bd53f465657a113cc0674aba54","unresolved":false,"context_lines":[{"line_number":1909,"context_line":"        if update_root_bdm:"},{"line_number":1910,"context_line":"            root_bdm.save()"},{"line_number":1911,"context_line":""},{"line_number":1912,"context_line":"        ephemerals \u003d ["},{"line_number":1913,"context_line":"            x for x in block_devices if block_device.new_format_is_ephemeral(x)"},{"line_number":1914,"context_line":"        ]"},{"line_number":1915,"context_line":"        swap \u003d [x for x in block_devices if block_device.new_format_is_swap(x)]"},{"line_number":1916,"context_line":"        block_device_mapping \u003d ["},{"line_number":1917,"context_line":"            x for x in block_devices"},{"line_number":1918,"context_line":"            if driver_block_device.is_block_device_mapping(x)"},{"line_number":1919,"context_line":"        ]"},{"line_number":1920,"context_line":""},{"line_number":1921,"context_line":"        self._default_device_names_for_instance(instance,"},{"line_number":1922,"context_line":"                                                root_device_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_2e16dff2","line":1919,"range":{"start_line":1912,"start_character":0,"end_line":1919,"end_character":9},"updated":"2020-08-17 12:41:02.000000000","message":"Ew I\u0027m not a huge fan of this, what would you say to the following?\n\n        ephemerals \u003d [\n            device for device in block_devices \n            if block_device.new_format_is_ephemeral(device)\n        ]\n        swap \u003d [\n            device for device in block_devices \n            if block_device.new_format_is_swap(device)\n        ]\n        block_device_mapping \u003d [\n            device for device in block_devices\n            if driver_block_device.is_block_device_mapping(device)\n        ]","commit_id":"ccf617ccb5d2363f75893b1fc0218877872a8a73"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3ba6d220640545dcefa9d780b945f76649c0c386","unresolved":false,"context_lines":[{"line_number":1909,"context_line":"        if update_root_bdm:"},{"line_number":1910,"context_line":"            root_bdm.save()"},{"line_number":1911,"context_line":""},{"line_number":1912,"context_line":"        ephemerals \u003d ["},{"line_number":1913,"context_line":"            x for x in block_devices if block_device.new_format_is_ephemeral(x)"},{"line_number":1914,"context_line":"        ]"},{"line_number":1915,"context_line":"        swap \u003d [x for x in block_devices if block_device.new_format_is_swap(x)]"},{"line_number":1916,"context_line":"        block_device_mapping \u003d ["},{"line_number":1917,"context_line":"            x for x in block_devices"},{"line_number":1918,"context_line":"            if driver_block_device.is_block_device_mapping(x)"},{"line_number":1919,"context_line":"        ]"},{"line_number":1920,"context_line":""},{"line_number":1921,"context_line":"        self._default_device_names_for_instance(instance,"},{"line_number":1922,"context_line":"                                                root_device_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_81dfd0d4","line":1919,"range":{"start_line":1912,"start_character":0,"end_line":1919,"end_character":9},"in_reply_to":"9f560f44_2e16dff2","updated":"2020-08-19 17:27:09.000000000","message":"That\u0027s nicer. Let\u0027s do that","commit_id":"ccf617ccb5d2363f75893b1fc0218877872a8a73"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f85d4e038d126bcca54f046da55f4ba92c7fe949","unresolved":false,"context_lines":[{"line_number":1909,"context_line":"        if update_root_bdm:"},{"line_number":1910,"context_line":"            root_bdm.save()"},{"line_number":1911,"context_line":""},{"line_number":1912,"context_line":"        ephemerals \u003d ["},{"line_number":1913,"context_line":"            x for x in block_devices if block_device.new_format_is_ephemeral(x)"},{"line_number":1914,"context_line":"        ]"},{"line_number":1915,"context_line":"        swap \u003d [x for x in block_devices if block_device.new_format_is_swap(x)]"},{"line_number":1916,"context_line":"        block_device_mapping \u003d ["},{"line_number":1917,"context_line":"            x for x in block_devices"},{"line_number":1918,"context_line":"            if driver_block_device.is_block_device_mapping(x)"},{"line_number":1919,"context_line":"        ]"},{"line_number":1920,"context_line":""},{"line_number":1921,"context_line":"        self._default_device_names_for_instance(instance,"},{"line_number":1922,"context_line":"                                                root_device_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_f2945346","line":1919,"range":{"start_line":1912,"start_character":0,"end_line":1919,"end_character":9},"in_reply_to":"9f560f44_81dfd0d4","updated":"2020-08-24 16:21:37.000000000","message":"Done","commit_id":"ccf617ccb5d2363f75893b1fc0218877872a8a73"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fed8051c464bc499a0409e0406c238709e1fc085","unresolved":false,"context_lines":[{"line_number":5324,"context_line":"            # not re-scheduling"},{"line_number":5325,"context_line":"            if exc_info[1] is None:"},{"line_number":5326,"context_line":"                exc_info[1] \u003d exc_info[0]()"},{"line_number":5327,"context_line":"            if exc_info[1].__traceback__ is not exc_info[2]:"},{"line_number":5328,"context_line":"                raise exc_info[1].with_traceback(exc_info[2])"},{"line_number":5329,"context_line":"            raise exc_info[1]"},{"line_number":5330,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_b275b634","line":5327,"updated":"2020-08-24 21:22:02.000000000","message":"pep8: error: Item \"None\" of \"Optional[Any]\" has no attribute \"__traceback__\"","commit_id":"9ac52a055117724cd68c3e54d3db02e38ef671cb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2b32fb2b4ed24c9f30493eb926f2b1b5aa134fc8","unresolved":false,"context_lines":[{"line_number":5324,"context_line":"            # not re-scheduling"},{"line_number":5325,"context_line":"            if exc_info[1] is None:"},{"line_number":5326,"context_line":"                exc_info[1] \u003d exc_info[0]()"},{"line_number":5327,"context_line":"            if exc_info[1].__traceback__ is not exc_info[2]:"},{"line_number":5328,"context_line":"                raise exc_info[1].with_traceback(exc_info[2])"},{"line_number":5329,"context_line":"            raise exc_info[1]"},{"line_number":5330,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_fd93724d","line":5327,"in_reply_to":"9f560f44_b275b634","updated":"2020-08-26 12:37:52.000000000","message":"Done","commit_id":"9ac52a055117724cd68c3e54d3db02e38ef671cb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fed8051c464bc499a0409e0406c238709e1fc085","unresolved":false,"context_lines":[{"line_number":5325,"context_line":"            if exc_info[1] is None:"},{"line_number":5326,"context_line":"                exc_info[1] \u003d exc_info[0]()"},{"line_number":5327,"context_line":"            if exc_info[1].__traceback__ is not exc_info[2]:"},{"line_number":5328,"context_line":"                raise exc_info[1].with_traceback(exc_info[2])"},{"line_number":5329,"context_line":"            raise exc_info[1]"},{"line_number":5330,"context_line":""},{"line_number":5331,"context_line":"    # TODO(stephenfin): Remove unused request_spec parameter in API v6.0"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_92707242","line":5328,"updated":"2020-08-24 21:22:02.000000000","message":"pep8: error: Item \"None\" of \"Optional[Any]\" has no attribute \"with_traceback\"","commit_id":"9ac52a055117724cd68c3e54d3db02e38ef671cb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2b32fb2b4ed24c9f30493eb926f2b1b5aa134fc8","unresolved":false,"context_lines":[{"line_number":5325,"context_line":"            if exc_info[1] is None:"},{"line_number":5326,"context_line":"                exc_info[1] \u003d exc_info[0]()"},{"line_number":5327,"context_line":"            if exc_info[1].__traceback__ is not exc_info[2]:"},{"line_number":5328,"context_line":"                raise exc_info[1].with_traceback(exc_info[2])"},{"line_number":5329,"context_line":"            raise exc_info[1]"},{"line_number":5330,"context_line":""},{"line_number":5331,"context_line":"    # TODO(stephenfin): Remove unused request_spec parameter in API v6.0"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_5d97fe3a","line":5328,"in_reply_to":"9f560f44_92707242","updated":"2020-08-26 12:37:52.000000000","message":"Done","commit_id":"9ac52a055117724cd68c3e54d3db02e38ef671cb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fed8051c464bc499a0409e0406c238709e1fc085","unresolved":false,"context_lines":[{"line_number":5326,"context_line":"                exc_info[1] \u003d exc_info[0]()"},{"line_number":5327,"context_line":"            if exc_info[1].__traceback__ is not exc_info[2]:"},{"line_number":5328,"context_line":"                raise exc_info[1].with_traceback(exc_info[2])"},{"line_number":5329,"context_line":"            raise exc_info[1]"},{"line_number":5330,"context_line":""},{"line_number":5331,"context_line":"    # TODO(stephenfin): Remove unused request_spec parameter in API v6.0"},{"line_number":5332,"context_line":"    @messaging.expected_exceptions(exception.MigrationPreCheckError)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_f290ce45","line":5329,"updated":"2020-08-24 21:22:02.000000000","message":"pep8: error: Exception must be derived from BaseException","commit_id":"9ac52a055117724cd68c3e54d3db02e38ef671cb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2b32fb2b4ed24c9f30493eb926f2b1b5aa134fc8","unresolved":false,"context_lines":[{"line_number":5326,"context_line":"                exc_info[1] \u003d exc_info[0]()"},{"line_number":5327,"context_line":"            if exc_info[1].__traceback__ is not exc_info[2]:"},{"line_number":5328,"context_line":"                raise exc_info[1].with_traceback(exc_info[2])"},{"line_number":5329,"context_line":"            raise exc_info[1]"},{"line_number":5330,"context_line":""},{"line_number":5331,"context_line":"    # TODO(stephenfin): Remove unused request_spec parameter in API v6.0"},{"line_number":5332,"context_line":"    @messaging.expected_exceptions(exception.MigrationPreCheckError)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_3d9a0a61","line":5329,"in_reply_to":"9f560f44_f290ce45","updated":"2020-08-26 12:37:52.000000000","message":"Done","commit_id":"9ac52a055117724cd68c3e54d3db02e38ef671cb"}]}
