)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"e244e30f3ef685497c8f1c53c3ae14fdd9731c52","unresolved":false,"context_lines":[{"line_number":10,"context_line":"streamOptimized or OVA. In this case we need to use the size of the"},{"line_number":11,"context_line":"virtual disk which belongs to the temporary VM created by ImportVApp."},{"line_number":12,"context_line":"This works for both vSAN and VMFS datastores."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ie7df9a78632ff01453b07ee9fed3dffdd8b4a0c7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a016987_d8186420","line":13,"updated":"2015-06-01 14:54:30.000000000","message":"This seems like a bug.  Is there one?","commit_id":"a2dc6525ab11949fb252ae15c78eba8ccd5f2a92"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7e1c70fdb21d79dc441b0dea822642f3e07d7dc6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"streamOptimized or OVA. In this case we need to use the size of the"},{"line_number":11,"context_line":"virtual disk which belongs to the temporary VM created by ImportVApp."},{"line_number":12,"context_line":"This works for both vSAN and VMFS datastores."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ie7df9a78632ff01453b07ee9fed3dffdd8b4a0c7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa1b9901_c7724111","line":13,"updated":"2015-08-19 17:56:20.000000000","message":"Isn\u0027t there a bug for this?","commit_id":"95687a86aa8a8944433be828aefab8cb0691e013"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"325d4af61879926ef8ea3b0af5a5784e8f9e2e6f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The image size is different from the virtual disk size when the image is"},{"line_number":10,"context_line":"streamOptimized or OVA. In this case we need to use the size of the"},{"line_number":11,"context_line":"virtual disk which belongs to the temporary VM created by ImportVApp."},{"line_number":12,"context_line":"This works for both vSAN and VMFS datastores."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Related-Bug: #1240373"},{"line_number":15,"context_line":"Related-Bug: #1472955"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da6ed579_3f3da82b","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":45},"updated":"2016-01-12 19:13:06.000000000","message":"How about VVol datastores?\n\nhttps://review.openstack.org/#/c/243633/\n\nMaybe we don\u0027t care since that blueprint is probably not going to be merged for mitaka at this point given no code has been posted yet.","commit_id":"3df6c594f26e43f8f7f2f82ad06053beb2ae9b65"},{"author":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"change_message_id":"66857138c9364c4680dd516643a5df15c8af1147","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The image size is different from the virtual disk size when the image is"},{"line_number":10,"context_line":"streamOptimized or OVA. In this case we need to use the size of the"},{"line_number":11,"context_line":"virtual disk which belongs to the temporary VM created by ImportVApp."},{"line_number":12,"context_line":"This works for both vSAN and VMFS datastores."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Related-Bug: #1240373"},{"line_number":15,"context_line":"Related-Bug: #1472955"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da6ed579_13ba0f6f","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":45},"in_reply_to":"da6ed579_3f3da82b","updated":"2016-01-13 05:59:00.000000000","message":"I think we needn\u0027t care about virtual volume at this point. This patch is just to fix the bug of existing code.","commit_id":"3df6c594f26e43f8f7f2f82ad06053beb2ae9b65"}],"nova/virt/vmwareapi/images.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"325d4af61879926ef8ea3b0af5a5784e8f9e2e6f","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    return vmdk_name"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"def fetch_image_ova(context, instance, session, vm_name, ds_name,"},{"line_number":405,"context_line":"                    vm_folder_ref, res_pool_ref):"},{"line_number":406,"context_line":"    \"\"\"Download the OVA image from the glance image server to the"},{"line_number":407,"context_line":"    Nova compute node."}],"source_content_type":"text/x-python","patch_set":5,"id":"da6ed579_f21ae76d","line":404,"range":{"start_line":404,"start_character":4,"end_line":404,"end_character":19},"updated":"2016-01-12 19:13:06.000000000","message":"Idea: in a future cleanup change, add an ABC for fetching images with a fetch_image method or something, and then have a sub-class for OVA and stream-optimized. Could have a simple factory that given the type, returns the ABC to call fetch on, just a thought, but it seems like that would be nicer so we could enforce a contract on that interface (same parameters in, same result from the fetch method).","commit_id":"3df6c594f26e43f8f7f2f82ad06053beb2ae9b65"},{"author":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"change_message_id":"66857138c9364c4680dd516643a5df15c8af1147","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    return vmdk_name"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"def fetch_image_ova(context, instance, session, vm_name, ds_name,"},{"line_number":405,"context_line":"                    vm_folder_ref, res_pool_ref):"},{"line_number":406,"context_line":"    \"\"\"Download the OVA image from the glance image server to the"},{"line_number":407,"context_line":"    Nova compute node."}],"source_content_type":"text/x-python","patch_set":5,"id":"da6ed579_4ed1ba56","line":404,"range":{"start_line":404,"start_character":4,"end_line":404,"end_character":19},"in_reply_to":"da6ed579_f21ae76d","updated":"2016-01-13 05:59:00.000000000","message":"Yes, that should be a way to refactor the code, but need to be addressed by future code change...","commit_id":"3df6c594f26e43f8f7f2f82ad06053beb2ae9b65"}],"nova/virt/vmwareapi/vmops.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"325d4af61879926ef8ea3b0af5a5784e8f9e2e6f","unresolved":false,"context_lines":[{"line_number":402,"context_line":"            self._root_resource_pool)"},{"line_number":403,"context_line":"        # The size of the image is different from the size of the virtual disk."},{"line_number":404,"context_line":"        # We want to use the latter."},{"line_number":405,"context_line":"        vi.ii.file_size \u003d image_size"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    def _fetch_image_as_ova(self, context, vi, image_ds_loc):"},{"line_number":408,"context_line":"        \"\"\"Download root disk of an OVA image as streamOptimized.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"da6ed579_b2a0eff5","line":405,"range":{"start_line":405,"start_character":8,"end_line":405,"end_character":23},"updated":"2016-01-12 19:13:06.000000000","message":"What does setting this actually do? And where is the test assertion that makes sure this is set? i.e. I\u0027d expect to see images.fetch_image_stream_optimized would be mocked out to return a fake image_size and the test would assert that vi.ii.file_size is set to whatever that fake image size is.","commit_id":"3df6c594f26e43f8f7f2f82ad06053beb2ae9b65"},{"author":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"change_message_id":"66857138c9364c4680dd516643a5df15c8af1147","unresolved":false,"context_lines":[{"line_number":402,"context_line":"            self._root_resource_pool)"},{"line_number":403,"context_line":"        # The size of the image is different from the size of the virtual disk."},{"line_number":404,"context_line":"        # We want to use the latter."},{"line_number":405,"context_line":"        vi.ii.file_size \u003d image_size"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    def _fetch_image_as_ova(self, context, vi, image_ds_loc):"},{"line_number":408,"context_line":"        \"\"\"Download root disk of an OVA image as streamOptimized.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"da6ed579_9f459eb4","line":405,"range":{"start_line":405,"start_character":8,"end_line":405,"end_character":23},"in_reply_to":"da6ed579_b2a0eff5","updated":"2016-01-13 05:59:00.000000000","message":"Agree. I will add that test.","commit_id":"3df6c594f26e43f8f7f2f82ad06053beb2ae9b65"},{"author":{"_account_id":19173,"name":"Sven Anderson","email":"sven@redhat.com","username":"ansiwen"},"change_message_id":"6fef9ce30167024e5299655dfa5bc74ecc4cb081","unresolved":false,"context_lines":[{"line_number":575,"context_line":"                            lock_file_prefix\u003d\u0027nova-vmware-fetch_image\u0027):"},{"line_number":576,"context_line":"            self.check_cache_folder(vi.datastore.name, vi.datastore.ref)"},{"line_number":577,"context_line":"            ds_browser \u003d self._get_ds_browser(vi.datastore.ref)"},{"line_number":578,"context_line":"            if not ds_util.file_exists(self._session, ds_browser,"},{"line_number":579,"context_line":"                                       vi.cache_image_folder,"},{"line_number":580,"context_line":"                                       vi.cache_image_path.basename):"},{"line_number":581,"context_line":"                LOG.debug(\"Preparing fetch location\", instance\u003dvi.instance)"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6ed579_22b03bdd","line":578,"updated":"2016-01-12 15:29:31.000000000","message":"In case the image is already cached in vSphere this here would be skipped and the size would not be fixed. But I can add another patch for that afterwards.","commit_id":"3df6c594f26e43f8f7f2f82ad06053beb2ae9b65"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"fd4f02b48186320d20e2557297d9918f353362a0","unresolved":false,"context_lines":[{"line_number":575,"context_line":"                            lock_file_prefix\u003d\u0027nova-vmware-fetch_image\u0027):"},{"line_number":576,"context_line":"            self.check_cache_folder(vi.datastore.name, vi.datastore.ref)"},{"line_number":577,"context_line":"            ds_browser \u003d self._get_ds_browser(vi.datastore.ref)"},{"line_number":578,"context_line":"            if not ds_util.file_exists(self._session, ds_browser,"},{"line_number":579,"context_line":"                                       vi.cache_image_folder,"},{"line_number":580,"context_line":"                                       vi.cache_image_path.basename):"},{"line_number":581,"context_line":"                LOG.debug(\"Preparing fetch location\", instance\u003dvi.instance)"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6ed579_5831a00a","line":578,"in_reply_to":"da6ed579_22b03bdd","updated":"2016-01-12 16:11:12.000000000","message":"Yes, you are correct. Let\u0027s fix this in a follow-up patch. Thanks!","commit_id":"3df6c594f26e43f8f7f2f82ad06053beb2ae9b65"},{"author":{"_account_id":19374,"name":"Teruhisa Yuki","email":"hiro.tsuyusaki@linux.com","username":"tyuki"},"change_message_id":"d13bcd6b21f48eccbb3d0f465ab841d3bc9d161c","unresolved":false,"context_lines":[{"line_number":402,"context_line":"            self._root_resource_pool)"},{"line_number":403,"context_line":"        # The size of the image is different from the size of the virtual disk."},{"line_number":404,"context_line":"        # We want to use the latter."},{"line_number":405,"context_line":"        vi.ii.file_size \u003d image_size"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    def _fetch_image_as_ova(self, context, vi, image_ds_loc):"},{"line_number":408,"context_line":"        \"\"\"Download root disk of an OVA image as streamOptimized.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba63e191_f620a2f9","line":405,"updated":"2016-01-19 12:32:38.000000000","message":"It is meaningless to update an image size here, because this method is not executed when an image already cached in datastore.","commit_id":"a70f981aa24d94202bf58375f1fce21f5e2342c2"},{"author":{"_account_id":19374,"name":"Teruhisa Yuki","email":"hiro.tsuyusaki@linux.com","username":"tyuki"},"change_message_id":"d13bcd6b21f48eccbb3d0f465ab841d3bc9d161c","unresolved":false,"context_lines":[{"line_number":420,"context_line":"                               self._root_resource_pool)"},{"line_number":421,"context_line":"        # The size of the image is different from the size of the virtual disk."},{"line_number":422,"context_line":"        # We want to use the latter."},{"line_number":423,"context_line":"        vi.ii.file_size \u003d image_size"},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"    def _prepare_sparse_image(self, vi):"},{"line_number":426,"context_line":"        tmp_dir_loc \u003d vi.datastore.build_path("}],"source_content_type":"text/x-python","patch_set":6,"id":"ba63e191_f64e62c0","line":423,"updated":"2016-01-19 12:32:38.000000000","message":"Same as the above.","commit_id":"a70f981aa24d94202bf58375f1fce21f5e2342c2"},{"author":{"_account_id":19374,"name":"Teruhisa Yuki","email":"hiro.tsuyusaki@linux.com","username":"tyuki"},"change_message_id":"d13bcd6b21f48eccbb3d0f465ab841d3bc9d161c","unresolved":false,"context_lines":[{"line_number":667,"context_line":"        # and disk resizing will work as expected."},{"line_number":668,"context_line":"        ds_browser \u003d self._get_ds_browser(vi.datastore.ref)"},{"line_number":669,"context_line":"        flat_file \u003d \"%s-flat.vmdk\" % vi.ii.image_id"},{"line_number":670,"context_line":"        new_size \u003d ds_util.file_size(self._session, ds_browser,"},{"line_number":671,"context_line":"                                     vi.cache_image_folder, flat_file)"},{"line_number":672,"context_line":"        if new_size is not None:"},{"line_number":673,"context_line":"            vi.ii.file_size \u003d new_size"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba63e191_f62f429f","line":670,"updated":"2016-01-19 12:32:38.000000000","message":"I think that we should adapt this method to vSAN datastore. \nI guess that we need shadow VM such as Cinder.","commit_id":"a70f981aa24d94202bf58375f1fce21f5e2342c2"}]}
