)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"98914de4d577b7c9772be33ec7bb6f83cd7dfe3d","unresolved":false,"context_lines":[{"line_number":2108,"context_line":"        current_power_state \u003d self._get_power_state(context, instance)"},{"line_number":2109,"context_line":"        instance[\u0027power_state\u0027] \u003d current_power_state"},{"line_number":2110,"context_line":"        instance[\u0027vm_state\u0027] \u003d vm_states.ACTIVE"},{"line_number":2111,"context_line":"        instance[\u0027expected_task_state\u0027] \u003d task_states.RESTORING"},{"line_number":2112,"context_line":"        instance[\u0027task_state\u0027] \u003d None"},{"line_number":2113,"context_line":"        instance.save()"},{"line_number":2114,"context_line":"        self._notify_about_instance_usage(context, instance, \"restore.end\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F8qOU%3D","line":2111,"updated":"2013-12-23 15:38:05.000000000","message":"Same thing about expected_task_state here.","commit_id":"d4e86951275d6d1a1cd4186722facfd5739772d1"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"98914de4d577b7c9772be33ec7bb6f83cd7dfe3d","unresolved":false,"context_lines":[{"line_number":3621,"context_line":"        else:"},{"line_number":3622,"context_line":"            return \u0027\\n\u0027.join(log.split(\u0027\\n\u0027)[-int(length):])"},{"line_number":3623,"context_line":""},{"line_number":3624,"context_line":"    @object_compat"},{"line_number":3625,"context_line":"    @rpc_common.client_exceptions(exception.ConsoleTypeInvalid,"},{"line_number":3626,"context_line":"            exception.InstanceNotReady, exception.InstanceNotFound,"},{"line_number":3627,"context_line":"            NotImplementedError)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F8qOA%3D","line":3624,"updated":"2013-12-23 15:38:05.000000000","message":"Thanks for fixing these. Personally, I\u0027d rather these be in their own patch, along with the additional comment above.. :D","commit_id":"d4e86951275d6d1a1cd4186722facfd5739772d1"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"4776131ce980dd29e2cbbde83f16d54d7a9bd17f","unresolved":false,"context_lines":[{"line_number":324,"context_line":"# TODO(danms): Remove me after Icehouse"},{"line_number":325,"context_line":"# NOTE(mikal): if the method being decorated has more than one decorator, then"},{"line_number":326,"context_line":"# put this one first. Otherwise the various exception handling decorators do"},{"line_number":327,"context_line":"# not function correctly."},{"line_number":328,"context_line":"def object_compat(function):"},{"line_number":329,"context_line":"    \"\"\"Wraps a method that expects a new-world instance"},{"line_number":330,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAT3%2F%2Fzlw%3D","line":327,"updated":"2013-12-31 06:06:24.000000000","message":"Is there an exception handling decorator that expects an object?  Curious what you ran into.","commit_id":"eecae6d22c74561fb97bad5be433b4de023ae69b"}],"nova/tests/compute/test_compute.py":[{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"7c223f4bfb647925b6ec0fedb0ac95348d6d9384","unresolved":false,"context_lines":[{"line_number":9459,"context_line":"        self.inst_ref \u003d jsonutils.to_primitive(self._create_fake_instance"},{"line_number":9460,"context_line":"                                          ({\u0027host\u0027: \u0027fake_host_2\u0027,"},{"line_number":9461,"context_line":"                                            \u0027node\u0027: \u0027fakenode2\u0027}))"},{"line_number":9462,"context_line":"        self.inst_obj \u003d instance_obj.Instance._from_db_object(self.context,"},{"line_number":9463,"context_line":"               instance_obj.Instance(), self.inst_ref)"},{"line_number":9464,"context_line":"        db.instance_update(self.context, self.inst_ref[\u0027uuid\u0027],"},{"line_number":9465,"context_line":"                           {\"task_state\": task_states.REBUILDING})"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAT3%2F%2FvnQ%3D","line":9462,"updated":"2014-01-02 14:54:56.000000000","message":"What is the use of self.inst_obj?","commit_id":"e62c243a8fad0b5a8bdad580cb6a246b208e3d15"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"6e6b29ed9cd6fa9758cf0583dd22189d69069124","unresolved":false,"context_lines":[{"line_number":9459,"context_line":"        self.inst_ref \u003d jsonutils.to_primitive(self._create_fake_instance"},{"line_number":9460,"context_line":"                                          ({\u0027host\u0027: \u0027fake_host_2\u0027,"},{"line_number":9461,"context_line":"                                            \u0027node\u0027: \u0027fakenode2\u0027}))"},{"line_number":9462,"context_line":"        self.inst_obj \u003d instance_obj.Instance._from_db_object(self.context,"},{"line_number":9463,"context_line":"               instance_obj.Instance(), self.inst_ref)"},{"line_number":9464,"context_line":"        db.instance_update(self.context, self.inst_ref[\u0027uuid\u0027],"},{"line_number":9465,"context_line":"                           {\"task_state\": task_states.REBUILDING})"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAT3%2F%2Ftvo%3D","line":9462,"in_reply_to":"AAAAT3%2F%2FvnQ%3D","updated":"2014-01-03 00:59:01.000000000","message":"Oh, this is hanging around from a previous version of the patch. I shall remove it.","commit_id":"e62c243a8fad0b5a8bdad580cb6a246b208e3d15"}]}
