)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"87494f1a9dd05bd8967502b0f87b2edf4d8df78e","unresolved":false,"context_lines":[{"line_number":2660,"context_line":"        # Delete an image(VM snapshot) for a shelved instance"},{"line_number":2661,"context_line":"        snapshot_id \u003d instance.system_metadata.get(\u0027shelved_image_id\u0027)"},{"line_number":2662,"context_line":"        if snapshot_id:"},{"line_number":2663,"context_line":"            self.image_api.delete(context, snapshot_id)"},{"line_number":2664,"context_line":""},{"line_number":2665,"context_line":"        # Delete system_metadata for a shelved instance"},{"line_number":2666,"context_line":"        for key in [\u0027shelved_at\u0027, \u0027shelved_image_id\u0027, \u0027shelved_host\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_dedd2e16","line":2663,"updated":"2015-03-05 06:29:01.000000000","message":"Exceptions raised from image_api.delete had better be caught.\nBecause the VM instance\u0027s status is not changed to \u0027ACTIVE\u0027 even though its process has been started successfully if an exception is raised here.\nIMO, ?he remaining processing had better be continued with warning log message when an exception is raised here.\nAnd end users can delete the remaining image by themselves.","commit_id":"25a8f077d8f60d4c580c558e6b93a3a226c71f4d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2ddd02a9fe97dbef92cde471419aae530ad09e4b","unresolved":false,"context_lines":[{"line_number":2660,"context_line":"        # Delete an image(VM snapshot) for a shelved instance"},{"line_number":2661,"context_line":"        snapshot_id \u003d instance.system_metadata.get(\u0027shelved_image_id\u0027)"},{"line_number":2662,"context_line":"        if snapshot_id:"},{"line_number":2663,"context_line":"            self.image_api.delete(context, snapshot_id)"},{"line_number":2664,"context_line":""},{"line_number":2665,"context_line":"        # Delete system_metadata for a shelved instance"},{"line_number":2666,"context_line":"        for key in [\u0027shelved_at\u0027, \u0027shelved_image_id\u0027, \u0027shelved_host\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_345d8b22","line":2663,"in_reply_to":"9a80dd14_dedd2e16","updated":"2015-03-05 07:33:12.000000000","message":"Done","commit_id":"25a8f077d8f60d4c580c558e6b93a3a226c71f4d"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"87494f1a9dd05bd8967502b0f87b2edf4d8df78e","unresolved":false,"context_lines":[{"line_number":4348,"context_line":""},{"line_number":4349,"context_line":"        if image:"},{"line_number":4350,"context_line":"            instance.image_ref \u003d shelved_image_ref"},{"line_number":4351,"context_line":"            self.image_api.delete(context, image[\u0027id\u0027])"},{"line_number":4352,"context_line":""},{"line_number":4353,"context_line":"        self._unshelve_instance_key_restore(instance, scrubbed_keys)"},{"line_number":4354,"context_line":"        instance.power_state \u003d self._get_power_state(context, instance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_1ee8a6b3","line":4351,"updated":"2015-03-05 06:29:01.000000000","message":"Same as above.","commit_id":"25a8f077d8f60d4c580c558e6b93a3a226c71f4d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2ddd02a9fe97dbef92cde471419aae530ad09e4b","unresolved":false,"context_lines":[{"line_number":4348,"context_line":""},{"line_number":4349,"context_line":"        if image:"},{"line_number":4350,"context_line":"            instance.image_ref \u003d shelved_image_ref"},{"line_number":4351,"context_line":"            self.image_api.delete(context, image[\u0027id\u0027])"},{"line_number":4352,"context_line":""},{"line_number":4353,"context_line":"        self._unshelve_instance_key_restore(instance, scrubbed_keys)"},{"line_number":4354,"context_line":"        instance.power_state \u003d self._get_power_state(context, instance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_74cb8372","line":4351,"in_reply_to":"9a80dd14_1ee8a6b3","updated":"2015-03-05 07:33:12.000000000","message":"Done","commit_id":"25a8f077d8f60d4c580c558e6b93a3a226c71f4d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c56bfc003ecafdab6de3ff2f49463079fae037d9","unresolved":false,"context_lines":[{"line_number":4378,"context_line":"        # Removing shelved_* keys from system metadata"},{"line_number":4379,"context_line":"        for key in [\u0027shelved_at\u0027, \u0027shelved_image_id\u0027, \u0027shelved_host\u0027]:"},{"line_number":4380,"context_line":"            if key in instance.system_metadata:"},{"line_number":4381,"context_line":"                del(instance.system_metadata[key])"},{"line_number":4382,"context_line":"        instance.save(expected_task_state\u003dtask_states.SPAWNING)"},{"line_number":4383,"context_line":"        self._notify_about_instance_usage(context, instance, \u0027unshelve.end\u0027)"},{"line_number":4384,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_ae3cbae3","line":4381,"updated":"2015-03-05 13:07:04.000000000","message":"how about share code with line 2676-2678?","commit_id":"467b749579f649341615dece443a7bc411fbdd5d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1ba3c75d348bb3e5c2dcba197c87b40ff292b65e","unresolved":false,"context_lines":[{"line_number":4378,"context_line":"        # Removing shelved_* keys from system metadata"},{"line_number":4379,"context_line":"        for key in [\u0027shelved_at\u0027, \u0027shelved_image_id\u0027, \u0027shelved_host\u0027]:"},{"line_number":4380,"context_line":"            if key in instance.system_metadata:"},{"line_number":4381,"context_line":"                del(instance.system_metadata[key])"},{"line_number":4382,"context_line":"        instance.save(expected_task_state\u003dtask_states.SPAWNING)"},{"line_number":4383,"context_line":"        self._notify_about_instance_usage(context, instance, \u0027unshelve.end\u0027)"},{"line_number":4384,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_af266214","line":4381,"in_reply_to":"9a80dd14_ae3cbae3","updated":"2015-03-05 18:47:09.000000000","message":"Done","commit_id":"467b749579f649341615dece443a7bc411fbdd5d"}],"nova/tests/unit/compute/test_compute.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c56bfc003ecafdab6de3ff2f49463079fae037d9","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"        instance.system_metadata[\u0027shelved_at\u0027] \u003d shelved_time"},{"line_number":2028,"context_line":"        instance.system_metadata[\u0027shelved_image_id\u0027] \u003d image[\u0027id\u0027]"},{"line_number":2029,"context_line":"        instance.system_metadata[\u0027shelved_host\u0027] \u003d \u0027fake-mini\u0027"},{"line_number":2030,"context_line":"        instance.save()"},{"line_number":2031,"context_line":""},{"line_number":2032,"context_line":"        self.compute.run_instance(self.context, instance, {}, {}, [], None,"},{"line_number":2033,"context_line":"                None, True, None, False)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_8e64564a","line":2030,"updated":"2015-03-05 13:07:04.000000000","message":"I prefer to separated this into another test. One test for the start normal instance, another test for start shelved instance.","commit_id":"467b749579f649341615dece443a7bc411fbdd5d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1ba3c75d348bb3e5c2dcba197c87b40ff292b65e","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"        instance.system_metadata[\u0027shelved_at\u0027] \u003d shelved_time"},{"line_number":2028,"context_line":"        instance.system_metadata[\u0027shelved_image_id\u0027] \u003d image[\u0027id\u0027]"},{"line_number":2029,"context_line":"        instance.system_metadata[\u0027shelved_host\u0027] \u003d \u0027fake-mini\u0027"},{"line_number":2030,"context_line":"        instance.save()"},{"line_number":2031,"context_line":""},{"line_number":2032,"context_line":"        self.compute.run_instance(self.context, instance, {}, {}, [], None,"},{"line_number":2033,"context_line":"                None, True, None, False)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_0f1ccec0","line":2030,"in_reply_to":"9a80dd14_8e64564a","updated":"2015-03-05 18:47:09.000000000","message":"Done","commit_id":"467b749579f649341615dece443a7bc411fbdd5d"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"29c7a8273c119c849cf2a7b026c57eb780aeead9","unresolved":false,"context_lines":[{"line_number":2051,"context_line":"        instance.save()"},{"line_number":2052,"context_line":""},{"line_number":2053,"context_line":"        self.compute.run_instance(self.context, instance, {}, {}, [], None,"},{"line_number":2054,"context_line":"                None, True, None, False)"},{"line_number":2055,"context_line":"        db.instance_update(self.context, instance[\u0027uuid\u0027],"},{"line_number":2056,"context_line":"                           {\"task_state\": task_states.POWERING_OFF,"},{"line_number":2057,"context_line":"                            \"vm_state\": vm_states.SHELVED})"}],"source_content_type":"text/x-python","patch_set":9,"id":"da9b358b_8d1de411","line":2054,"updated":"2015-03-28 10:29:31.000000000","message":"nit: this line is underindented: the indentation should match self.context","commit_id":"24ba3744ca9871090937119f44bd38c190675629"}],"nova/tests/unit/conductor/test_conductor.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c56bfc003ecafdab6de3ff2f49463079fae037d9","unresolved":false,"context_lines":[{"line_number":1445,"context_line":"        self.conductor_manager.unshelve_instance(self.context, instance)"},{"line_number":1446,"context_line":"        self.assertIn(\u0027shelved_at\u0027, instance.system_metadata)"},{"line_number":1447,"context_line":"        self.assertIn(\u0027shelved_image_id\u0027, instance.system_metadata)"},{"line_number":1448,"context_line":"        self.assertIn(\u0027shelved_host\u0027, instance.system_metadata)"},{"line_number":1449,"context_line":""},{"line_number":1450,"context_line":"    def test_unshelve_offloaded_instance_glance_image_not_found(self):"},{"line_number":1451,"context_line":"        shelved_image_id \u003d \"image_not_found\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_6e4ba287","line":1448,"updated":"2015-03-05 13:07:04.000000000","message":"I don\u0027t think we should assert this. This make people confused whether we expected there have those metadata or not in normally.","commit_id":"467b749579f649341615dece443a7bc411fbdd5d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1ba3c75d348bb3e5c2dcba197c87b40ff292b65e","unresolved":false,"context_lines":[{"line_number":1445,"context_line":"        self.conductor_manager.unshelve_instance(self.context, instance)"},{"line_number":1446,"context_line":"        self.assertIn(\u0027shelved_at\u0027, instance.system_metadata)"},{"line_number":1447,"context_line":"        self.assertIn(\u0027shelved_image_id\u0027, instance.system_metadata)"},{"line_number":1448,"context_line":"        self.assertIn(\u0027shelved_host\u0027, instance.system_metadata)"},{"line_number":1449,"context_line":""},{"line_number":1450,"context_line":"    def test_unshelve_offloaded_instance_glance_image_not_found(self):"},{"line_number":1451,"context_line":"        shelved_image_id \u003d \"image_not_found\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_4f7de6e6","line":1448,"in_reply_to":"9a80dd14_6e4ba287","updated":"2015-03-05 18:47:09.000000000","message":"Done","commit_id":"467b749579f649341615dece443a7bc411fbdd5d"}]}
