)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3be1ebcbb85c0f0beff311b71dc5617799c43955","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Since 3.51, new option \u0027--filters\u0027 has been"},{"line_number":10,"context_line":"added to \u0027type-list\u0027 command, and it\u0027s only"},{"line_number":11,"context_line":"valid for administrator."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I140f6d61a2747d4fcaabfbccea864dcc7eb841d1"},{"line_number":14,"context_line":"Partial-Implements: bp support-az-in-volumetype"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df7087c5_2757d45a","line":12,"updated":"2018-03-14 13:55:59.000000000","message":"Add\n    Depends-On: I4e6aa7af707bd063e7edf2b0bf28e3071ad5c67a","commit_id":"92e4aabb6a26882e4c449f4fee2eea2221e8411d"}],"cinderclient/api_versions.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"2967f59c2df8b9babcb1e21211adbd5f83da0037","unresolved":false,"context_lines":[{"line_number":29,"context_line":"# key is a deprecated version and value is an alternative version."},{"line_number":30,"context_line":"DEPRECATED_VERSIONS \u003d {\"1\": \"2\"}"},{"line_number":31,"context_line":"DEPRECATED_VERSION \u003d \"2.0\""},{"line_number":32,"context_line":"MAX_VERSION \u003d \"3.51\""},{"line_number":33,"context_line":"MIN_VERSION \u003d \"3.0\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"_SUBSTITUTIONS \u003d {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_edf1aa02","line":32,"range":{"start_line":32,"start_character":17,"end_line":32,"end_character":19},"updated":"2018-04-02 15:30:36.000000000","message":"The commit message says 3.52, but this still says 3.51.","commit_id":"8904e9a8e62299be57645ca9c43fdf008c5bc929"}],"cinderclient/v3/shell.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d04d21a29fee76116c65f0dc82026d3d9a915e39","unresolved":false,"context_lines":[{"line_number":58,"context_line":"           start_version\u003d\u00273.51\u0027,"},{"line_number":59,"context_line":"           metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":60,"context_line":"           default\u003dNone,"},{"line_number":61,"context_line":"           help\u003d\"Filter key and value pairs. It\u0027s only valid \""},{"line_number":62,"context_line":"                \"for administrator.\")"},{"line_number":63,"context_line":"def do_type_list(cs, args):"},{"line_number":64,"context_line":"    \"\"\"Lists available \u0027volume types\u0027."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"df7087c5_e27d4ab2","line":62,"range":{"start_line":61,"start_character":45,"end_line":62,"end_character":35},"updated":"2018-03-14 14:39:49.000000000","message":"To be consistent with other commands I would just say \u0027Admin only.\u0027","commit_id":"92e4aabb6a26882e4c449f4fee2eea2221e8411d"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"aefb5beaaf963eb6a8c9bbbc70b7b40e9c8d9e64","unresolved":false,"context_lines":[{"line_number":58,"context_line":"           start_version\u003d\u00273.51\u0027,"},{"line_number":59,"context_line":"           metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":60,"context_line":"           default\u003dNone,"},{"line_number":61,"context_line":"           help\u003d\"Filter key and value pairs. It\u0027s only valid \""},{"line_number":62,"context_line":"                \"for administrator.\")"},{"line_number":63,"context_line":"def do_type_list(cs, args):"},{"line_number":64,"context_line":"    \"\"\"Lists available \u0027volume types\u0027."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_cfca2119","line":62,"range":{"start_line":61,"start_character":45,"end_line":62,"end_character":35},"in_reply_to":"df7087c5_e27d4ab2","updated":"2018-04-03 08:04:03.000000000","message":"Done","commit_id":"92e4aabb6a26882e4c449f4fee2eea2221e8411d"}],"cinderclient/v3/volume_types.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"5892b9812071b0fd3697e1a2c1d02db5caa18728","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        :rtype: list of :class:`VolumeType`."},{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        if not search_opts:"},{"line_number":91,"context_line":"            search_opts \u003d dict()"},{"line_number":92,"context_line":"        if is_public:"},{"line_number":93,"context_line":"            search_opts.update({\"is_public\": is_public})"},{"line_number":94,"context_line":"        query_string \u003d \"?%s\" % parse.urlencode("}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_6134c193","line":91,"updated":"2018-04-02 19:58:39.000000000","message":"Why isn\u0027t the default value search_opts\u003d{} then?","commit_id":"8904e9a8e62299be57645ca9c43fdf008c5bc929"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"26a6794b3e1cd090f480db671817eff99312f0cb","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        :rtype: list of :class:`VolumeType`."},{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        if not search_opts:"},{"line_number":91,"context_line":"            search_opts \u003d dict()"},{"line_number":92,"context_line":"        if is_public:"},{"line_number":93,"context_line":"            search_opts.update({\"is_public\": is_public})"},{"line_number":94,"context_line":"        query_string \u003d \"?%s\" % parse.urlencode("}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_e16a1118","line":91,"in_reply_to":"bf659307_6134c193","updated":"2018-04-02 20:24:43.000000000","message":"Is there any case where None would explicitly get passed in?","commit_id":"8904e9a8e62299be57645ca9c43fdf008c5bc929"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"aefb5beaaf963eb6a8c9bbbc70b7b40e9c8d9e64","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        :rtype: list of :class:`VolumeType`."},{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        if not search_opts:"},{"line_number":91,"context_line":"            search_opts \u003d dict()"},{"line_number":92,"context_line":"        if is_public:"},{"line_number":93,"context_line":"            search_opts.update({\"is_public\": is_public})"},{"line_number":94,"context_line":"        query_string \u003d \"?%s\" % parse.urlencode("}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_090884d7","line":91,"in_reply_to":"bf659307_6134c193","updated":"2018-04-03 08:04:03.000000000","message":"We should not have a default value such as {}","commit_id":"8904e9a8e62299be57645ca9c43fdf008c5bc929"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"551907c774c2913bc8636f1bc761e052d64681df","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        :rtype: list of :class:`VolumeType`."},{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        if not search_opts:"},{"line_number":91,"context_line":"            search_opts \u003d dict()"},{"line_number":92,"context_line":"        if is_public:"},{"line_number":93,"context_line":"            search_opts.update({\"is_public\": is_public})"},{"line_number":94,"context_line":"        query_string \u003d \"?%s\" % parse.urlencode("}],"source_content_type":"text/x-python","patch_set":3,"id":"9f6a8fd7_7e35a9d9","line":91,"in_reply_to":"bf659307_6216f54b","updated":"2018-05-02 02:26:06.000000000","message":"If I understand your point correctly, we can\u0027t use empty dict as the function parameter as it\u0027s unsafe.","commit_id":"8904e9a8e62299be57645ca9c43fdf008c5bc929"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"aefb5beaaf963eb6a8c9bbbc70b7b40e9c8d9e64","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        :rtype: list of :class:`VolumeType`."},{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        if not search_opts:"},{"line_number":91,"context_line":"            search_opts \u003d dict()"},{"line_number":92,"context_line":"        if is_public:"},{"line_number":93,"context_line":"            search_opts.update({\"is_public\": is_public})"},{"line_number":94,"context_line":"        query_string \u003d \"?%s\" % parse.urlencode("}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_e910b002","line":91,"in_reply_to":"bf659307_e16a1118","updated":"2018-04-03 08:04:03.000000000","message":"That\u0027s only used to mention it\u0027s optional parameter.","commit_id":"8904e9a8e62299be57645ca9c43fdf008c5bc929"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"417a1891e799f66925b8ce4cc66efcbbce34b4bf","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        :rtype: list of :class:`VolumeType`."},{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        if not search_opts:"},{"line_number":91,"context_line":"            search_opts \u003d dict()"},{"line_number":92,"context_line":"        if is_public:"},{"line_number":93,"context_line":"            search_opts.update({\"is_public\": is_public})"},{"line_number":94,"context_line":"        query_string \u003d \"?%s\" % parse.urlencode("}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_6216f54b","line":91,"in_reply_to":"bf659307_e910b002","updated":"2018-04-03 09:47:42.000000000","message":"Why would we not want it to default to an empty dict?\n\nThe reason I ask if there is a potential for a consumer of this call to pass in None would be that would justify still having the check here, regardless whether we change the default value or not.","commit_id":"8904e9a8e62299be57645ca9c43fdf008c5bc929"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"996fef12837c79a669a673e7a21177ee6ad41369","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        if not search_opts:"},{"line_number":91,"context_line":"            search_opts \u003d dict()"},{"line_number":92,"context_line":"        if is_public:"},{"line_number":93,"context_line":"            search_opts.update({\"is_public\": is_public})"},{"line_number":94,"context_line":"        query_string \u003d \"?%s\" % parse.urlencode("},{"line_number":95,"context_line":"            search_opts) if search_opts else \u0027\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_e5026609","line":92,"updated":"2018-06-20 20:59:42.000000000","message":"This change broke the osc shell\u0027s ability to search for volume types by name [1]. The original code would add \"is_public\u003dNone\" (when is_public input parameter is None) to the query string, and this does not happen with the new logic. Unfortunately, this radically changes the search results (see [2] vs [3]).\n\n[1] http://logs.openstack.org/04/575804/2/check/osc-functional-devstack-tips/72508dc/testr_results.html.gz\n[2] https://github.com/openstack/cinder/blob/master/cinder/api/v2/types.py#L75\n[3] https://github.com/openstack/cinder/blob/master/cinder/api/v2/types.py#L77","commit_id":"5a1513244caf7acbd41e181419bc8b62bf4bcaba"}]}
