)]}'
{"nova/tests/test_hypervapi.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"21270795b6b2fa1f8142acc041fd01a3368cf206","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"        self.assertRaises(vmutils.HyperVException,"},{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FgIk%3D","line":1162,"updated":"2013-05-07 16:22:45.000000000","message":"Hmm, I\u0027m missing where you trigger the size exception in this case. the setup function doesn\u0027t seem to do it...","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2f697d6ab787c8f84fa9fb4423641625f216af3e","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"        self.assertRaises(vmutils.HyperVException,"},{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Ff1Q%3D","line":1162,"in_reply_to":"AAAAOn%2F%2Ff2A%3D","updated":"2013-05-07 19:59:58.000000000","message":"Right! Okay, sorry, I was looking for something else. Got it now!","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"13790ea219b1d903c5ca4ac3082d26ee569038fc","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"        self.assertRaises(vmutils.HyperVException,"},{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Ff2A%3D","line":1162,"in_reply_to":"AAAAOn%2F%2FgEk%3D","updated":"2013-05-07 19:55:43.000000000","message":"Line 1065: by setting an instance_type (flavor) with a size smalle r than the disk size, we expect the driver to rise an exception (migrationops.py:102).","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c1da022e7b01c665eb3e8c90b7801d11a4f7f70a","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"        self.assertRaises(vmutils.HyperVException,"},{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FgEk%3D","line":1162,"in_reply_to":"AAAAOn%2F%2FgHM%3D","updated":"2013-05-07 17:00:50.000000000","message":"Right, but what does _setup..() do to cause the exception when size_exception\u003dTrue? I don\u0027t see anything like \"if size_exception: foo.AndRaise(...)\". I must just be missing it.","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"80274f80818492143bdc33ab6dae671c73ac6c7c","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"        self.assertRaises(vmutils.HyperVException,"},{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FgHM%3D","line":1162,"in_reply_to":"AAAAOn%2F%2FgIk%3D","updated":"2013-05-07 16:43:52.000000000","message":"it\u0027s done with passing size_exception\u003dTrue in _setup_test_migrate_disk_and_power_off_mocks.","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"21270795b6b2fa1f8142acc041fd01a3368cf206","unresolved":false,"context_lines":[{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"},{"line_number":1166,"context_line":"        self._instance_data \u003d self._get_instance_data()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FgIc%3D","line":1163,"updated":"2013-05-07 16:22:45.000000000","message":"Unrelated to this patch, but why are you doing all of these verifies?","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"b6b4da07a1cb752512bb609d7e00f0711aa3f43f","unresolved":false,"context_lines":[{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"},{"line_number":1166,"context_line":"        self._instance_data \u003d self._get_instance_data()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Ffzk%3D","line":1163,"in_reply_to":"AAAAOn%2F%2Ff1I%3D","updated":"2013-05-07 20:18:29.000000000","message":"tearDown() calls only self._mox.UnsetStubs(), not VerifyAll().\n\nSaid that, some tests make use of stubs only (no mocks), which means that putting self._mox.VerifyAll() in tearDown() would result in an error. E.g.: test_spawn_nova_net_vif_no_vswitch_exception\n\nNow almost all the tests use mocks. It might be worth adding self._mox.ReplayAll() anyway to the ones that use stubs only and replace all the self._mox.VerifyAll() with the one that you suggest. Note: this would be a separate refactoring patch.","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2f697d6ab787c8f84fa9fb4423641625f216af3e","unresolved":false,"context_lines":[{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"},{"line_number":1166,"context_line":"        self._instance_data \u003d self._get_instance_data()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Ff1I%3D","line":1163,"in_reply_to":"AAAAOn%2F%2Ff2Q%3D","updated":"2013-05-07 19:59:58.000000000","message":"What is your point? You call verifyall() here, and then it\u0027s called again automatically in tearDown(). Why call it twice?","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"16e83746909c20cbe8faa77c79c655d8d243a675","unresolved":false,"context_lines":[{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"},{"line_number":1166,"context_line":"        self._instance_data \u003d self._get_instance_data()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FfyQ%3D","line":1163,"in_reply_to":"AAAAOn%2F%2Ffzk%3D","updated":"2013-05-07 20:38:17.000000000","message":"One small errata corrige: test_spawn_nova_net_vif_no_vswitch_exception uses mocks as well, it fails for other reasons.","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"13790ea219b1d903c5ca4ac3082d26ee569038fc","unresolved":false,"context_lines":[{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"},{"line_number":1166,"context_line":"        self._instance_data \u003d self._get_instance_data()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Ff2Q%3D","line":1163,"in_reply_to":"AAAAOn%2F%2FgEc%3D","updated":"2013-05-07 19:55:43.000000000","message":"I know, but most of the tests execute asserts after the  VerifyAll()","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c1da022e7b01c665eb3e8c90b7801d11a4f7f70a","unresolved":false,"context_lines":[{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"},{"line_number":1166,"context_line":"        self._instance_data \u003d self._get_instance_data()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FgEc%3D","line":1163,"in_reply_to":"AAAAOn%2F%2FgHA%3D","updated":"2013-05-07 17:00:50.000000000","message":"TestCase.tearDown() does this for you after each test. It\u0027s not necessary to duplicate that at the end of each test.","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"80274f80818492143bdc33ab6dae671c73ac6c7c","unresolved":false,"context_lines":[{"line_number":1160,"context_line":"                          self._conn.migrate_disk_and_power_off,"},{"line_number":1161,"context_line":"                          self._context, instance, fake_dest_ip,"},{"line_number":1162,"context_line":"                          instance_type, network_info)"},{"line_number":1163,"context_line":"        self._mox.VerifyAll()"},{"line_number":1164,"context_line":""},{"line_number":1165,"context_line":"    def test_finish_migration(self):"},{"line_number":1166,"context_line":"        self._instance_data \u003d self._get_instance_data()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FgHA%3D","line":1163,"in_reply_to":"AAAAOn%2F%2FgIc%3D","updated":"2013-05-07 16:43:52.000000000","message":"I\u0027m not sure I got this question. Can you provide some more details?","commit_id":"8b34eff15f5fa6d032156a8775566448bea20c41"}],"nova/virt/hyperv/migrationops.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"0e1de9c542ac82c7d51471f5f4c8cc5900939464","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        if new_root_gb \u003c curr_root_gb:"},{"line_number":103,"context_line":"            raise vmutils.VHDResizeException(_(\"Cannot resize the root disk \""},{"line_number":104,"context_line":"                                               \"to a smaller size. Current \""},{"line_number":105,"context_line":"                                               \"size: %(curr_root_gb)s GB. \""},{"line_number":106,"context_line":"                                               \"Requested size: \""},{"line_number":107,"context_line":"                                               \"%(new_root_gb)s GB\") %"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2Ffn8%3D","line":104,"updated":"2013-05-07 22:09:06.000000000","message":"But your commit message says: \"The Hyper-V driver does support disk resizes to a smaller size\"\n\nIs that a commit message typo?","commit_id":"d42c281dcef69604fd2601b3b7646c45a10e7b51"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"8b969d536b112eeb5a5df9882519492fbd3e3d4a","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        if new_root_gb \u003c curr_root_gb:"},{"line_number":103,"context_line":"            raise vmutils.VHDResizeException(_(\"Cannot resize the root disk \""},{"line_number":104,"context_line":"                                               \"to a smaller size. Current \""},{"line_number":105,"context_line":"                                               \"size: %(curr_root_gb)s GB. \""},{"line_number":106,"context_line":"                                               \"Requested size: \""},{"line_number":107,"context_line":"                                               \"%(new_root_gb)s GB\") %"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2Ffns%3D","line":104,"in_reply_to":"AAAAOn%2F%2Ffn8%3D","updated":"2013-05-07 22:12:12.000000000","message":"Yep commit message typo, my bad.","commit_id":"d42c281dcef69604fd2601b3b7646c45a10e7b51"}]}
