)]}'
{"doc/source/command-objects/volume-type.rst":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5577e291fe693a8ac16043f1f0133a32a8123326","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":".. option:: --volume-type \u003cvolume-type\u003e"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    Display project access details for volume type (name or ID)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    *Volume version 2 only*"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_1ea41f49","line":82,"range":{"start_line":82,"start_character":4,"end_line":82,"end_character":63},"updated":"2016-05-05 07:13:02.000000000","message":"I was initially confused by adding a volume-type option to list volume types, do you mean...\n\n... list for a specific volume type... ?","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"6643380fe90ab479bf3462926cb7b887320424b2","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":".. option:: --volume-type \u003cvolume-type\u003e"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    Display project access details for volume type (name or ID)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    *Volume version 2 only*"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_5e8df27a","line":82,"range":{"start_line":82,"start_character":4,"end_line":82,"end_character":63},"in_reply_to":"1a122d0e_1ea41f49","updated":"2016-05-05 09:01:45.000000000","message":"yes.","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"}],"openstackclient/tests/volume/v2/test_type.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"99c20f820d0d39156ad692a77c15ce13944a4175","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#_"},{"line_number":2,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":3,"context_line":"#   not use this file except in compliance with the License. You may obtain"},{"line_number":4,"context_line":"#   a copy of the License at"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_e4d20334","line":1,"range":{"start_line":1,"start_character":1,"end_line":1,"end_character":2},"updated":"2016-03-21 01:56:11.000000000","message":"Can you remove the _?","commit_id":"e18343f78d86eb1862bfbb58021670e81977478e"},{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"2e551cb2e875e976320090f0dd7a715aeedcd3e7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#_"},{"line_number":2,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":3,"context_line":"#   not use this file except in compliance with the License. You may obtain"},{"line_number":4,"context_line":"#   a copy of the License at"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_f72477b0","line":1,"range":{"start_line":1,"start_character":1,"end_line":1,"end_character":2},"in_reply_to":"fa0719c6_e4d20334","updated":"2016-03-21 02:59:29.000000000","message":"This is already reported by PEP, no need of specifying PEP reported issues...","commit_id":"e18343f78d86eb1862bfbb58021670e81977478e"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"bcb8de6472fc1519ac4cf56ecf137e2cc92190af","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#_"},{"line_number":2,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":3,"context_line":"#   not use this file except in compliance with the License. You may obtain"},{"line_number":4,"context_line":"#   a copy of the License at"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_3931afa3","line":1,"range":{"start_line":1,"start_character":1,"end_line":1,"end_character":2},"in_reply_to":"fa0719c6_f72477b0","updated":"2016-03-21 13:50:32.000000000","message":"I am sorry that I did not see the PEP errors before commenting for the issues I found myself... so silly of me...","commit_id":"e18343f78d86eb1862bfbb58021670e81977478e"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"99c20f820d0d39156ad692a77c15ce13944a4175","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    def test_type_list_project_access(self):"},{"line_number":215,"context_line":"        columns \u003d [\u0027Volume_type_ID\u0027, \u0027Project_ID\u0027]"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        arglist \u003d [\u0027--volume-type\u0027, volume_fakes.type_id]"},{"line_number":218,"context_line":"        verifylist \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_441daf0e","line":215,"updated":"2016-03-21 01:56:11.000000000","message":"This is not used anywhere...","commit_id":"e18343f78d86eb1862bfbb58021670e81977478e"},{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"2e551cb2e875e976320090f0dd7a715aeedcd3e7","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    def test_type_list_project_access(self):"},{"line_number":215,"context_line":"        columns \u003d [\u0027Volume_type_ID\u0027, \u0027Project_ID\u0027]"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        arglist \u003d [\u0027--volume-type\u0027, volume_fakes.type_id]"},{"line_number":218,"context_line":"        verifylist \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_f75bd72c","line":215,"in_reply_to":"fa0719c6_441daf0e","updated":"2016-03-21 02:59:29.000000000","message":"I would have missed running PEP on my end..\nBTW, this is already reported by PEP, no need to re-report PEP reported issues...","commit_id":"e18343f78d86eb1862bfbb58021670e81977478e"}],"openstackclient/volume/v2/volume_type.py":[{"author":{"_account_id":17211,"name":"Brandon Palm","email":"bapalm@us.ibm.com","username":"bapalm"},"change_message_id":"711d656668a0bce89e7ed99deb234f80f981cc37","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        parser.add_argument("},{"line_number":116,"context_line":"            \u0027--volume-type\u0027,"},{"line_number":117,"context_line":"            metavar\u003d\"\u003cvolume-type\u003e\","},{"line_number":118,"context_line":"            help\u003d\u0027List project access details for volume type(Name or ID)\u0027)"},{"line_number":119,"context_line":"        return parser"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_b6ce6181","line":118,"updated":"2016-03-21 16:15:11.000000000","message":"Could you add a space between \"type\" and \"(\"?","commit_id":"e18343f78d86eb1862bfbb58021670e81977478e"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"1ce952f9eeb7fad73c533dc6e8c6a837869e4f77","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_928d1f2d","line":137,"updated":"2016-05-03 11:13:10.000000000","message":"This seems like it should be a new command since you are listing volume type access and not volume types.","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5577e291fe693a8ac16043f1f0133a32a8123326","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_291a876f","line":137,"in_reply_to":"1a122d0e_1d7ef3e3","updated":"2016-05-05 07:13:02.000000000","message":"this should definitely be a new command, we can\u0027t have the output of a list be completely different if an option is passed in. if someone were scripting this and was grabbing volume type names, if they passed in this new option it would break them.\n\n  ``os volume type access list \u003cvolume-type\u003e``  -- is my vote\n\nsorry if i led you wrong in the blueprint discussion :)","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3db56232326d730de9c162c76588c1fbffda034f","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_9365f81e","line":137,"in_reply_to":"1a122d0e_25e783ad","updated":"2016-05-04 11:07:15.000000000","message":"If the BP discussion calls for one command then I think the output should be consistent regardless of the options specified (excluding --long).  Should volume_client.volume_type_access.list() just be called when --long is specified with Project added to the output?","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"f42291f5787e386065a6f1db66db898879b5d8a6","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_022b76ec","line":137,"in_reply_to":"1a122d0e_291a876f","updated":"2016-05-24 22:47:17.000000000","message":"I still don\u0027t want a new resource that is nothing more than additional fields on an existing resource because a list command output is \u0027hard\u0027.\n\nI also don\u0027t understand why we would filter a list on the identifier, that\u0027ll return a list of one.  Right?  Please don\u0027t tell me the keys here are not unique... different issue though, how to filter the list, than the output columns","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"6643380fe90ab479bf3462926cb7b887320424b2","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_3eb8f610","line":137,"in_reply_to":"1a122d0e_291a876f","updated":"2016-05-05 09:01:45.000000000","message":"oh nice, I will update accordingly.\nThanks Richard and Steve for this suggestion.","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"fae2ec82c145be603f40e605dbf75bb581b647e2","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_1d7ef3e3","line":137,"in_reply_to":"1a122d0e_53b989eb","updated":"2016-05-04 22:00:53.000000000","message":"No, I mean have the CLI make both API calls and then consolidate the results.","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"53c10827c58dfea35c92c0f510d37d3f23bbe936","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_25e783ad","line":137,"in_reply_to":"1a122d0e_928d1f2d","updated":"2016-05-04 08:20:18.000000000","message":"II too think it should be seperate command :), but policy does not allow, so kept inside volume type command as directed during BP discussion.\n\nPlease refer https://etherpad.openstack.org/p/cinder-command-support for details.","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"6321e012dc06a0c3b6da66809ed1e3b2df7f044e","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_53b989eb","line":137,"in_reply_to":"1a122d0e_9365f81e","updated":"2016-05-04 17:28:21.000000000","message":"you mean to change output and add project ID in output of volume type.list when we have --long specified in list command?\n\nSeems good but API implementation does no support this...","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"3b06993bc7324e4485884c037d19c81cf8411246","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_c6e23803","line":137,"in_reply_to":"7aa08908_6359b65a","updated":"2016-06-06 13:14:18.000000000","message":"ok, means like option number 2.\nI will proceed once Steve and Dean provide their inputs..","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"1d1a16943f46c3b2002b9fd6c387f87866be2c17","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_6359b65a","line":137,"in_reply_to":"7aa08908_b9c5aa5c","updated":"2016-06-06 13:08:21.000000000","message":"I like one command that has the --long option with the Project column in the display.","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2dc892aaffff9414e1d9e81f301f67451bec8be2","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_5e78acc4","line":137,"in_reply_to":"7aa08908_c6e23803","updated":"2016-06-07 03:07:20.000000000","message":"I guess I\u0027m ok with lumping this all under --long.\n\nmy only issue with option 2 is that the \"Project\" column may not have just one entry... a volumne type may be shared with many projects. so we\u0027ll have to run it through format_list... like we do with properties and format_dict.","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"45b3baf0bfdcddb2d05b1eb87aece990e64c74e2","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            column_headers \u003d columns"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if parsed_args.volume_type:"},{"line_number":137,"context_line":"            type_access_list \u003d volume_client.volume_type_access.list("},{"line_number":138,"context_line":"                parsed_args.volume_type)"},{"line_number":139,"context_line":"            return (column_headers,"},{"line_number":140,"context_line":"                    (utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_b9c5aa5c","line":137,"in_reply_to":"bab6814e_022b76ec","updated":"2016-06-06 04:31:31.000000000","message":"Dear Dean/Steve/Richard,\n\nPlease let me know how should I proceed on this?\nLet me list options which will help in deciding:\n\n1. No change, Keep this as it is..\n\n2. Run 2 commands \n   a. list volume type \n   b. list volume type access(as it is)\n   and blend their output in one to display output in same format as existing list volume type.\n*This option is costly in terms of execution*..\n\n3. New command for volume type access.\n   In this case, I will update for volume type access add, del as well...","commit_id":"12b630dc488a5626a38fdbb5fe713b3f6c5d04fc"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"abf7347046c723e18efc81c60feab79c276b6ed2","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        volume_client \u003d self.app.client_manager.volume"},{"line_number":283,"context_line":"        volume_type \u003d utils.find_resource("},{"line_number":284,"context_line":"            volume_client.volume_types, parsed_args.volume_type)"},{"line_number":285,"context_line":"        properties \u003d utils.format_dict(volume_type._info.pop(\u0027extra_specs\u0027))"},{"line_number":286,"context_line":"        volume_type._info.update({\u0027properties\u0027: properties})"},{"line_number":287,"context_line":"        access_project_ids \u003d None"},{"line_number":288,"context_line":"        if not volume_type.is_public:"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_ffc20733","line":285,"range":{"start_line":285,"start_character":62,"end_line":285,"end_character":73},"updated":"2016-07-20 08:53:00.000000000","message":"I found the other issue when I check volume type access, the volume type don\u0027t contain \"extra_specs\" if non-admin user fetch it, use empty dict as default value of pop() in next patch.","commit_id":"5fb8b5ef3ccb3104813bddb2135e31a2bc7c1a54"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"94e78d78a761167fca2ed8b6286e812537994dea","unresolved":false,"context_lines":[{"line_number":297,"context_line":"            except Exception as e:"},{"line_number":298,"context_line":"                msg \u003d _(\u0027Failed to get access project list for volume type \u0027"},{"line_number":299,"context_line":"                        \u0027%(type)s: %(e)s\u0027)"},{"line_number":300,"context_line":"                LOG.error(msg % {\u0027type\u0027: volume_type.id, \u0027e\u0027: e})"},{"line_number":301,"context_line":"        volume_type._info.update({\u0027access_project_ids\u0027: access_project_ids})"},{"line_number":302,"context_line":"        return zip(*sorted(six.iteritems(volume_type._info)))"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_810d8039","line":300,"updated":"2016-07-19 19:59:17.000000000","message":"Are admins only allowed to show private volume types?  I\u0027d like to avoid this error if the user is not authorized to display the volume type access.","commit_id":"5fb8b5ef3ccb3104813bddb2135e31a2bc7c1a54"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"abf7347046c723e18efc81c60feab79c276b6ed2","unresolved":false,"context_lines":[{"line_number":297,"context_line":"            except Exception as e:"},{"line_number":298,"context_line":"                msg \u003d _(\u0027Failed to get access project list for volume type \u0027"},{"line_number":299,"context_line":"                        \u0027%(type)s: %(e)s\u0027)"},{"line_number":300,"context_line":"                LOG.error(msg % {\u0027type\u0027: volume_type.id, \u0027e\u0027: e})"},{"line_number":301,"context_line":"        volume_type._info.update({\u0027access_project_ids\u0027: access_project_ids})"},{"line_number":302,"context_line":"        return zip(*sorted(six.iteritems(volume_type._info)))"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_82a9f092","line":300,"in_reply_to":"dada55a8_810d8039","updated":"2016-07-20 08:53:00.000000000","message":"admin or the project which\u0027s in access list can show private volume type and access project items, the user is authorized to get the private volume type, he can list the volume type access too. So if the user isn\u0027t authorized, utils.find_resource() method will raise exception first","commit_id":"5fb8b5ef3ccb3104813bddb2135e31a2bc7c1a54"}]}
