)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5fd25d7e70d580442b0a8f80953090783f811156","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: fix VM resize bug"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The following opertaions would fail due to invalid references, either by name"},{"line_number":10,"context_line":"or UUID:"},{"line_number":11,"context_line":"    - resize"},{"line_number":12,"context_line":"    - resize-confirm"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAS3%2F%2FnT8%3D","line":9,"updated":"2013-09-23 22:27:10.000000000","message":"\"operations\" is misspelled.","commit_id":"b14393ef9fbac0e5e2fb229daa17afe6f38e4973"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"b28a47961ed1ddea254c411e39e295f2535b40eb","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: fix VM resize bug"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The following opertaions would fail due to invalid references, either by name"},{"line_number":10,"context_line":"or UUID:"},{"line_number":11,"context_line":"    - resize"},{"line_number":12,"context_line":"    - resize-confirm"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAS3%2F%2Fbmc%3D","line":9,"in_reply_to":"AAAAS3%2F%2FnT8%3D","updated":"2013-09-26 19:02:21.000000000","message":"Done","commit_id":"b14393ef9fbac0e5e2fb229daa17afe6f38e4973"}],"nova/tests/virt/vmwareapi/test_vmwareapi.py":[{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"73f98c4cd6870f1dfd2bb1b90936d79cf184bbbb","unresolved":false,"context_lines":[{"line_number":956,"context_line":"        def fake_get_host_ref_from_name(dest):"},{"line_number":957,"context_line":"            return None"},{"line_number":958,"context_line":""},{"line_number":959,"context_line":"        self._create_instance_in_the_db()"},{"line_number":960,"context_line":"        self._create_vm()"},{"line_number":961,"context_line":"        instance_type \u003d {\u0027name\u0027: \u0027fake\u0027, \u0027flavorid\u0027: \u0027fake_id\u0027}"},{"line_number":962,"context_line":"        self.stubs.Set(self.conn._vmops, \"_update_instance_progress\","}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2B%2FE4%3D","line":959,"updated":"2013-09-14 08:44:30.000000000","message":"Extraneous? self._create_vm() already calls self._create_instance_in_the_db()","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"69f02bb89b2aa78e79da662c038be7d29991c7e5","unresolved":false,"context_lines":[{"line_number":956,"context_line":"        def fake_get_host_ref_from_name(dest):"},{"line_number":957,"context_line":"            return None"},{"line_number":958,"context_line":""},{"line_number":959,"context_line":"        self._create_instance_in_the_db()"},{"line_number":960,"context_line":"        self._create_vm()"},{"line_number":961,"context_line":"        instance_type \u003d {\u0027name\u0027: \u0027fake\u0027, \u0027flavorid\u0027: \u0027fake_id\u0027}"},{"line_number":962,"context_line":"        self.stubs.Set(self.conn._vmops, \"_update_instance_progress\","}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F%2Fmc%3D","line":959,"in_reply_to":"AAAASn%2F%2B%2FE4%3D","updated":"2013-09-15 08:52:08.000000000","message":"Done","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"73f98c4cd6870f1dfd2bb1b90936d79cf184bbbb","unresolved":false,"context_lines":[{"line_number":966,"context_line":"        self.conn.migrate_disk_and_power_off(self.context, self.instance,"},{"line_number":967,"context_line":"                                             \u0027fake_dest\u0027, instance_type,"},{"line_number":968,"context_line":"                                             None)"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"    def test_confirm_migration(self):"},{"line_number":971,"context_line":"        self._create_instance_in_the_db()"},{"line_number":972,"context_line":"        self._create_vm()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2B%2FEU%3D","line":969,"updated":"2013-09-14 08:44:30.000000000","message":"Should we add modify _test_finish_migration or add a variant that sets resize_instance to validate the reconfig behavior?","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"69f02bb89b2aa78e79da662c038be7d29991c7e5","unresolved":false,"context_lines":[{"line_number":966,"context_line":"        self.conn.migrate_disk_and_power_off(self.context, self.instance,"},{"line_number":967,"context_line":"                                             \u0027fake_dest\u0027, instance_type,"},{"line_number":968,"context_line":"                                             None)"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"    def test_confirm_migration(self):"},{"line_number":971,"context_line":"        self._create_instance_in_the_db()"},{"line_number":972,"context_line":"        self._create_vm()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F%2FmY%3D","line":969,"in_reply_to":"AAAASn%2F%2B%2FEU%3D","updated":"2013-09-15 08:52:08.000000000","message":"There are already a series of tests for these. Please see https://github.com/openstack/nova/blob/master/nova/tests/virt/vmwareapi/test_vmwareapi.py#L923","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"73f98c4cd6870f1dfd2bb1b90936d79cf184bbbb","unresolved":false,"context_lines":[{"line_number":968,"context_line":"                                             None)"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"    def test_confirm_migration(self):"},{"line_number":971,"context_line":"        self._create_instance_in_the_db()"},{"line_number":972,"context_line":"        self._create_vm()"},{"line_number":973,"context_line":"        self.conn.confirm_migration(self.context, self.instance, None)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2B%2FE0%3D","line":971,"updated":"2013-09-14 08:44:30.000000000","message":"Extraneous?","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"69f02bb89b2aa78e79da662c038be7d29991c7e5","unresolved":false,"context_lines":[{"line_number":968,"context_line":"                                             None)"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"    def test_confirm_migration(self):"},{"line_number":971,"context_line":"        self._create_instance_in_the_db()"},{"line_number":972,"context_line":"        self._create_vm()"},{"line_number":973,"context_line":"        self.conn.confirm_migration(self.context, self.instance, None)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F%2FmU%3D","line":971,"in_reply_to":"AAAASn%2F%2B%2FE0%3D","updated":"2013-09-15 08:52:08.000000000","message":"Done","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"}],"nova/virt/vmwareapi/vmops.py":[{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"73f98c4cd6870f1dfd2bb1b90936d79cf184bbbb","unresolved":false,"context_lines":[{"line_number":1059,"context_line":"                                       total_steps\u003dRESIZE_TOTAL_STEPS)"},{"line_number":1060,"context_line":""},{"line_number":1061,"context_line":"        vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":1062,"context_line":"        # Read the host_ref for the desination. If this is None then the"},{"line_number":1063,"context_line":"        # VC will decide on placement"},{"line_number":1064,"context_line":"        host_ref \u003d self._get_host_ref_from_name(dest)"},{"line_number":1065,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2B%2FF4%3D","line":1062,"updated":"2013-09-14 08:44:30.000000000","message":"The comment is not quite right given how we construct the relocate_spec. Because we do not set the resource pool field in the relocate spec, the clone will be placed on the same host as the source VM, which would be a conservative way to do it. (reference: http://pubs.vmware.com/vsphere-51/index.jsp#com.vmware.wssdk.apiref.doc/vim.vm.RelocateSpec.html). Unless we want to special case DRS-enabled clusters and set relocate spec\u0027s .pool, we should change the comment to say something like \"Look up the host for the destination and use it as the clone target host if found. Otherwise place the new VM on the same host as the source VM\"","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"69f02bb89b2aa78e79da662c038be7d29991c7e5","unresolved":false,"context_lines":[{"line_number":1059,"context_line":"                                       total_steps\u003dRESIZE_TOTAL_STEPS)"},{"line_number":1060,"context_line":""},{"line_number":1061,"context_line":"        vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":1062,"context_line":"        # Read the host_ref for the desination. If this is None then the"},{"line_number":1063,"context_line":"        # VC will decide on placement"},{"line_number":1064,"context_line":"        host_ref \u003d self._get_host_ref_from_name(dest)"},{"line_number":1065,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F%2Flc%3D","line":1062,"in_reply_to":"AAAASn%2F%2B%2FF4%3D","updated":"2013-09-15 08:52:08.000000000","message":"I have looked at http://pubs.vmware.com/vsphere-51/index.jsp#com.vmware.wssdk.apiref.doc/vim.vm.CloneSpec.html. With the contruction of the rel_spec we use the selected datastore. This is passed as the location. Do you still think that we need to change the comment?","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"73f98c4cd6870f1dfd2bb1b90936d79cf184bbbb","unresolved":false,"context_lines":[{"line_number":1106,"context_line":"                                       step\u003d3,"},{"line_number":1107,"context_line":"                                       total_steps\u003dRESIZE_TOTAL_STEPS)"},{"line_number":1108,"context_line":""},{"line_number":1109,"context_line":"    def confirm_migration(self, migration, instance, network_info):"},{"line_number":1110,"context_line":"        \"\"\"Confirms a resize, destroying the source VM.\"\"\""},{"line_number":1111,"context_line":"        instance_name \u003d self._get_orig_vm_name_label(instance)"},{"line_number":1112,"context_line":"        # Destroy the original VM. The vm_ref is via the instance_name"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2B%2FDY%3D","line":1109,"updated":"2013-09-14 08:44:30.000000000","message":"(Feel free to punt this to a separate change as it probably causes considerable churn especially on both implementation and unit test code.)\nWe should make explicit that these migration ops and the resize feature are not supported in the ESX driver (by providing separate implemenation of these methods, with the ESX version raising NotImplementedError() perhaps?)","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"69f02bb89b2aa78e79da662c038be7d29991c7e5","unresolved":false,"context_lines":[{"line_number":1106,"context_line":"                                       step\u003d3,"},{"line_number":1107,"context_line":"                                       total_steps\u003dRESIZE_TOTAL_STEPS)"},{"line_number":1108,"context_line":""},{"line_number":1109,"context_line":"    def confirm_migration(self, migration, instance, network_info):"},{"line_number":1110,"context_line":"        \"\"\"Confirms a resize, destroying the source VM.\"\"\""},{"line_number":1111,"context_line":"        instance_name \u003d self._get_orig_vm_name_label(instance)"},{"line_number":1112,"context_line":"        # Destroy the original VM. The vm_ref is via the instance_name"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F%2FlY%3D","line":1109,"in_reply_to":"AAAASn%2F%2B%2FDY%3D","updated":"2013-09-15 08:52:08.000000000","message":"Good point. At the moment these are only part of the VC driver. I\u0027ll add tests to ensure that the relevant exception is returned for the ESX driver.","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"73f98c4cd6870f1dfd2bb1b90936d79cf184bbbb","unresolved":false,"context_lines":[{"line_number":1158,"context_line":"        if resize_instance:"},{"line_number":1159,"context_line":"            client_factory \u003d self._session._get_vim().client.factory"},{"line_number":1160,"context_line":"            vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":1161,"context_line":"            vm_resize_spec \u003d vm_util.get_vm_resize_spec(client_factory,"},{"line_number":1162,"context_line":"                                                        instance)"},{"line_number":1163,"context_line":"            reconfig_task \u003d self._session._call_method("},{"line_number":1164,"context_line":"                                            self._session._get_vim(),"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2B%2FG4%3D","line":1161,"updated":"2013-09-14 08:44:30.000000000","message":"Just want to note that we are not resizing disks, but this is still an improvement. Growing a disk with ExtendVirtualDisk should be straightforward (but reducing is very much not). Even for growing, it can probably wait till we size the root disk correctly on spawn in the first place (with https://review.openstack.org/#/c/37659/)","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"69f02bb89b2aa78e79da662c038be7d29991c7e5","unresolved":false,"context_lines":[{"line_number":1158,"context_line":"        if resize_instance:"},{"line_number":1159,"context_line":"            client_factory \u003d self._session._get_vim().client.factory"},{"line_number":1160,"context_line":"            vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":1161,"context_line":"            vm_resize_spec \u003d vm_util.get_vm_resize_spec(client_factory,"},{"line_number":1162,"context_line":"                                                        instance)"},{"line_number":1163,"context_line":"            reconfig_task \u003d self._session._call_method("},{"line_number":1164,"context_line":"                                            self._session._get_vim(),"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F%2Fks%3D","line":1161,"in_reply_to":"AAAASn%2F%2B%2FG4%3D","updated":"2013-09-15 08:52:08.000000000","message":"Good point. I missed that.","commit_id":"59b9f8196867cf795f84800737fc5b7723b7f3a4"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"2e4f9e374bd5c7a936d4c59c605287fef616b95f","unresolved":false,"context_lines":[{"line_number":1155,"context_line":"                         network_info, image_meta, resize_instance\u003dFalse,"},{"line_number":1156,"context_line":"                         block_device_info\u003dNone, power_on\u003dTrue):"},{"line_number":1157,"context_line":"        \"\"\"Completes a resize, turning on the migrated instance.\"\"\""},{"line_number":1158,"context_line":"        if resize_instance:"},{"line_number":1159,"context_line":"            client_factory \u003d self._session._get_vim().client.factory"},{"line_number":1160,"context_line":"            vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":1161,"context_line":"            vm_resize_spec \u003d vm_util.get_vm_resize_spec(client_factory,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAS3%2F%2F7Ts%3D","line":1158,"updated":"2013-09-17 04:36:02.000000000","message":"Regarding my comment about augmenting finish_migration unit test or creating another variant, I was referring to validating that resize_instance is being processed correctly now as opposed to being ignored before. Thanks.","commit_id":"d32fdc6f4ae194e4d81b7807fba62fac15480055"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"893dfdf295cedc02d721f1fd59f0609a5e5a134c","unresolved":false,"context_lines":[{"line_number":1155,"context_line":"                         network_info, image_meta, resize_instance\u003dFalse,"},{"line_number":1156,"context_line":"                         block_device_info\u003dNone, power_on\u003dTrue):"},{"line_number":1157,"context_line":"        \"\"\"Completes a resize, turning on the migrated instance.\"\"\""},{"line_number":1158,"context_line":"        if resize_instance:"},{"line_number":1159,"context_line":"            client_factory \u003d self._session._get_vim().client.factory"},{"line_number":1160,"context_line":"            vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":1161,"context_line":"            vm_resize_spec \u003d vm_util.get_vm_resize_spec(client_factory,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAS3%2F%2F6%2Fo%3D","line":1158,"in_reply_to":"AAAAS3%2F%2F7Ts%3D","updated":"2013-09-17 07:02:26.000000000","message":"Thanks. I\u0027ll update the tests","commit_id":"d32fdc6f4ae194e4d81b7807fba62fac15480055"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"211104e23c76a544b629a95fddb26bfe46133ac7","unresolved":false,"context_lines":[{"line_number":1065,"context_line":"                                       total_steps\u003dRESIZE_TOTAL_STEPS)"},{"line_number":1066,"context_line":""},{"line_number":1067,"context_line":"        vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":1068,"context_line":"        # Read the host_ref for the desination. If this is None then the"},{"line_number":1069,"context_line":"        # VC will decide on placement"},{"line_number":1070,"context_line":"        host_ref \u003d self._get_host_ref_from_name(dest)"},{"line_number":1071,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAS3%2F%2FoQU%3D","line":1068,"updated":"2013-09-23 18:20:02.000000000","message":"nit: destination","commit_id":"b14393ef9fbac0e5e2fb229daa17afe6f38e4973"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"b28a47961ed1ddea254c411e39e295f2535b40eb","unresolved":false,"context_lines":[{"line_number":1065,"context_line":"                                       total_steps\u003dRESIZE_TOTAL_STEPS)"},{"line_number":1066,"context_line":""},{"line_number":1067,"context_line":"        vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":1068,"context_line":"        # Read the host_ref for the desination. If this is None then the"},{"line_number":1069,"context_line":"        # VC will decide on placement"},{"line_number":1070,"context_line":"        host_ref \u003d self._get_host_ref_from_name(dest)"},{"line_number":1071,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAS3%2F%2FbmY%3D","line":1068,"in_reply_to":"AAAAS3%2F%2FoQU%3D","updated":"2013-09-26 19:02:21.000000000","message":"Done","commit_id":"b14393ef9fbac0e5e2fb229daa17afe6f38e4973"}]}
