)]}'
{"nova/virt/xenapi/image/bittorrent.py":[{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"9b091f08e9793ebb4ce435cb8b62b6e9892bad22","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if CONF.xenserver.torrent_base_url:"},{"line_number":69,"context_line":"            def _default_torrent_url_fn(image_id):"},{"line_number":70,"context_line":"                return urlparse.urljoin(CONF.xenserver.torrent_base_url,"},{"line_number":71,"context_line":"                                        \"%s.torrent\" % image_id)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"            return _default_torrent_url_fn"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_255eba12","side":"PARENT","line":70,"updated":"2015-05-15 20:01:41.000000000","message":"I know this isn\u0027t related to this patch, but if torrent_base_url doesn\u0027t have a slash character in it, then urljoin will not join the base url with the image_id.torrent (by design of urlparse, rfc1808):\n\n\u003e\u003e\u003e urlparse.urljoin(\u0027http://foo\u0027, \u0027%s.torrent\u0027 % \u0027fakeimageid\u0027)\n\n\u0027http://foo/fakeimageid.torrent\u0027\n\n\u003e\u003e\u003e urlparse.urljoin(\u0027www.foo/\u0027, \u0027%s.torrent\u0027 % \u0027fakeimageid\u0027)\n\n\u0027www.foo/fakeimageid.torrent\u0027\n\n\u003e\u003e\u003e urlparse.urljoin(\u0027www.foo.com\u0027, \u0027%s.torrent\u0027 % \u0027fakeimageid\u0027)\n\n\u0027fakeimageid.torrent\u0027\n\n\u003e\u003e\u003e urlparse.urljoin(\u0027foo/\u0027, \u0027%s.torrent\u0027 % \u0027fakeimageid\u0027)\n\n\u0027foo/fakeimageid.torrent\u0027\n\n\u003e\u003e\u003e urlparse.urljoin(\u0027foo\u0027, \u0027%s.torrent\u0027 % \u0027fakeimageid\u0027)\n\n\u0027fakeimageid.torrent\u0027\n\n\u003e\u003e\u003e urlparse.urljoin(\u0027www.foo.com\u0027, \u0027%s.torrent\u0027 % \u0027fakeimageid\u0027)\n\n\u0027fakeimageid.torrent\u0027\n\nIt might make sense to do some sort of validation on this CONF setting - otherwise the user will be confused as to why their base url is not being used, though?  Just a thought.","commit_id":"2a5b1db132a9ae6c0b37f8e1854d7e23991720a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cb5ddbefe2671c2a2329d617b02164f31297e6e3","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if CONF.xenserver.torrent_base_url:"},{"line_number":69,"context_line":"            def _default_torrent_url_fn(image_id):"},{"line_number":70,"context_line":"                return urlparse.urljoin(CONF.xenserver.torrent_base_url,"},{"line_number":71,"context_line":"                                        \"%s.torrent\" % image_id)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"            return _default_torrent_url_fn"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_70d23202","side":"PARENT","line":70,"in_reply_to":"7a016987_255eba12","updated":"2015-05-15 20:56:09.000000000","message":"Do you want to push up a separate patch for this?  At a minimum, you could make the config option help for this explicitly state that or give an example.","commit_id":"2a5b1db132a9ae6c0b37f8e1854d7e23991720a4"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"a899edd5b12da2d5e5459935f5e2dd4f87d46b6c","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if CONF.xenserver.torrent_base_url:"},{"line_number":69,"context_line":"            def _default_torrent_url_fn(image_id):"},{"line_number":70,"context_line":"                return urlparse.urljoin(CONF.xenserver.torrent_base_url,"},{"line_number":71,"context_line":"                                        \"%s.torrent\" % image_id)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"            return _default_torrent_url_fn"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_70dc72e4","side":"PARENT","line":70,"in_reply_to":"7a016987_70d23202","updated":"2015-05-15 21:04:55.000000000","message":"Yes, I\u0027ll look into doing that on a separate patch.","commit_id":"2a5b1db132a9ae6c0b37f8e1854d7e23991720a4"}]}
