)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"c229c9913fad90fe1ee91a160dddea7b0ffc811e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"volume which is already multiattached, an InvalidInput"},{"line_number":12,"context_line":"exception is returned."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"APIImpact"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1572996"},{"line_number":17,"context_line":"Change-Id: Iafc4bf67b67a3ec9149f824d7fe16b8bdc116835"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a122d0e_d593aaa1","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":9},"updated":"2016-05-05 04:17:08.000000000","message":"Do we need to add APIImpact in case of microversion as microversion itself specifies new behavior?","commit_id":"74fa4d0b440b878b4b141e73ce0c4b7298555e51"},{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"c60218589319d454781635e5a20d670d37601ae4","unresolved":false,"context_lines":[{"line_number":11,"context_line":"volume which is already multiattached, an InvalidInput"},{"line_number":12,"context_line":"exception is returned."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"APIImpact"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1572996"},{"line_number":17,"context_line":"Change-Id: Iafc4bf67b67a3ec9149f824d7fe16b8bdc116835"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a122d0e_8ae8e9b4","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":9},"in_reply_to":"1a122d0e_291d67be","updated":"2016-05-05 08:48:50.000000000","message":"No, I dont see any harm in it :)","commit_id":"74fa4d0b440b878b4b141e73ce0c4b7298555e51"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"3f2887ca97769924977658377d822087cc65f56a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"volume which is already multiattached, an InvalidInput"},{"line_number":12,"context_line":"exception is returned."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"APIImpact"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1572996"},{"line_number":17,"context_line":"Change-Id: Iafc4bf67b67a3ec9149f824d7fe16b8bdc116835"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a122d0e_291d67be","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":9},"in_reply_to":"1a122d0e_d593aaa1","updated":"2016-05-05 07:35:59.000000000","message":"\"APIImpact\" is used to gaining the attention of the OpenStack API Working Group for additional review...\nWill it do some harm...?","commit_id":"74fa4d0b440b878b4b141e73ce0c4b7298555e51"}],"cinder/api/v3/volumes.py":[{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"c229c9913fad90fe1ee91a160dddea7b0ffc811e","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            if key in volume:"},{"line_number":104,"context_line":"                update_dict[key] \u003d volume[key]"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        if req.api_version_request.matches(\"3.3\", None):"},{"line_number":107,"context_line":"            if \"multiattach\" in volume:"},{"line_number":108,"context_line":"                update_dict[\"multiattach\"] \u003d volume[\"multiattach\"]"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_51632f1a","line":106,"range":{"start_line":106,"start_character":43,"end_line":106,"end_character":48},"updated":"2016-05-05 04:17:08.000000000","message":"this must be 3.4.","commit_id":"74fa4d0b440b878b4b141e73ce0c4b7298555e51"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"3f2887ca97769924977658377d822087cc65f56a","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            if key in volume:"},{"line_number":104,"context_line":"                update_dict[key] \u003d volume[key]"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        if req.api_version_request.matches(\"3.3\", None):"},{"line_number":107,"context_line":"            if \"multiattach\" in volume:"},{"line_number":108,"context_line":"                update_dict[\"multiattach\"] \u003d volume[\"multiattach\"]"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_09a7cba7","line":106,"range":{"start_line":106,"start_character":43,"end_line":106,"end_character":48},"in_reply_to":"1a122d0e_51632f1a","updated":"2016-05-05 07:35:59.000000000","message":"Done","commit_id":"74fa4d0b440b878b4b141e73ce0c4b7298555e51"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"86f00523c6d6c5fd8650232346fdadeb1ea950cc","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            volumes \u003d self._view_builder.summary_list(req, volumes)"},{"line_number":77,"context_line":"        return volumes"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def update(self, req, id, body):"},{"line_number":80,"context_line":"        \"\"\"Update a volume.\"\"\""},{"line_number":81,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_50c4b690","line":79,"range":{"start_line":79,"start_character":17,"end_line":79,"end_character":18},"updated":"2016-05-05 13:26:00.000000000","message":"Should we use microversion here? Looks like this code does not introduce a new microversion","commit_id":"a8d617862785738eea5490ff666ccd0e0983030d"},{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"df22dbc92774df2f94d0578858bc709a7dc40e1a","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            volumes \u003d self._view_builder.summary_list(req, volumes)"},{"line_number":77,"context_line":"        return volumes"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def update(self, req, id, body):"},{"line_number":80,"context_line":"        \"\"\"Update a volume.\"\"\""},{"line_number":81,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_86d73322","line":79,"range":{"start_line":79,"start_character":17,"end_line":79,"end_character":18},"in_reply_to":"1a122d0e_30793a30","updated":"2016-05-05 15:19:17.000000000","message":"Why we want to use decorator here, is not it ok to use microversion for updated behavior only?\nPlease refer line 106 below.","commit_id":"a8d617862785738eea5490ff666ccd0e0983030d"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"aa1365030bd57e4a5c5d5eee04cd9eb8f196476b","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            volumes \u003d self._view_builder.summary_list(req, volumes)"},{"line_number":77,"context_line":"        return volumes"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def update(self, req, id, body):"},{"line_number":80,"context_line":"        \"\"\"Update a volume.\"\"\""},{"line_number":81,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_30793a30","line":79,"range":{"start_line":79,"start_character":17,"end_line":79,"end_character":18},"in_reply_to":"1a122d0e_50c4b690","updated":"2016-05-05 13:41:49.000000000","message":"Yes, this should be using a microversion. You could use the decorator:\n@api_version(\"3.4\")","commit_id":"a8d617862785738eea5490ff666ccd0e0983030d"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"319ded16aaef82c15c24dc34583e47794aa03211","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            volumes \u003d self._view_builder.summary_list(req, volumes)"},{"line_number":77,"context_line":"        return volumes"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def update(self, req, id, body):"},{"line_number":80,"context_line":"        \"\"\"Update a volume.\"\"\""},{"line_number":81,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"dab17558_f010f9aa","line":79,"range":{"start_line":79,"start_character":17,"end_line":79,"end_character":18},"in_reply_to":"1a122d0e_86d73322","updated":"2016-05-30 01:39:12.000000000","message":"Hi, Ivan, Scott:\nI agree with Sheel.\nWe can\u0027t wrap the whole function. The 3.0--3.3 microversion also needs to support this update function.\nThanks","commit_id":"a8d617862785738eea5490ff666ccd0e0983030d"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"4ef08b1cd6138c952d15b60b568c78b5e2fa7d19","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            \u0027display_description\u0027,"},{"line_number":104,"context_line":"            \u0027metadata\u0027,"},{"line_number":105,"context_line":"        )"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        for key in valid_update_keys:"},{"line_number":108,"context_line":"            if key in volume:"},{"line_number":109,"context_line":"                update_dict[key] \u003d volume[key]"}],"source_content_type":"text/x-python","patch_set":7,"id":"dab17558_2df2bb6f","line":106,"updated":"2016-05-09 22:47:14.000000000","message":"It might be cleaner to put the check for version 3.5 here, and add to the valid keys, i.e,:\nif req.api_version_request.matches(\"3.4\", None):\n    valid_update_keys \u003d valid_update_keys \u003d (\"metatdata\",)","commit_id":"8bc2663c2b74b58b9f4a91b991e278d740aa607c"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"4ef08b1cd6138c952d15b60b568c78b5e2fa7d19","unresolved":false,"context_lines":[{"line_number":108,"context_line":"            if key in volume:"},{"line_number":109,"context_line":"                update_dict[key] \u003d volume[key]"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if req.api_version_request.matches(\"3.4\", None):"},{"line_number":112,"context_line":"            if \"multiattach\" in volume:"},{"line_number":113,"context_line":"                update_dict[\"multiattach\"] \u003d volume[\"multiattach\"]"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"dab17558_ad698b27","line":111,"updated":"2016-05-09 22:47:14.000000000","message":"Now needs to change to \"3.5\". But I prefer my suggestion for doing this with L#106 above.","commit_id":"8bc2663c2b74b58b9f4a91b991e278d740aa607c"}],"cinder/volume/api.py":[{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"aa1365030bd57e4a5c5d5eee04cd9eb8f196476b","unresolved":false,"context_lines":[{"line_number":446,"context_line":"        multiattach \u003d fields.get(\u0027multiattach\u0027, None)"},{"line_number":447,"context_line":"        if multiattach is False and len(volume[\u0027volume_attachment\u0027]) \u003e 1:"},{"line_number":448,"context_line":"            msg \u003d _(\"Volume has already been attached to multi targets, \""},{"line_number":449,"context_line":"                    \"cann\u0027t set multiattach attribute to false.\")"},{"line_number":450,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"        # NOTE(thangp): Update is called by various APIs, some of which are"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_f0fea268","line":449,"updated":"2016-05-05 13:41:49.000000000","message":"cann\u0027t -\u003e can\u0027t","commit_id":"a8d617862785738eea5490ff666ccd0e0983030d"}]}
