)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"44711a9f12bf1ce6e298e11f3276c5a30a8c737a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move abort and update_usage tests to test_tracker"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Moves the claim abort and update_usage tests from test_resource_tracker"},{"line_number":10,"context_line":"to the NoDBTestCase test_tracker file. The fewer tests remaining in"},{"line_number":11,"context_line":"test_resource_tracker when we change the constructor for"},{"line_number":12,"context_line":"PciDeviceTracker, the better."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa1b9901_f9c42141","line":9,"updated":"2015-08-18 10:08:38.000000000","message":"when you say \"move\" did you mean \"rewrite\"? I haven\u0027t fully read them for equality but on first glance they look quite different!","commit_id":"e62725437c138765421b922193c0cbda883187bc"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"49e68869ed4b4b316e98be0b86232955f8077597","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move abort and update_usage tests to test_tracker"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Moves the claim abort and update_usage tests from test_resource_tracker"},{"line_number":10,"context_line":"to the NoDBTestCase test_tracker file. The fewer tests remaining in"},{"line_number":11,"context_line":"test_resource_tracker when we change the constructor for"},{"line_number":12,"context_line":"PciDeviceTracker, the better."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa1b9901_9974b736","line":9,"in_reply_to":"fa1b9901_f9c42141","updated":"2015-08-19 16:26:21.000000000","message":"Done","commit_id":"e62725437c138765421b922193c0cbda883187bc"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"140484e4d2f4013092d781174ecf092858ad6d8b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"rt: Rewrite abort and update_usage tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Rewritess the claim abort and update_usage tests in"},{"line_number":10,"context_line":"test_resource_tracker and move them to the NoDBTestCase test_tracker"},{"line_number":11,"context_line":"file. The fewer tests remaining in test_resource_tracker when we change"},{"line_number":12,"context_line":"the constructor for PciDeviceTracker, the better."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa1b9901_975eed43","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":9},"updated":"2015-08-24 19:56:39.000000000","message":"spelling fail","commit_id":"423e661d5d2a9ac8bce01b6458730288ff130b99"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"621cd0de5b9697d4f6ed3523b83464cd41cd3537","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"rt: Rewrite abort and update_usage tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Rewritess the claim abort and update_usage tests in"},{"line_number":10,"context_line":"test_resource_tracker and move them to the NoDBTestCase test_tracker"},{"line_number":11,"context_line":"file. The fewer tests remaining in test_resource_tracker when we change"},{"line_number":12,"context_line":"the constructor for PciDeviceTracker, the better."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa1b9901_ece1612b","line":9,"in_reply_to":"fa1b9901_975eed43","updated":"2015-08-25 19:58:24.000000000","message":"Done","commit_id":"423e661d5d2a9ac8bce01b6458730288ff130b99"}],"nova/tests/unit/compute/test_tracker.py":[{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"44711a9f12bf1ce6e298e11f3276c5a30a8c737a","unresolved":false,"context_lines":[{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"    @mock.patch(\u0027nova.objects.InstancePCIRequests.get_by_instance_uuid\u0027)"},{"line_number":1069,"context_line":"    @mock.patch(\u0027nova.objects.MigrationList.get_in_progress_by_host_and_node\u0027)"},{"line_number":1070,"context_line":"    def test_update_usage_with_claim(self, migr_mock, pci_mock):"},{"line_number":1071,"context_line":"        # Test that RT.update_usage() only changes the compute node"},{"line_number":1072,"context_line":"        # resources if there has been a claim first."},{"line_number":1073,"context_line":"        pci_mock.return_value \u003d objects.InstancePCIRequests(requests\u003d[])"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_39a4d9a4","line":1070,"updated":"2015-08-18 10:08:38.000000000","message":"this doesn\u0027t look very much like the test_update_usage_only_for_tracked you deleted?","commit_id":"e62725437c138765421b922193c0cbda883187bc"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"49e68869ed4b4b316e98be0b86232955f8077597","unresolved":false,"context_lines":[{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"    @mock.patch(\u0027nova.objects.InstancePCIRequests.get_by_instance_uuid\u0027)"},{"line_number":1069,"context_line":"    @mock.patch(\u0027nova.objects.MigrationList.get_in_progress_by_host_and_node\u0027)"},{"line_number":1070,"context_line":"    def test_update_usage_with_claim(self, migr_mock, pci_mock):"},{"line_number":1071,"context_line":"        # Test that RT.update_usage() only changes the compute node"},{"line_number":1072,"context_line":"        # resources if there has been a claim first."},{"line_number":1073,"context_line":"        pci_mock.return_value \u003d objects.InstancePCIRequests(requests\u003d[])"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_59dfff0c","line":1070,"in_reply_to":"fa1b9901_39a4d9a4","updated":"2015-08-19 16:26:21.000000000","message":"It tests the same thing: that calling update_usage() before a claim of that instance does not actually change anything with the stored compute node resources, and that after a claim, the compute node resources are indeed changed.","commit_id":"e62725437c138765421b922193c0cbda883187bc"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"85e32d8a790cb43c00f9cf5156a92e8c067b59b8","unresolved":false,"context_lines":[{"line_number":1072,"context_line":"        # resources if there has been a claim first."},{"line_number":1073,"context_line":"        pci_mock.return_value \u003d objects.InstancePCIRequests(requests\u003d[])"},{"line_number":1074,"context_line":""},{"line_number":1075,"context_line":"        disk_used \u003d self.instance.root_gb + self.instance.ephemeral_gb"},{"line_number":1076,"context_line":"        expected \u003d copy.deepcopy(_COMPUTE_NODE_FIXTURES[0])"},{"line_number":1077,"context_line":"        self.rt.update_usage(self.ctx, self.instance)"},{"line_number":1078,"context_line":"        self.assertTrue(obj_base.obj_equal_prims(expected,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_e5b89d13","line":1075,"updated":"2015-08-25 17:03:13.000000000","message":"nit: probably better placed in L1080","commit_id":"423e661d5d2a9ac8bce01b6458730288ff130b99"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"140484e4d2f4013092d781174ecf092858ad6d8b","unresolved":false,"context_lines":[{"line_number":1084,"context_line":"            \u0027free_disk_gb\u0027: expected[\u0027local_gb\u0027] - disk_used,"},{"line_number":1085,"context_line":"            \"free_ram_mb\": expected[\u0027memory_mb\u0027] - self.instance.memory_mb,"},{"line_number":1086,"context_line":"            \u0027running_vms\u0027: 1,"},{"line_number":1087,"context_line":"            # \u0027vcpus_used\u0027: 0,  # vcpus are not claimed"},{"line_number":1088,"context_line":"            \u0027pci_device_pools\u0027: objects.PciDevicePoolList(),"},{"line_number":1089,"context_line":"        })"},{"line_number":1090,"context_line":"        with mock.patch.object(self.rt, \u0027_update\u0027) as update_mock:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_7701d905","line":1087,"updated":"2015-08-24 19:56:39.000000000","message":"Did you mean to remove this or leave it commented out? IMHO, if it stays, it should be a comment somewhere and not in the middle of a function call like this.","commit_id":"423e661d5d2a9ac8bce01b6458730288ff130b99"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"621cd0de5b9697d4f6ed3523b83464cd41cd3537","unresolved":false,"context_lines":[{"line_number":1084,"context_line":"            \u0027free_disk_gb\u0027: expected[\u0027local_gb\u0027] - disk_used,"},{"line_number":1085,"context_line":"            \"free_ram_mb\": expected[\u0027memory_mb\u0027] - self.instance.memory_mb,"},{"line_number":1086,"context_line":"            \u0027running_vms\u0027: 1,"},{"line_number":1087,"context_line":"            # \u0027vcpus_used\u0027: 0,  # vcpus are not claimed"},{"line_number":1088,"context_line":"            \u0027pci_device_pools\u0027: objects.PciDevicePoolList(),"},{"line_number":1089,"context_line":"        })"},{"line_number":1090,"context_line":"        with mock.patch.object(self.rt, \u0027_update\u0027) as update_mock:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_ccbb3d0e","line":1087,"in_reply_to":"fa1b9901_7701d905","updated":"2015-08-25 19:58:24.000000000","message":"Done","commit_id":"423e661d5d2a9ac8bce01b6458730288ff130b99"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"85e32d8a790cb43c00f9cf5156a92e8c067b59b8","unresolved":false,"context_lines":[{"line_number":1084,"context_line":"            \u0027free_disk_gb\u0027: expected[\u0027local_gb\u0027] - disk_used,"},{"line_number":1085,"context_line":"            \"free_ram_mb\": expected[\u0027memory_mb\u0027] - self.instance.memory_mb,"},{"line_number":1086,"context_line":"            \u0027running_vms\u0027: 1,"},{"line_number":1087,"context_line":"            # \u0027vcpus_used\u0027: 0,  # vcpus are not claimed"},{"line_number":1088,"context_line":"            \u0027pci_device_pools\u0027: objects.PciDevicePoolList(),"},{"line_number":1089,"context_line":"        })"},{"line_number":1090,"context_line":"        with mock.patch.object(self.rt, \u0027_update\u0027) as update_mock:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_a505c511","line":1087,"in_reply_to":"fa1b9901_7701d905","updated":"2015-08-25 17:03:13.000000000","message":"Well, I just wonder if not claiming the VCPUs is a bug or something really wanted ? By looking the update_usage() code, I don\u0027t really see why we should avoid that.\n\nJay, any idea on that ? /me is a bit confused","commit_id":"423e661d5d2a9ac8bce01b6458730288ff130b99"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"621cd0de5b9697d4f6ed3523b83464cd41cd3537","unresolved":false,"context_lines":[{"line_number":1084,"context_line":"            \u0027free_disk_gb\u0027: expected[\u0027local_gb\u0027] - disk_used,"},{"line_number":1085,"context_line":"            \"free_ram_mb\": expected[\u0027memory_mb\u0027] - self.instance.memory_mb,"},{"line_number":1086,"context_line":"            \u0027running_vms\u0027: 1,"},{"line_number":1087,"context_line":"            # \u0027vcpus_used\u0027: 0,  # vcpus are not claimed"},{"line_number":1088,"context_line":"            \u0027pci_device_pools\u0027: objects.PciDevicePoolList(),"},{"line_number":1089,"context_line":"        })"},{"line_number":1090,"context_line":"        with mock.patch.object(self.rt, \u0027_update\u0027) as update_mock:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_2c4af926","line":1087,"in_reply_to":"fa1b9901_a505c511","updated":"2015-08-25 19:58:24.000000000","message":"It was just a mistake on my part to comment out that line. Fixed.","commit_id":"423e661d5d2a9ac8bce01b6458730288ff130b99"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3ee5d2f1a8e031996efbce94a92c98a938ecc6c1","unresolved":false,"context_lines":[{"line_number":1084,"context_line":"            \u0027free_disk_gb\u0027: expected[\u0027local_gb\u0027] - disk_used,"},{"line_number":1085,"context_line":"            \"free_ram_mb\": expected[\u0027memory_mb\u0027] - self.instance.memory_mb,"},{"line_number":1086,"context_line":"            \u0027running_vms\u0027: 1,"},{"line_number":1087,"context_line":"            # \u0027vcpus_used\u0027: 0,  # vcpus are not claimed"},{"line_number":1088,"context_line":"            \u0027pci_device_pools\u0027: objects.PciDevicePoolList(),"},{"line_number":1089,"context_line":"        })"},{"line_number":1090,"context_line":"        with mock.patch.object(self.rt, \u0027_update\u0027) as update_mock:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_78c74898","line":1087,"in_reply_to":"fa1b9901_ccbb3d0e","updated":"2015-08-25 22:49:59.000000000","message":"I\u0027m actually still wondering why VCPUs are not claimed but that\u0027s not related to your change. Let\u0027s discuss that when you have time on IRC.","commit_id":"423e661d5d2a9ac8bce01b6458730288ff130b99"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"85e32d8a790cb43c00f9cf5156a92e8c067b59b8","unresolved":false,"context_lines":[{"line_number":1093,"context_line":"            update_mock.assert_called_once_with(self.elevated)"},{"line_number":1094,"context_line":"            self.assertTrue(obj_base.obj_equal_prims(expected,"},{"line_number":1095,"context_line":"                                                     self.rt.compute_node))"},{"line_number":1096,"context_line":""},{"line_number":1097,"context_line":"    @mock.patch(\u0027nova.objects.InstancePCIRequests.get_by_instance_uuid\u0027)"},{"line_number":1098,"context_line":"    @mock.patch(\u0027nova.objects.MigrationList.get_in_progress_by_host_and_node\u0027)"},{"line_number":1099,"context_line":"    def test_claim(self, migr_mock, pci_mock):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_05a591a0","line":1096,"updated":"2015-08-25 17:03:13.000000000","message":"I know that the previous test was pretty lazy, but maybe we could also check that it calls set_instance_and_node() because that method is crucial IMHO to have the instance/node relationship","commit_id":"423e661d5d2a9ac8bce01b6458730288ff130b99"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd93dd62c26cf646822de0c0d75e9dea1d2207e7","unresolved":false,"context_lines":[{"line_number":1084,"context_line":"            \u0027free_disk_gb\u0027: expected[\u0027local_gb\u0027] - disk_used,"},{"line_number":1085,"context_line":"            \"free_ram_mb\": expected[\u0027memory_mb\u0027] - self.instance.memory_mb,"},{"line_number":1086,"context_line":"            \u0027running_vms\u0027: 1,"},{"line_number":1087,"context_line":"            \u0027vcpus_used\u0027: 0,  # vcpus are not claimed"},{"line_number":1088,"context_line":"            \u0027pci_device_pools\u0027: objects.PciDevicePoolList(),"},{"line_number":1089,"context_line":"        })"},{"line_number":1090,"context_line":"        with mock.patch.object(self.rt, \u0027_update\u0027) as update_mock:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_5a310359","line":1087,"updated":"2015-08-26 10:31:39.000000000","message":"well, that\u0027s not true, I figured out why :\nhttps://github.com/openstack/nova/blob/master/nova/compute/resources/vcpu.py\n\nvcpus are claimed by ERT mechanism... So I guess a better explanation would be nice","commit_id":"bf72c2c83f13dd3204f4e8cf8beda5c7acc4f483"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd93dd62c26cf646822de0c0d75e9dea1d2207e7","unresolved":false,"context_lines":[{"line_number":1093,"context_line":"            update_mock.assert_called_once_with(self.elevated)"},{"line_number":1094,"context_line":"            self.assertTrue(obj_base.obj_equal_prims(expected,"},{"line_number":1095,"context_line":"                                                     self.rt.compute_node))"},{"line_number":1096,"context_line":""},{"line_number":1097,"context_line":"    @mock.patch(\u0027nova.objects.InstancePCIRequests.get_by_instance_uuid\u0027)"},{"line_number":1098,"context_line":"    @mock.patch(\u0027nova.objects.MigrationList.get_in_progress_by_host_and_node\u0027)"},{"line_number":1099,"context_line":"    def test_claim(self, migr_mock, pci_mock):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_9adf9bd5","line":1096,"updated":"2015-08-26 10:31:39.000000000","message":"I rewrite my comment on PS3, I think it would be nice to assert that https://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L151 is called since it\u0027s a major piece of the host/instance relationship","commit_id":"bf72c2c83f13dd3204f4e8cf8beda5c7acc4f483"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e604163129acadaed043e260b1f2b10dcafb7957","unresolved":false,"context_lines":[{"line_number":1093,"context_line":"            update_mock.assert_called_once_with(self.elevated)"},{"line_number":1094,"context_line":"            self.assertTrue(obj_base.obj_equal_prims(expected,"},{"line_number":1095,"context_line":"                                                     self.rt.compute_node))"},{"line_number":1096,"context_line":""},{"line_number":1097,"context_line":"    @mock.patch(\u0027nova.objects.InstancePCIRequests.get_by_instance_uuid\u0027)"},{"line_number":1098,"context_line":"    @mock.patch(\u0027nova.objects.MigrationList.get_in_progress_by_host_and_node\u0027)"},{"line_number":1099,"context_line":"    def test_claim(self, migr_mock, pci_mock):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_08a36a9e","line":1096,"in_reply_to":"da20952f_fd403f36","updated":"2015-08-28 20:45:44.000000000","message":"Ack","commit_id":"bf72c2c83f13dd3204f4e8cf8beda5c7acc4f483"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5b8ef17199851ddcbfada4cde94c3f77514ec448","unresolved":false,"context_lines":[{"line_number":1093,"context_line":"            update_mock.assert_called_once_with(self.elevated)"},{"line_number":1094,"context_line":"            self.assertTrue(obj_base.obj_equal_prims(expected,"},{"line_number":1095,"context_line":"                                                     self.rt.compute_node))"},{"line_number":1096,"context_line":""},{"line_number":1097,"context_line":"    @mock.patch(\u0027nova.objects.InstancePCIRequests.get_by_instance_uuid\u0027)"},{"line_number":1098,"context_line":"    @mock.patch(\u0027nova.objects.MigrationList.get_in_progress_by_host_and_node\u0027)"},{"line_number":1099,"context_line":"    def test_claim(self, migr_mock, pci_mock):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_fd403f36","line":1096,"in_reply_to":"fa1b9901_9adf9bd5","updated":"2015-08-28 18:19:22.000000000","message":"Sylvain, that is tested in the test_claim_numa() test case on line 1115.","commit_id":"bf72c2c83f13dd3204f4e8cf8beda5c7acc4f483"}]}
