)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"fdf059acb237295ff20a23913a0e8958ec605496","unresolved":false,"context_lines":[{"line_number":11,"context_line":"listen to any port other than default 443."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Iebfd90bda2b9a3eb20ca146e4cc9ae8e4cf464f3"},{"line_number":14,"context_line":"Closes-Bug: #1374585"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9aa7fdbe_0acde15d","line":14,"updated":"2014-10-29 14:31:37.000000000","message":"This bug is already \"Fix Released\".  Maybe it should state Related-Bug or open another bug.","commit_id":"37ceaeb240c9af4756240a57c7a0f1b83622760e"}],"nova/tests/unit/virt/test_images.py":[{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"8f6a825c543c449c555d94bb4d9329dd7d23b1c4","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                                      utils_execute):"},{"line_number":43,"context_line":"        image_info \u003d images.qemu_img_info(\u0027/fake/path\u0027)"},{"line_number":44,"context_line":"        self.assertTrue(image_info)"},{"line_number":45,"context_line":"        self.assertTrue(str(image_info))"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_9024c860","line":45,"updated":"2014-11-26 09:39:07.000000000","message":"revert this change","commit_id":"6edf28612c977073f92e57eac6ad7af062adbcbc"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7a57b9be9105343ee7867570e46d4604e79d7239","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                                      utils_execute):"},{"line_number":43,"context_line":"        image_info \u003d images.qemu_img_info(\u0027/fake/path\u0027)"},{"line_number":44,"context_line":"        self.assertTrue(image_info)"},{"line_number":45,"context_line":"        self.assertTrue(str(image_info))"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_7658348a","side":"PARENT","line":45,"updated":"2014-11-26 10:39:22.000000000","message":"why did you remove this?","commit_id":"1a8ab235fac310cc932459437bad3c866c03b6b7"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"4ab3f891e6030b81f3e6cd557700ac7e326f08e2","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                                      utils_execute):"},{"line_number":43,"context_line":"        image_info \u003d images.qemu_img_info(\u0027/fake/path\u0027)"},{"line_number":44,"context_line":"        self.assertTrue(image_info)"},{"line_number":45,"context_line":"        self.assertTrue(str(image_info))"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_ff6d8033","line":45,"updated":"2014-12-09 16:28:36.000000000","message":"revert this, we don\u0027t want whitespace changes","commit_id":"ef165886430f30f64f677fb4ebf4bdafda498168"}],"nova/tests/unit/virt/vmwareapi/test_images.py":[{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"8f6a825c543c449c555d94bb4d9329dd7d23b1c4","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        file_path \u003d \u0027fake_file\u0027"},{"line_number":39,"context_line":"        ds_name \u003d \u0027ds1\u0027"},{"line_number":40,"context_line":"        host \u003d mock.MagicMock()"},{"line_number":41,"context_line":"        port \u003d mock.MagicMock()"},{"line_number":42,"context_line":"        context \u003d mock.MagicMock()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        image_data \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_f078ac2c","line":41,"updated":"2014-11-26 09:39:07.000000000","message":"use constant for the port, not a mock object","commit_id":"6edf28612c977073f92e57eac6ad7af062adbcbc"}],"nova/tests/unit/virt/vmwareapi/test_read_write_util.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7a57b9be9105343ee7867570e46d4604e79d7239","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        httplib.HTTPConnection.endheaders()"},{"line_number":31,"context_line":"        self.mox.ReplayAll()"},{"line_number":32,"context_line":"        file \u003d read_write_util.VMwareHTTPWriteFile(ipv6_host,"},{"line_number":33,"context_line":"                                                   \u0027443\u0027,"},{"line_number":34,"context_line":"                                                   \u0027fake_dc\u0027,"},{"line_number":35,"context_line":"                                                   \u0027fake_ds\u0027,"},{"line_number":36,"context_line":"                                                   dict(),"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_b6b1bc90","line":33,"updated":"2014-11-26 10:39:22.000000000","message":"this should be a integer and not a string","commit_id":"84f494d999efb6a604ef8eaccc69e2dbbe244475"}],"nova/virt/vmwareapi/read_write_util.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7a57b9be9105343ee7867570e46d4604e79d7239","unresolved":false,"context_lines":[{"line_number":110,"context_line":"class VMwareHTTPWriteFile(VMwareHTTPFile):"},{"line_number":111,"context_line":"    \"\"\"VMware file write handler class.\"\"\""},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def __init__(self, host, port, data_center_name, datastore_name, cookies,"},{"line_number":114,"context_line":"                 file_path, file_size, scheme\u003d\"https\"):"},{"line_number":115,"context_line":"        if utils.is_valid_ipv6(host):"},{"line_number":116,"context_line":"            base_url \u003d \"%s://[%s]:%s/folder/%s\" % (scheme, host, port,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_1651b02f","line":113,"updated":"2014-11-26 10:39:22.000000000","message":"could there be a case that port is None here?","commit_id":"84f494d999efb6a604ef8eaccc69e2dbbe244475"},{"author":{"_account_id":9297,"name":"Johnson koil raj","email":"jraj@infoblox.com","username":"jkraj"},"change_message_id":"c395b592069ef2fe0d1d68fe0d36499bca3dbffa","unresolved":false,"context_lines":[{"line_number":110,"context_line":"class VMwareHTTPWriteFile(VMwareHTTPFile):"},{"line_number":111,"context_line":"    \"\"\"VMware file write handler class.\"\"\""},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def __init__(self, host, port, data_center_name, datastore_name, cookies,"},{"line_number":114,"context_line":"                 file_path, file_size, scheme\u003d\"https\"):"},{"line_number":115,"context_line":"        if utils.is_valid_ipv6(host):"},{"line_number":116,"context_line":"            base_url \u003d \"%s://[%s]:%s/folder/%s\" % (scheme, host, port,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_08b0bb41","line":113,"in_reply_to":"5a890539_1651b02f","updated":"2014-12-04 12:53:40.000000000","message":"No it won\u0027t be None","commit_id":"84f494d999efb6a604ef8eaccc69e2dbbe244475"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7a57b9be9105343ee7867570e46d4604e79d7239","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def __init__(self, host, port, data_center_name, datastore_name, cookies,"},{"line_number":154,"context_line":"                 file_path, scheme\u003d\"https\"):"},{"line_number":155,"context_line":"        base_url \u003d \"%s://%s:%s/folder/%s\" % (scheme, host, port,"},{"line_number":156,"context_line":"                                          urllib.pathname2url(file_path))"},{"line_number":157,"context_line":"        param_list \u003d {\"dcPath\": data_center_name, \"dsName\": datastore_name}"},{"line_number":158,"context_line":"        base_url \u003d base_url + \"?\" + urllib.urlencode(param_list)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_811e385d","line":155,"updated":"2014-11-26 10:39:22.000000000","message":"this is a bug. can you please base this patch on https://review.openstack.org/#/c/133374/","commit_id":"84f494d999efb6a604ef8eaccc69e2dbbe244475"},{"author":{"_account_id":9297,"name":"Johnson koil raj","email":"jraj@infoblox.com","username":"jkraj"},"change_message_id":"c395b592069ef2fe0d1d68fe0d36499bca3dbffa","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def __init__(self, host, port, data_center_name, datastore_name, cookies,"},{"line_number":154,"context_line":"                 file_path, scheme\u003d\"https\"):"},{"line_number":155,"context_line":"        base_url \u003d \"%s://%s:%s/folder/%s\" % (scheme, host, port,"},{"line_number":156,"context_line":"                                          urllib.pathname2url(file_path))"},{"line_number":157,"context_line":"        param_list \u003d {\"dcPath\": data_center_name, \"dsName\": datastore_name}"},{"line_number":158,"context_line":"        base_url \u003d base_url + \"?\" + urllib.urlencode(param_list)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_08b19b8e","line":155,"in_reply_to":"5a890539_811e385d","updated":"2014-12-04 12:53:40.000000000","message":"Ok I will submit a new patch bases on above one. That patch is not merged yet. Can I go ahead and include those changes in this patch.","commit_id":"84f494d999efb6a604ef8eaccc69e2dbbe244475"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"673fb62fa02dd041e4a16e5d0fe9f0b2dc18b312","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    def _get_base_url(self, scheme, host, port, file_path):"},{"line_number":110,"context_line":"        if netutils.is_valid_ipv6(host):"},{"line_number":111,"context_line":"            base_url \u003d \"%s://[%s]:%s/folder/%s\" % (scheme, host, port,"},{"line_number":112,"context_line":"                                                urllib.pathname2url(file_path))"},{"line_number":113,"context_line":"        else:"},{"line_number":114,"context_line":"            base_url \u003d \"%s://%s:%s/folder/%s\" % (scheme, host, port,"},{"line_number":115,"context_line":"                                              urllib.pathname2url(file_path))"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a961159_ea016705","line":112,"updated":"2015-01-12 11:14:19.000000000","message":"indentation here is a little dodgy","commit_id":"2d38d28eb92c1523876d2885e1af6167931360d7"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"673fb62fa02dd041e4a16e5d0fe9f0b2dc18b312","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                                                urllib.pathname2url(file_path))"},{"line_number":113,"context_line":"        else:"},{"line_number":114,"context_line":"            base_url \u003d \"%s://%s:%s/folder/%s\" % (scheme, host, port,"},{"line_number":115,"context_line":"                                              urllib.pathname2url(file_path))"},{"line_number":116,"context_line":"        return base_url"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a961159_0a079319","line":115,"updated":"2015-01-12 11:14:19.000000000","message":"ditto","commit_id":"2d38d28eb92c1523876d2885e1af6167931360d7"}],"nova/virt/vmwareapi/vmops.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"fdf059acb237295ff20a23913a0e8958ec605496","unresolved":false,"context_lines":[{"line_number":282,"context_line":"                   \u0027file_path\u0027: image_ds_loc,"},{"line_number":283,"context_line":"                   \u0027datastore_name\u0027: vi.datastore.name},"},{"line_number":284,"context_line":"                  instance\u003dvi.instance)"},{"line_number":285,"context_line":"        vchost \u003d session._host if session._port \u003d\u003d 443 else session._host+\\"},{"line_number":286,"context_line":"                                                            \u0027:\u0027+session._port"},{"line_number":287,"context_line":"        images.fetch_image("},{"line_number":288,"context_line":"            context,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_8abe31d3","line":285,"updated":"2014-10-29 14:31:37.000000000","message":"You should use () instead to \\ to wrap lines.  Also, put spaces between the +\u0027s.\n\n(session._host if session._port \u003d\u003d 443 else session._host\n+ \u0027:\u0027 + session._port)","commit_id":"37ceaeb240c9af4756240a57c7a0f1b83622760e"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"6f5da91e5a28efb4e4b6d28a53e91ea8de6b7ce2","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                  instance\u003dvi.instance)"},{"line_number":285,"context_line":"        vchost \u003d (session._host"},{"line_number":286,"context_line":"                  if session._port \u003d\u003d 443"},{"line_number":287,"context_line":"                  else session._host + \u0027:\u0027 + session._port)"},{"line_number":288,"context_line":"        images.fetch_image("},{"line_number":289,"context_line":"            context,"},{"line_number":290,"context_line":"            vi.instance,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_79a57203","line":287,"updated":"2014-11-09 12:22:38.000000000","message":"i do not think that this is the correct place to do this. we should create this in oslo.vmware and then make use of the parameter. for example session._uri.","commit_id":"3de4d7fb542a460298fd75ae964434f36c375d50"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"5094cfa58bbf893c5a9a2ba1182bc865b15c5238","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                  instance\u003dvi.instance)"},{"line_number":285,"context_line":"        vchost \u003d (session._host"},{"line_number":286,"context_line":"                  if session._port \u003d\u003d 443"},{"line_number":287,"context_line":"                  else session._host + \u0027:\u0027 + session._port)"},{"line_number":288,"context_line":"        images.fetch_image("},{"line_number":289,"context_line":"            context,"},{"line_number":290,"context_line":"            vi.instance,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_c05d834a","line":287,"in_reply_to":"5a890539_79a57203","updated":"2014-11-10 09:51:31.000000000","message":"There is a local base_url property in oslo.vmware.vim which is scheme+host+port. I think we just need to make it a public property of Vim and use it in all places where connect info is expected.","commit_id":"3de4d7fb542a460298fd75ae964434f36c375d50"},{"author":{"_account_id":9297,"name":"Johnson koil raj","email":"jraj@infoblox.com","username":"jkraj"},"change_message_id":"5591b5466c968531b45297210b08750ef500df84","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                  instance\u003dvi.instance)"},{"line_number":285,"context_line":"        vchost \u003d (session._host"},{"line_number":286,"context_line":"                  if session._port \u003d\u003d 443"},{"line_number":287,"context_line":"                  else session._host + \u0027:\u0027 + session._port)"},{"line_number":288,"context_line":"        images.fetch_image("},{"line_number":289,"context_line":"            context,"},{"line_number":290,"context_line":"            vi.instance,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_5203880f","line":287,"in_reply_to":"5a890539_c05d834a","updated":"2014-11-24 17:20:29.000000000","message":"If we use base_url then the functions in the images and read_write_util files have to be changed. So seamless integration will not be possible when doing full integration with oslo.vmware  because in oslo.vmware host, port are sent separately in all functions even though base_url is available at vim.","commit_id":"3de4d7fb542a460298fd75ae964434f36c375d50"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"130713a2afe8e65889ef5473b7f4ce2ea97bba59","unresolved":false,"context_lines":[{"line_number":288,"context_line":"        images.fetch_image("},{"line_number":289,"context_line":"            context,"},{"line_number":290,"context_line":"            vi.instance,"},{"line_number":291,"context_line":"            vchost,"},{"line_number":292,"context_line":"            vi.dc_info.name,"},{"line_number":293,"context_line":"            vi.datastore.name,"},{"line_number":294,"context_line":"            image_ds_loc.rel_path,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_b9dc3a76","line":291,"updated":"2014-11-09 12:55:26.000000000","message":"an alternative, which may also be cleaner is to pass the port as an additional parameter.\nthat is have:\nimages.fetch_image(\n    context,\n    vi.instance,\n    session._host,\n    ...\n    cookies\u003dcookies,\n    port\u003dsession._port)\n\nThen you can update VMwareHTTPWriteFile to treat ports. \n\nhttps://github.com/openstack/nova/blob/master/nova/virt/vmwareapi/read_write_util.py#L124\n\nYou can pass the port here","commit_id":"3de4d7fb542a460298fd75ae964434f36c375d50"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"5094cfa58bbf893c5a9a2ba1182bc865b15c5238","unresolved":false,"context_lines":[{"line_number":288,"context_line":"        images.fetch_image("},{"line_number":289,"context_line":"            context,"},{"line_number":290,"context_line":"            vi.instance,"},{"line_number":291,"context_line":"            vchost,"},{"line_number":292,"context_line":"            vi.dc_info.name,"},{"line_number":293,"context_line":"            vi.datastore.name,"},{"line_number":294,"context_line":"            image_ds_loc.rel_path,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_202c87ab","line":291,"in_reply_to":"5a890539_b9dc3a76","updated":"2014-11-10 09:51:31.000000000","message":"I am in favor of using base_url instead having three separate parameters for scheme, host and port.","commit_id":"3de4d7fb542a460298fd75ae964434f36c375d50"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"4ab3f891e6030b81f3e6cd557700ac7e326f08e2","unresolved":false,"context_lines":[{"line_number":567,"context_line":"            block_device_mapping \u003d driver.block_device_info_get_mapping("},{"line_number":568,"context_line":"                block_device_info)"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"        # NOTE(mdbooth): the  logic here is that we ignore the image if there"},{"line_number":571,"context_line":"        # are block device mappings. This behaviour is incorrect, and a bug in"},{"line_number":572,"context_line":"        # the driver.  We should be able to accept an image and block device"},{"line_number":573,"context_line":"        # mappings."}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_ffdbc0ea","line":570,"updated":"2014-12-09 16:28:36.000000000","message":"revert this","commit_id":"ef165886430f30f64f677fb4ebf4bdafda498168"}]}
