)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"7da4d941f610076f196cc316d5d44e4957d10139","unresolved":false,"context_lines":[{"line_number":2866,"context_line":"            # Fallback to just powering on the instance if the hypervisor"},{"line_number":2867,"context_line":"            # doesn\u0027t implement the restore method"},{"line_number":2868,"context_line":"            try:"},{"line_number":2869,"context_line":"                # should not raise exception while power on failed"},{"line_number":2870,"context_line":"                # its task_state will be reverted to None if raise exception"},{"line_number":2871,"context_line":"                # and will be reclaimed in _reclaim_queued_deletes for its"},{"line_number":2872,"context_line":"                # deleted_at\u003dNone, task_state\u003dNone, vm_state\u003dSOFT_DELETED"},{"line_number":2873,"context_line":"                self._power_on(context, instance)"},{"line_number":2874,"context_line":"            except Exception as ex:"},{"line_number":2875,"context_line":"                LOG.exception(_LE(\"Something wrong happened when trying to \""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_67e31805","line":2872,"range":{"start_line":2869,"start_character":16,"end_line":2872,"end_character":73},"updated":"2018-12-13 03:48:37.000000000","message":"I don\u0027t quite get your problem here, seems the normal soft delate action will change it to task_state\u003dNone, vm_state\u003dSOFT_DELETED and deleted_at\u003dNone for both local delete and normal soft delete:\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/compute/manager.py#n2837\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/compute/api.py?h\u003dstable/rocky#n2196","commit_id":"ccf92569c84e670ec8b2d3e4d8f159f7e9936235"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e6972cb364340a793f9bb26cfb93e5905c0f200f","unresolved":false,"context_lines":[{"line_number":3007,"context_line":"            # Fallback to just powering on the instance if the hypervisor"},{"line_number":3008,"context_line":"            # doesn\u0027t implement the restore method"},{"line_number":3009,"context_line":"            try:"},{"line_number":3010,"context_line":"                # should not raise exception while power on failed"},{"line_number":3011,"context_line":"                # its task_state will be reverted to None if raise exception"},{"line_number":3012,"context_line":"                # and will be reclaimed in _reclaim_queued_deletes for its"},{"line_number":3013,"context_line":"                # deleted_at\u003dNone, task_state\u003dNone, vm_state\u003dSOFT_DELETED"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_f54c7fc9","line":3010,"range":{"start_line":3010,"start_character":18,"end_line":3010,"end_character":24},"updated":"2019-08-27 10:27:13.000000000","message":"nit:s/should/Shuold","commit_id":"21db5edec1b1156c1165b0e1aa3dcb7e59f4489a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"caefcda05ce269f007c362345652a8564aa3f8b6","unresolved":false,"context_lines":[{"line_number":3013,"context_line":"                # deleted_at\u003dNone, task_state\u003dNone, vm_state\u003dSOFT_DELETED"},{"line_number":3014,"context_line":"                self._power_on(context, instance)"},{"line_number":3015,"context_line":"            except Exception as ex:"},{"line_number":3016,"context_line":"                LOG.exception(\"Something wrong happened when trying to \""},{"line_number":3017,"context_line":"                              \"power on while restore instance. ex:%s\","},{"line_number":3018,"context_line":"                              ex, instance\u003dinstance)"},{"line_number":3019,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_75388fed","line":3016,"range":{"start_line":3016,"start_character":31,"end_line":3016,"end_character":46},"updated":"2019-08-27 10:36:50.000000000","message":"Emm...how about saying \"An unpredictable error occurred when trying*\"?","commit_id":"21db5edec1b1156c1165b0e1aa3dcb7e59f4489a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e6972cb364340a793f9bb26cfb93e5905c0f200f","unresolved":false,"context_lines":[{"line_number":3018,"context_line":"                              ex, instance\u003dinstance)"},{"line_number":3019,"context_line":""},{"line_number":3020,"context_line":"        instance.power_state \u003d self._get_power_state(context, instance)"},{"line_number":3021,"context_line":"        # set vm_state to STOPPED if power on failed"},{"line_number":3022,"context_line":"        if instance.power_state \u003d\u003d power_state.SHUTDOWN:"},{"line_number":3023,"context_line":"            instance.vm_state \u003d vm_states.STOPPED"},{"line_number":3024,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_15483bb1","line":3021,"range":{"start_line":3021,"start_character":10,"end_line":3021,"end_character":13},"updated":"2019-08-27 10:27:13.000000000","message":"nit:s/set/Set","commit_id":"21db5edec1b1156c1165b0e1aa3dcb7e59f4489a"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e6972cb364340a793f9bb26cfb93e5905c0f200f","unresolved":false,"context_lines":[{"line_number":5105,"context_line":"                mock.call(self.context, inst_obj, \u0027fake-mini\u0027,"},{"line_number":5106,"context_line":"                          action\u003d\u0027restore\u0027, phase\u003d\u0027end\u0027)])"},{"line_number":5107,"context_line":"            self.assertEqual(inst_obj.vm_state, vm_states.STOPPED)"},{"line_number":5108,"context_line":"            self.assertEqual(inst_obj.task_state, None)"},{"line_number":5109,"context_line":""},{"line_number":5110,"context_line":"    def test_delete_image_on_error_image_not_found_ignored(self):"},{"line_number":5111,"context_line":"        \"\"\"Tests that we don\u0027t log an exception trace if we get a 404 when"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_75808fc0","line":5108,"range":{"start_line":5108,"start_character":12,"end_line":5108,"end_character":55},"updated":"2019-08-27 10:27:13.000000000","message":"You can do this use self.assertIsNotNone(inst_obj.task_state) to replace self.assertEqual()","commit_id":"21db5edec1b1156c1165b0e1aa3dcb7e59f4489a"}]}
