)]}'
{"nova/api/openstack/compute/instance_actions.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"78d89beabffa9f70aa20d2f646b47d68f1074eb4","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        if show_events:"},{"line_number":176,"context_line":"            events_raw \u003d self.action_api.action_events_get(context, instance,"},{"line_number":177,"context_line":"                                                           action_id)"},{"line_number":178,"context_line":"            action[\u0027events\u0027] \u003d [self._format_event("},{"line_number":179,"context_line":"                evt, action[\u0027project_id\u0027] or instance.project_id,"},{"line_number":180,"context_line":"                show_traceback\u003dshow_traceback,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_af27d9c7","line":177,"updated":"2019-03-01 20:18:19.000000000","message":"How about putting NOTE why Nova needs to use instance.project_id here like the commit message?\nPeriodic tasks could be forgotten easily, and the NOTE could help us.\n\nNice work anyways.","commit_id":"1ad3466a277d695c46142fe7e45b91b34b7674dd"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"3b02bea31b5225e76a670910d0d0a91870d60d29","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        if show_events:"},{"line_number":176,"context_line":"            events_raw \u003d self.action_api.action_events_get(context, instance,"},{"line_number":177,"context_line":"                                                           action_id)"},{"line_number":178,"context_line":"            action[\u0027events\u0027] \u003d [self._format_event("},{"line_number":179,"context_line":"                evt, action[\u0027project_id\u0027] or instance.project_id,"},{"line_number":180,"context_line":"                show_traceback\u003dshow_traceback,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_87f42cf3","line":177,"in_reply_to":"9fdfeff1_af27d9c7","updated":"2019-03-04 05:59:10.000000000","message":"Done","commit_id":"1ad3466a277d695c46142fe7e45b91b34b7674dd"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2ad7434d51413c80b53d6a2d2528e5a82ffd7e8c","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            # If the project ID is null (None), pass the project ID of"},{"line_number":183,"context_line":"            # the server instead of that of instance action events."},{"line_number":184,"context_line":"            action[\u0027events\u0027] \u003d [self._format_event("},{"line_number":185,"context_line":"                evt, action[\u0027project_id\u0027] or instance.project_id,"},{"line_number":186,"context_line":"                show_traceback\u003dshow_traceback,"},{"line_number":187,"context_line":"                show_host\u003dshow_host, show_hostid\u003dshow_hostid"},{"line_number":188,"context_line":"            ) for evt in events_raw]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_4532aaf4","line":185,"updated":"2019-03-04 20:51:27.000000000","message":"ok this seams resonable","commit_id":"31fe7c76009e1c6d7859036e44b057d081b059b5"}],"nova/tests/unit/api/openstack/compute/test_instance_actions.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2ad7434d51413c80b53d6a2d2528e5a82ffd7e8c","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def fake_get(self, context, instance_uuid, expected_attrs\u003dNone,"},{"line_number":340,"context_line":"                 cell_down_support\u003dFalse):"},{"line_number":341,"context_line":"        return objects.Instance(uuid\u003dinstance_uuid,"},{"line_number":342,"context_line":"                                project_id\u003dself.instance_project_id)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    @mock.patch.object(compute_api.InstanceActionAPI, \u0027action_events_get\u0027)"},{"line_number":345,"context_line":"    @mock.patch.object(compute_api.InstanceActionAPI,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_a53596dd","line":342,"updated":"2019-03-04 20:51:27.000000000","message":"project_id\u003dself.instance_project_id will we set once when the fake_get fuction is first parsed so it will always be 26cd....\nit will not be revaluated. i dont think tha is nessisarially an issue just pointing it out. by the way i dont see this fuction ever called so i dont think it is needed in anycase.","commit_id":"31fe7c76009e1c6d7859036e44b057d081b059b5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"93c5f073836685ef8b727da63a8a3c5ebc65249b","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def fake_get(self, context, instance_uuid, expected_attrs\u003dNone,"},{"line_number":340,"context_line":"                 cell_down_support\u003dFalse):"},{"line_number":341,"context_line":"        return objects.Instance(uuid\u003dinstance_uuid,"},{"line_number":342,"context_line":"                                project_id\u003dself.instance_project_id)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    @mock.patch.object(compute_api.InstanceActionAPI, \u0027action_events_get\u0027)"},{"line_number":345,"context_line":"    @mock.patch.object(compute_api.InstanceActionAPI,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_f224b062","line":342,"in_reply_to":"9fdfeff1_a53596dd","updated":"2019-03-05 14:33:49.000000000","message":"\u003e by the way i dont see this fuction ever called so i dont think it is needed in anycase.\n\nIt\u0027s used in the base class. This is just an override. Removing it makes the test fail because the base class doesn\u0027t set the project_id on the returned Instance object so the code tries to lazy-load it and blows up:\n\nCaptured pythonlogging:\n~~~~~~~~~~~~~~~~~~~~~~~\n    b\u00272019-03-05 09:27:56,915 ERROR [nova.api.openstack.wsgi] Unexpected exception in API method\u0027\n    b\u0027Traceback (most recent call last):\u0027\n    b\u0027  File \"/home/osboxes/git/nova/nova/api/openstack/wsgi.py\", line 671, in wrapped\u0027\n    b\u0027    return f(*args, **kwargs)\u0027\n    b\u0027  File \"/home/osboxes/git/nova/nova/api/openstack/compute/instance_actions.py\", line 188, in show\u0027\n    b\u0027    ) for evt in events_raw]\u0027\n    b\u0027  File \"/home/osboxes/git/nova/nova/api/openstack/compute/instance_actions.py\", line 188, in \u003clistcomp\u003e\u0027\n    b\u0027    ) for evt in events_raw]\u0027\n    b\u0027  File \"/home/osboxes/git/nova/.tox/py36/lib/python3.6/site-packages/oslo_versionedobjects/base.py\", line 67, in getter\u0027\n    b\u0027    self.obj_load_attr(name)\u0027\n    b\u0027  File \"/home/osboxes/git/nova/nova/objects/instance.py\", line 1101, in obj_load_attr\u0027\n    b\u0027    objtype\u003dself.obj_name())\u0027\n    b\u0027nova.exception.OrphanedObjectError: Cannot call obj_load_attr on orphaned Instance object\u0027\n    b\u0027\u0027","commit_id":"31fe7c76009e1c6d7859036e44b057d081b059b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2897eef3ee8f084bb3dcfaaacc99409f46d9867b","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    def fake_get(self, context, instance_uuid, expected_attrs\u003dNone,"},{"line_number":340,"context_line":"                 cell_down_support\u003dFalse):"},{"line_number":341,"context_line":"        return objects.Instance(uuid\u003dinstance_uuid,"},{"line_number":342,"context_line":"                                project_id\u003dself.instance_project_id)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    @mock.patch.object(compute_api.InstanceActionAPI, \u0027action_events_get\u0027)"},{"line_number":345,"context_line":"    @mock.patch.object(compute_api.InstanceActionAPI,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_7fd404ea","line":342,"in_reply_to":"9fdfeff1_f224b062","updated":"2019-03-05 16:53:39.000000000","message":"ah ok thanks for the explanation.\nthat was not clear form the patch and i did not check the inheritance of the test.\n\na code comment would have been nice but its fine.","commit_id":"31fe7c76009e1c6d7859036e44b057d081b059b5"}]}
