)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b48975d53c004fcb04102a71013f1697bbd9087d","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Move the ResourceTracker._instance_in_resize_state() method to a simple"},{"line_number":10,"context_line":"module-level function, since nothing in the method actually accessed the"},{"line_number":11,"context_line":"resource tracker object anyway, and testing a simlpe function means we"},{"line_number":12,"context_line":"can test it without the hassle of creating the resource tracker in the"},{"line_number":13,"context_line":"test cases."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa1b9901_77f79959","line":11,"range":{"start_line":11,"start_character":46,"end_line":11,"end_character":52},"updated":"2015-08-24 19:54:24.000000000","message":"spelling fail","commit_id":"6daaa30f56d75997d358352e72523bc85e2423fb"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"250024d4773a609fb1672252cecb529d40bcec78","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Move the ResourceTracker._instance_in_resize_state() method to a simple"},{"line_number":10,"context_line":"module-level function, since nothing in the method actually accessed the"},{"line_number":11,"context_line":"resource tracker object anyway, and testing a simlpe function means we"},{"line_number":12,"context_line":"can test it without the hassle of creating the resource tracker in the"},{"line_number":13,"context_line":"test cases."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa1b9901_2c951986","line":11,"in_reply_to":"fa1b9901_77f79959","updated":"2015-08-25 19:54:10.000000000","message":"Done","commit_id":"6daaa30f56d75997d358352e72523bc85e2423fb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ee02994d5c7327222ad209274f5b50568798458d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"module-level function, since nothing in the method actually accessed the"},{"line_number":11,"context_line":"resource tracker object anyway, and testing a simlpe function means we"},{"line_number":12,"context_line":"can test it without the hassle of creating the resource tracker in the"},{"line_number":13,"context_line":"test cases."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Also removes a duplicate test_claim() method from the"},{"line_number":16,"context_line":"test_resource_tracker module that was already in the NoDBTestCase-based"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa1b9901_eafaacbc","line":13,"updated":"2015-08-25 16:43:00.000000000","message":"I don\u0027t get really why it\u0027s needed to be in the same patch series than the PCI cleanup... Is this really needed for your southbound changes?","commit_id":"6daaa30f56d75997d358352e72523bc85e2423fb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b6e58d3fb217b7f6dc2cf5fd20c9bace0cc23a3e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"module-level function, since nothing in the method actually accessed the"},{"line_number":11,"context_line":"resource tracker object anyway, and testing a simlpe function means we"},{"line_number":12,"context_line":"can test it without the hassle of creating the resource tracker in the"},{"line_number":13,"context_line":"test cases."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Also removes a duplicate test_claim() method from the"},{"line_number":16,"context_line":"test_resource_tracker module that was already in the NoDBTestCase-based"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa1b9901_6a645c21","line":13,"in_reply_to":"fa1b9901_eafaacbc","updated":"2015-08-25 16:51:11.000000000","message":"Okay, I understand, it\u0027s because it\u0027s not only for PCI cleanup, but also for kicking the butt of test_resource_tracker. Hell yeah, good move !","commit_id":"6daaa30f56d75997d358352e72523bc85e2423fb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ee02994d5c7327222ad209274f5b50568798458d","unresolved":false,"context_lines":[{"line_number":17,"context_line":"test_tracker.MoveClaimTestCase object. The idea behind this and the next"},{"line_number":18,"context_line":"patches are to reduce the amount of test code changes required when"},{"line_number":19,"context_line":"changing the PciDeviceTracker\u0027s constructor and its instantiation in the"},{"line_number":20,"context_line":"resource tracker."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I0e0aebbe6ca0f659068e1adb2c9a1d6231fb70a7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa1b9901_8a7a1087","line":20,"updated":"2015-08-25 16:43:00.000000000","message":"sure, I don\u0027t want to nitpick, but why shouldn\u0027t you just provide 2 separate changes for that ? I think that removing the duplicate unittest should be really quickly merged while we could review that one on the same time.\n\nAgain, it\u0027s just a nitpick, so don\u0027t change anything.","commit_id":"6daaa30f56d75997d358352e72523bc85e2423fb"}],"nova/compute/resource_tracker.py":[{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"fae1e0fe890398745699d0a2012bd41f33d1b4b7","unresolved":false,"context_lines":[{"line_number":62,"context_line":"CONF.import_opt(\u0027my_ip\u0027, \u0027nova.netconf\u0027)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"def _instance_in_resize_state(instance):"},{"line_number":66,"context_line":"    \"\"\"Returns True if the instance is in one of the resizing states.\"\"\""},{"line_number":67,"context_line":"    vm \u003d instance[\u0027vm_state\u0027]"},{"line_number":68,"context_line":"    task \u003d instance[\u0027task_state\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_b9ff8900","line":65,"updated":"2015-08-18 10:02:58.000000000","message":"could have been a @staticmethod, but I have no problem with this","commit_id":"764faaa7e32585341f2a0bf0ee4066ee4f0b3dae"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"fae1e0fe890398745699d0a2012bd41f33d1b4b7","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    if (vm in [vm_states.ACTIVE, vm_states.STOPPED]"},{"line_number":74,"context_line":"            and task in [task_states.RESIZE_PREP,"},{"line_number":75,"context_line":"            task_states.RESIZE_MIGRATING, task_states.RESIZE_MIGRATED,"},{"line_number":76,"context_line":"            task_states.RESIZE_FINISH]):"},{"line_number":77,"context_line":"        return True"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_b95ea9e7","line":76,"updated":"2015-08-18 10:02:58.000000000","message":"femtonit: might look nicer if you put the task states in a var","commit_id":"764faaa7e32585341f2a0bf0ee4066ee4f0b3dae"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"fae1e0fe890398745699d0a2012bd41f33d1b4b7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            task_states.RESIZE_FINISH]):"},{"line_number":77,"context_line":"        return True"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    return False"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"class ResourceTracker(object):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_d987dd5f","line":79,"updated":"2015-08-18 10:02:58.000000000","message":"nit: can we just return the expression?","commit_id":"764faaa7e32585341f2a0bf0ee4066ee4f0b3dae"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"e18092c593642b82eef85d224467bdf7d59a08a0","unresolved":false,"context_lines":[{"line_number":65,"context_line":"def _instance_in_resize_state(instance):"},{"line_number":66,"context_line":"    \"\"\"Returns True if the instance is in one of the resizing states.\"\"\""},{"line_number":67,"context_line":"    vm \u003d instance[\u0027vm_state\u0027]"},{"line_number":68,"context_line":"    task \u003d instance[\u0027task_state\u0027]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    if vm \u003d\u003d vm_states.RESIZED:"},{"line_number":71,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_dfd3ef02","line":68,"updated":"2015-08-19 17:07:23.000000000","message":"While touching this code maybe you could change the above two lines to use dot-notation.","commit_id":"6daaa30f56d75997d358352e72523bc85e2423fb"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"250024d4773a609fb1672252cecb529d40bcec78","unresolved":false,"context_lines":[{"line_number":65,"context_line":"def _instance_in_resize_state(instance):"},{"line_number":66,"context_line":"    \"\"\"Returns True if the instance is in one of the resizing states.\"\"\""},{"line_number":67,"context_line":"    vm \u003d instance[\u0027vm_state\u0027]"},{"line_number":68,"context_line":"    task \u003d instance[\u0027task_state\u0027]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    if vm \u003d\u003d vm_states.RESIZED:"},{"line_number":71,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_e14baaaf","line":68,"in_reply_to":"fa1b9901_dfd3ef02","updated":"2015-08-25 19:54:10.000000000","message":"Done","commit_id":"6daaa30f56d75997d358352e72523bc85e2423fb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ee02994d5c7327222ad209274f5b50568798458d","unresolved":false,"context_lines":[{"line_number":65,"context_line":"def _instance_in_resize_state(instance):"},{"line_number":66,"context_line":"    \"\"\"Returns True if the instance is in one of the resizing states.\"\"\""},{"line_number":67,"context_line":"    vm \u003d instance[\u0027vm_state\u0027]"},{"line_number":68,"context_line":"    task \u003d instance[\u0027task_state\u0027]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    if vm \u003d\u003d vm_states.RESIZED:"},{"line_number":71,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_aab6f43b","line":68,"in_reply_to":"fa1b9901_dfd3ef02","updated":"2015-08-25 16:43:00.000000000","message":"Yeah, that sounds a good opportunity even if the change only targets to move it, not rework on it.","commit_id":"6daaa30f56d75997d358352e72523bc85e2423fb"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"3a4dc0907f9e046b1061d50dca33e7c889e30b4f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            and task in [task_states.RESIZE_PREP,"},{"line_number":78,"context_line":"            task_states.RESIZE_MIGRATING, task_states.RESIZE_MIGRATED,"},{"line_number":79,"context_line":"            task_states.RESIZE_FINISH]):"},{"line_number":80,"context_line":"        return True"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    return False"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_978a1463","line":80,"updated":"2015-08-26 10:03:51.000000000","message":"we can just:\n\n  return vm \u003d\u003d vm_states.RESIZED or (vm in ...\n\nI won\u0027t -1 because it\u0027s kind of a nit and you\u0027re just moving existing code, but it\u0027s brainless code.","commit_id":"643eeda0582bdaf9159e95906e7950d7bfe32b02"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"96ef8b9fe521b202e5ef1a5a72ffda4f9f94fc8b","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            and task in [task_states.RESIZE_PREP,"},{"line_number":96,"context_line":"            task_states.RESIZE_MIGRATING, task_states.RESIZE_MIGRATED,"},{"line_number":97,"context_line":"            task_states.RESIZE_FINISH]):"},{"line_number":98,"context_line":"        return True"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    return False"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_ff4a8eab","line":98,"updated":"2015-08-28 10:19:02.000000000","message":"this logic","commit_id":"328d15baa9b663bba3e9bf152e81a31b390f2597"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"247a401520688f20bde5ab7de496cb46d4aacf15","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            and task in [task_states.RESIZE_PREP,"},{"line_number":96,"context_line":"            task_states.RESIZE_MIGRATING, task_states.RESIZE_MIGRATED,"},{"line_number":97,"context_line":"            task_states.RESIZE_FINISH]):"},{"line_number":98,"context_line":"        return True"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    return False"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_3d7f9767","line":98,"in_reply_to":"da20952f_ff4a8eab","updated":"2015-08-28 18:21:18.000000000","message":"?","commit_id":"328d15baa9b663bba3e9bf152e81a31b390f2597"}],"nova/tests/unit/compute/test_resource_tracker.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ee02994d5c7327222ad209274f5b50568798458d","unresolved":false,"context_lines":[{"line_number":1186,"context_line":"        self._assert(FAKE_VIRT_LOCAL_GB, \u0027local_gb_used\u0027)"},{"line_number":1187,"context_line":"        self._assert(FAKE_VIRT_VCPUS, \u0027vcpus_used\u0027)"},{"line_number":1188,"context_line":"        self.assertEqual(1, len(self.tracker.tracked_migrations))"},{"line_number":1189,"context_line":""},{"line_number":1190,"context_line":"    @mock.patch(\u0027nova.objects.InstancePCIRequests.get_by_instance_uuid\u0027,"},{"line_number":1191,"context_line":"                return_value\u003dobjects.InstancePCIRequests(requests\u003d[]))"},{"line_number":1192,"context_line":"    def test_abort(self, mock_get):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_6aa21cb0","side":"PARENT","line":1189,"updated":"2015-08-25 16:43:00.000000000","message":"yeah removing that test in the same change could maybe create a confusion but thanks to your commit msg, I understand why.","commit_id":"ee2ecfc68aaf52223d6491dd7a366682d06c03c6"}],"nova/tests/unit/compute/test_tracker.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ee02994d5c7327222ad209274f5b50568798458d","unresolved":false,"context_lines":[{"line_number":1343,"context_line":"                instance \u003d objects.Instance(vm_state\u003dvm_state,"},{"line_number":1344,"context_line":"                                            task_state\u003dtask_state)"},{"line_number":1345,"context_line":"                result \u003d resource_tracker._instance_in_resize_state(instance)"},{"line_number":1346,"context_line":"                self.assertTrue(result)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_6a90dc43","line":1346,"updated":"2015-08-25 16:43:00.000000000","message":"nit: well, now that the unittest has its own TestCase for only it, maybe it would be cool to have one unittest for each assertion ?","commit_id":"6daaa30f56d75997d358352e72523bc85e2423fb"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"250024d4773a609fb1672252cecb529d40bcec78","unresolved":false,"context_lines":[{"line_number":1343,"context_line":"                instance \u003d objects.Instance(vm_state\u003dvm_state,"},{"line_number":1344,"context_line":"                                            task_state\u003dtask_state)"},{"line_number":1345,"context_line":"                result \u003d resource_tracker._instance_in_resize_state(instance)"},{"line_number":1346,"context_line":"                self.assertTrue(result)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_a14b7286","line":1346,"in_reply_to":"fa1b9901_6a90dc43","updated":"2015-08-25 19:54:10.000000000","message":"Done","commit_id":"6daaa30f56d75997d358352e72523bc85e2423fb"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"96ef8b9fe521b202e5ef1a5a72ffda4f9f94fc8b","unresolved":false,"context_lines":[{"line_number":1287,"context_line":"    def test_resized_resize_migrating(self):"},{"line_number":1288,"context_line":"        instance \u003d objects.Instance(vm_state\u003dvm_states.RESIZED,"},{"line_number":1289,"context_line":"                                    task_state\u003dtask_states.RESIZE_MIGRATING)"},{"line_number":1290,"context_line":"        self.assertTrue(resource_tracker._instance_in_resize_state(instance))"},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":"    def test_resized_resize_finish(self):"},{"line_number":1293,"context_line":"        instance \u003d objects.Instance(vm_state\u003dvm_states.RESIZED,"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_fff84e4b","line":1290,"updated":"2015-08-28 10:19:02.000000000","message":"if we are going to rewrite those cases\nhow about adding logic for ACTIVE , state \u003dxxx\n\nbecause RESIZED will return true anyway","commit_id":"328d15baa9b663bba3e9bf152e81a31b390f2597"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"247a401520688f20bde5ab7de496cb46d4aacf15","unresolved":false,"context_lines":[{"line_number":1287,"context_line":"    def test_resized_resize_migrating(self):"},{"line_number":1288,"context_line":"        instance \u003d objects.Instance(vm_state\u003dvm_states.RESIZED,"},{"line_number":1289,"context_line":"                                    task_state\u003dtask_states.RESIZE_MIGRATING)"},{"line_number":1290,"context_line":"        self.assertTrue(resource_tracker._instance_in_resize_state(instance))"},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":"    def test_resized_resize_finish(self):"},{"line_number":1293,"context_line":"        instance \u003d objects.Instance(vm_state\u003dvm_states.RESIZED,"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_1df17301","line":1290,"in_reply_to":"da20952f_fff84e4b","updated":"2015-08-28 18:21:18.000000000","message":"See above... test_active_suspending().","commit_id":"328d15baa9b663bba3e9bf152e81a31b390f2597"}]}
