)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":6661,"name":"Burt Holzman","email":"holzman@gmail.com","username":"burt"},"change_message_id":"1f20bfce5b7c2480991025776ad43df141ec9fef","unresolved":false,"context_lines":[{"line_number":647,"context_line":"            try:"},{"line_number":648,"context_line":"                self.handle_lifecycle_event(event)"},{"line_number":649,"context_line":"            except exception.InstanceNotFound:"},{"line_number":650,"context_line":"                LOG.debug(_(\"Event %s arrived for non-existant instance. The \""},{"line_number":651,"context_line":"                            \"instance was probably deleted.\") % event)"},{"line_number":652,"context_line":"        else:"},{"line_number":653,"context_line":"            LOG.debug(_(\"Ignoring event %s\") % event)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2Fkeg%3D","line":650,"updated":"2013-06-27 16:08:41.000000000","message":"typo: non-existent","commit_id":"fc1cf96ebd5b770eb57dbaf36879569f95e0724a"}],"nova/tests/compute/test_compute.py":[{"author":{"_account_id":6661,"name":"Burt Holzman","email":"holzman@gmail.com","username":"burt"},"change_message_id":"f2b27b9f6e13fca82b5ebe37e78924a5b71883d3","unresolved":false,"context_lines":[{"line_number":5346,"context_line":"                                   power_state.RUNNING)"},{"line_number":5347,"context_line":"        self._test_lifecycle_event(-1, None)"},{"line_number":5348,"context_line":""},{"line_number":5349,"context_line":"    def test_lifecycle_event_non_existant_instance(self):"},{"line_number":5350,"context_line":"        # No error raised for non-existent instance because of inherent race"},{"line_number":5351,"context_line":"        # between database updates and hypervisor events. See bug #1180501."},{"line_number":5352,"context_line":"        event \u003d LifecycleEvent(\u0027does-not-exist\u0027, EVENT_LIFECYCLE_STOPPED)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FkYo%3D","line":5349,"updated":"2013-06-27 16:33:13.000000000","message":"Sorry, I missed this typo in the last rev :(","commit_id":"21d5a79f4c07f9c53413e1e103c76874044e527e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e336deb4e1f2fafdfe44577e58d28d3c177d0b13","unresolved":false,"context_lines":[{"line_number":73,"context_line":"from nova.tests.image import fake as fake_image"},{"line_number":74,"context_line":"from nova.tests import matchers"},{"line_number":75,"context_line":"from nova import utils"},{"line_number":76,"context_line":"from nova.virt import fake"},{"line_number":77,"context_line":"from nova.virt.event import LifecycleEvent"},{"line_number":78,"context_line":"from nova.virt.event import EVENT_LIFECYCLE_STARTED"},{"line_number":79,"context_line":"from nova.virt.event import EVENT_LIFECYCLE_STOPPED"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FkCU%3D","line":76,"updated":"2013-06-27 18:14:09.000000000","message":"pep8 issue, fake has to come after event import.","commit_id":"bfe486316a7d6ebbfc39a37e604461a255428bb4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e336deb4e1f2fafdfe44577e58d28d3c177d0b13","unresolved":false,"context_lines":[{"line_number":74,"context_line":"from nova.tests import matchers"},{"line_number":75,"context_line":"from nova import utils"},{"line_number":76,"context_line":"from nova.virt import fake"},{"line_number":77,"context_line":"from nova.virt.event import LifecycleEvent"},{"line_number":78,"context_line":"from nova.virt.event import EVENT_LIFECYCLE_STARTED"},{"line_number":79,"context_line":"from nova.virt.event import EVENT_LIFECYCLE_STOPPED"},{"line_number":80,"context_line":"from nova.virt.event import EVENT_LIFECYCLE_PAUSED"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FkCE%3D","line":77,"updated":"2013-06-27 18:14:09.000000000","message":"lifecycle event has to be imported after the EVENT_ enums.","commit_id":"bfe486316a7d6ebbfc39a37e604461a255428bb4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e336deb4e1f2fafdfe44577e58d28d3c177d0b13","unresolved":false,"context_lines":[{"line_number":75,"context_line":"from nova import utils"},{"line_number":76,"context_line":"from nova.virt import fake"},{"line_number":77,"context_line":"from nova.virt.event import LifecycleEvent"},{"line_number":78,"context_line":"from nova.virt.event import EVENT_LIFECYCLE_STARTED"},{"line_number":79,"context_line":"from nova.virt.event import EVENT_LIFECYCLE_STOPPED"},{"line_number":80,"context_line":"from nova.virt.event import EVENT_LIFECYCLE_PAUSED"},{"line_number":81,"context_line":"from nova.virt.event import EVENT_LIFECYCLE_RESUMED"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FkCA%3D","line":78,"updated":"2013-06-27 18:14:09.000000000","message":"STARTED/STOPPED have to come after PAUSED/RESUMED.","commit_id":"bfe486316a7d6ebbfc39a37e604461a255428bb4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e336deb4e1f2fafdfe44577e58d28d3c177d0b13","unresolved":false,"context_lines":[{"line_number":5327,"context_line":"        self.mox.StubOutWithMock(self.compute, \u0027_sync_instance_power_state\u0027)"},{"line_number":5328,"context_line":"        if power_state !\u003d None:"},{"line_number":5329,"context_line":"            self.compute._sync_instance_power_state(mox.IgnoreArg(),"},{"line_number":5330,"context_line":"                                                    mox.ContainsKeyValue(\u0027uuid\u0027,"},{"line_number":5331,"context_line":"                                                                         uuid),"},{"line_number":5332,"context_line":"                                                    power_state)"},{"line_number":5333,"context_line":"        self.mox.ReplayAll()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FkB4%3D","line":5330,"updated":"2013-06-27 18:14:09.000000000","message":"line is too long","commit_id":"bfe486316a7d6ebbfc39a37e604461a255428bb4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e336deb4e1f2fafdfe44577e58d28d3c177d0b13","unresolved":false,"context_lines":[{"line_number":5351,"context_line":"        # between database updates and hypervisor events. See bug #1180501."},{"line_number":5352,"context_line":"        event \u003d LifecycleEvent(\u0027does-not-exist\u0027, EVENT_LIFECYCLE_STOPPED)"},{"line_number":5353,"context_line":"        self.compute.handle_events(event)"},{"line_number":5354,"context_line":""},{"line_number":5355,"context_line":"class ComputeAPITestCase(BaseTestCase):"},{"line_number":5356,"context_line":""},{"line_number":5357,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FkB0%3D","line":5354,"updated":"2013-06-27 18:14:09.000000000","message":"Need another blank line before the class def.","commit_id":"bfe486316a7d6ebbfc39a37e604461a255428bb4"}]}
