)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"939a1902aba5cc6bbf3972da27b51fcba899f016","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Currently the OVA is unpacked on the file system and then uploaded on"},{"line_number":11,"context_line":"the datastore. This is inefficient and may cause n-cpu to run out of"},{"line_number":12,"context_line":"space if large images are booted."},{"line_number":13,"context_line":"This patch fix this by processing the OVA image as a stream -- we"},{"line_number":14,"context_line":"subsequently read chunks of data from Glance and upload them to"},{"line_number":15,"context_line":"vCenter."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a80dd14_9866b84f","line":13,"updated":"2015-03-10 07:09:32.000000000","message":"This patch fixes this","commit_id":"d4e527881cffddd6a6620208c81b71a63d5816bd"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"a57fba1209f41a995146981e3602a64faa998c0f","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Currently the OVA is unpacked on the file system and then uploaded on"},{"line_number":11,"context_line":"the datastore. This is inefficient and may cause n-cpu to run out of"},{"line_number":12,"context_line":"space if large images are booted."},{"line_number":13,"context_line":"This patch fix this by processing the OVA image as a stream -- we"},{"line_number":14,"context_line":"subsequently read chunks of data from Glance and upload them to"},{"line_number":15,"context_line":"vCenter."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a80dd14_70a3c64f","line":13,"in_reply_to":"9a80dd14_9866b84f","updated":"2015-03-10 15:07:41.000000000","message":"Done","commit_id":"d4e527881cffddd6a6620208c81b71a63d5816bd"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"405fbfa059ba79771408fd9377ecca7a69caf76a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"This patch fixes this by processing the OVA image as a stream -- we"},{"line_number":14,"context_line":"subsequently read chunks of data from Glance and upload them to"},{"line_number":15,"context_line":"vCenter."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I22f5897da0870a1d69fa153a0868000369159b37"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa1b9901_a77f0daa","line":16,"updated":"2015-08-19 17:58:40.000000000","message":"This should have had a bug reported for it.","commit_id":"ef655f802e5bebf8987a551e0d11766b8544ef23"}],"nova/tests/unit/virt/vmwareapi/test_images.py":[{"author":{"_account_id":7575,"name":"Sabari","email":"smurugesan@vmware.com","username":"sabari"},"change_message_id":"57b23da2ae47ef4fe6473600b4211dbb8f38426d","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            images.fetch_image_ova("},{"line_number":165,"context_line":"                    context, instance, session, \u0027fake-vm\u0027, \u0027fake-datastore\u0027,"},{"line_number":166,"context_line":"                    vm_folder_ref, res_pool_ref)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"            mock_start_transfer.assert_called_once_with(context,"},{"line_number":169,"context_line":"                    mock_read_handle, 512, write_file_handle\u003dmock_write_handle)"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_f6be3364","line":167,"updated":"2015-02-24 23:09:42.000000000","message":"Nit: Since we now use a special purpose mode for opening tar file, it will be good to assert the same using mock_tar_open.","commit_id":"d4e527881cffddd6a6620208c81b71a63d5816bd"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"a57fba1209f41a995146981e3602a64faa998c0f","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            images.fetch_image_ova("},{"line_number":165,"context_line":"                    context, instance, session, \u0027fake-vm\u0027, \u0027fake-datastore\u0027,"},{"line_number":166,"context_line":"                    vm_folder_ref, res_pool_ref)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"            mock_start_transfer.assert_called_once_with(context,"},{"line_number":169,"context_line":"                    mock_read_handle, 512, write_file_handle\u003dmock_write_handle)"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_fb2f9786","line":167,"in_reply_to":"ba7be1f8_f6be3364","updated":"2015-03-10 15:07:41.000000000","message":"Done","commit_id":"d4e527881cffddd6a6620208c81b71a63d5816bd"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"08f0065d9b5aece4df19015e2cbf5036bc297470","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            mock_vmdk \u003d mock.MagicMock()"},{"line_number":148,"context_line":"            mock_vmdk.name \u003d \"Damn_Small_Linux-disk1.vmdk\""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"            def fake_extract(name):"},{"line_number":151,"context_line":"                if name \u003d\u003d mock_ovf:"},{"line_number":152,"context_line":"                    m \u003d mock.MagicMock()"},{"line_number":153,"context_line":"                    m.read.return_value \u003d ovf_descriptor"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_8dc228e8","line":150,"updated":"2015-08-11 16:12:02.000000000","message":"Nit: not sure that should still be called name.","commit_id":"507af0292b10c693ee6c26bf97d29e3cb348e9eb"}],"nova/virt/vmwareapi/images.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"08f0065d9b5aece4df19015e2cbf5036bc297470","unresolved":false,"context_lines":[{"line_number":406,"context_line":"                extracted \u003d tar.extractfile(tar_info)"},{"line_number":407,"context_line":"                xmlstr \u003d extracted.read()"},{"line_number":408,"context_line":"                vmdk_name \u003d get_vmdk_name_from_ovf(xmlstr)"},{"line_number":409,"context_line":"            elif vmdk_name and tar_info.name.startswith(vmdk_name):"},{"line_number":410,"context_line":"                # Actual file name is \u003cvmdk_name\u003e.XXXXXXX"},{"line_number":411,"context_line":"                extracted \u003d tar.extractfile(tar_info)"},{"line_number":412,"context_line":"                write_handle \u003d rw_handles.VmdkWriteHandle("}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_6d00fc01","line":409,"updated":"2015-08-11 16:12:02.000000000","message":"This seems very dependent on the ordering of the files... but on further research the OVF file has to come first, so this is totally valid.","commit_id":"507af0292b10c693ee6c26bf97d29e3cb348e9eb"}]}
