)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18479,"name":"Slade Baumann","email":"baumann@us.ibm.com","username":"baumann"},"change_message_id":"9a23d7d37f42847f76ae50f33359bd30ea3b3235","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update retype limitation in volume/api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It checks encryption and Qos during retype(), which"},{"line_number":10,"context_line":"Update retype limitation in volume/api"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It checks encryption and Qos during retype(), which"},{"line_number":13,"context_line":"are very strict checks."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba8a016a_db483b5e","line":10,"updated":"2015-11-16 21:02:20.000000000","message":"This seems to be an accidental repeat of what\u0027s relayed below. We should probably get rid of lines 9 and 10.","commit_id":"4183f9936daa1a130a37ccdb9848b431857cac6f"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"9bc4222f691a0743b639d2abfbc22c537b0abc28","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update retype limitation in volume/api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It checks encryption and Qos during retype(), which"},{"line_number":10,"context_line":"Update retype limitation in volume/api"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It checks encryption and Qos during retype(), which"},{"line_number":13,"context_line":"are very strict checks."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba8a016a_14a43ba4","line":10,"in_reply_to":"ba8a016a_db483b5e","updated":"2015-11-17 08:55:12.000000000","message":"Yes, thanks.","commit_id":"4183f9936daa1a130a37ccdb9848b431857cac6f"},{"author":{"_account_id":18479,"name":"Slade Baumann","email":"baumann@us.ibm.com","username":"baumann"},"change_message_id":"9a23d7d37f42847f76ae50f33359bd30ea3b3235","unresolved":false,"context_lines":[{"line_number":9,"context_line":"It checks encryption and Qos during retype(), which"},{"line_number":10,"context_line":"Update retype limitation in volume/api"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It checks encryption and Qos during retype(), which"},{"line_number":13,"context_line":"are very strict checks."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"It should call volume_types.volume_types_diff to do"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba8a016a_5b3a0b38","line":12,"updated":"2015-11-16 21:02:20.000000000","message":"What is \"it\" referring to here? It would be good to specify.","commit_id":"4183f9936daa1a130a37ccdb9848b431857cac6f"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"9bc4222f691a0743b639d2abfbc22c537b0abc28","unresolved":false,"context_lines":[{"line_number":9,"context_line":"It checks encryption and Qos during retype(), which"},{"line_number":10,"context_line":"Update retype limitation in volume/api"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It checks encryption and Qos during retype(), which"},{"line_number":13,"context_line":"are very strict checks."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"It should call volume_types.volume_types_diff to do"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba8a016a_d4ad5389","line":12,"in_reply_to":"ba8a016a_5b3a0b38","updated":"2015-11-17 08:55:12.000000000","message":"Done","commit_id":"4183f9936daa1a130a37ccdb9848b431857cac6f"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"ebd82c94e96abff54c043c1dee1f63f676f16675","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update retype limitation in volume/api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the function volume.api.API.retype(), it checks encryption and"},{"line_number":10,"context_line":"Qos during retype(), which are too strict checks."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It should call volume_types.volume_types_diff to do"},{"line_number":13,"context_line":"checks. As a result, it can allow retype only if necessary"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba8a016a_b759f1fe","line":10,"updated":"2015-11-20 10:02:46.000000000","message":"Qos \u003d\u003e QoS?","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b12a749ede5ec2fc9fb2b91bc5a87c2b2c2d7bd5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update retype limitation in volume/api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the function volume.api.API.retype(), it checks encryption and"},{"line_number":10,"context_line":"Qos during retype(), which are too strict checks."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It should call volume_types.volume_types_diff to do"},{"line_number":13,"context_line":"checks. As a result, it can allow retype only if necessary"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba8a016a_6f029471","line":10,"in_reply_to":"ba8a016a_b759f1fe","updated":"2015-11-23 05:54:21.000000000","message":"Done","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"a6602c3f781ce1e20757da0a6d4657ea7d88b444","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update retype limitation in volume/api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the function volume.api.API.retype(), it checks encryption and"},{"line_number":10,"context_line":"Qos during retype(), which are too strict checks."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It should call volume_types.volume_types_diff to do"},{"line_number":13,"context_line":"checks. As a result, it can filter out the unused filds,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a8ffd7b_4c95d384","line":10,"updated":"2015-11-27 15:32:55.000000000","message":"Qos \u003d\u003e QoS? Not done yet :-)","commit_id":"cde67033d6f3b32db13af8fc61ffb090c88ecae1"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"09f37a0ea3072ef2cac0bd12be19e74ef72728d0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update retype limitation in volume/api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the function volume.api.API.retype(), it checks encryption and"},{"line_number":10,"context_line":"Qos during retype(), which are too strict checks."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It should call volume_types.volume_types_diff to do"},{"line_number":13,"context_line":"checks. As a result, it can filter out the unused filds,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a8ffd7b_a8f086ca","line":10,"in_reply_to":"9a8ffd7b_4c95d384","updated":"2015-12-01 06:34:17.000000000","message":"Sorry. Done.","commit_id":"cde67033d6f3b32db13af8fc61ffb090c88ecae1"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"9a8317996f451d18657ddbff620683bc16a21a60","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Meanwhile, before checking whether QoS includes front-end consumer,"},{"line_number":17,"context_line":"it should check whether there is changes in QoS at first."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ifcc7f6cfb906013723201f15e7cf6bb294f2dff1"},{"line_number":20,"context_line":"Closes-Bug: #1516328"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a740942_413c12e2","line":18,"updated":"2015-12-07 07:33:51.000000000","message":"Well, this patch changes api behavior, so should add APIImpact.","commit_id":"b55d29d301e727c2760938d45b0919e5f3a09ccb"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"5bce44493380298a701afd848daa96dec6177b41","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Meanwhile, before checking whether QoS includes front-end consumer,"},{"line_number":17,"context_line":"it should check whether there is changes in QoS at first."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ifcc7f6cfb906013723201f15e7cf6bb294f2dff1"},{"line_number":20,"context_line":"Closes-Bug: #1516328"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a740942_6c326512","line":18,"in_reply_to":"7a740942_413c12e2","updated":"2015-12-07 08:06:25.000000000","message":"Done","commit_id":"b55d29d301e727c2760938d45b0919e5f3a09ccb"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"5f2af8e022c6f274f176d754758601d3472a2518","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update retype limitation in volume/api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the function volume.api.API.retype(), it checks encryption and"},{"line_number":10,"context_line":"QoS during retype(), which are too strict checks."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It should call volume_types.volume_types_diff to do"},{"line_number":13,"context_line":"checks. As a result, it can filter out the unused filds,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7a740942_878151fd","line":10,"updated":"2015-12-08 15:30:24.000000000","message":"two instead of too I think","commit_id":"f0f506c96e219d7c3f041bfc04c7860148651f6f"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"55874e9da88b6dc6163f87d76e9a351c29723485","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update retype limitation in volume/api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the function volume.api.API.retype(), it checks encryption and"},{"line_number":10,"context_line":"QoS during retype(), which are too strict checks."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It should call volume_types.volume_types_diff to do"},{"line_number":13,"context_line":"checks. As a result, it can filter out the unused filds,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7a740942_78c78712","line":10,"in_reply_to":"7a740942_878151fd","updated":"2015-12-11 03:18:10.000000000","message":"It is too.","commit_id":"f0f506c96e219d7c3f041bfc04c7860148651f6f"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"5f2af8e022c6f274f176d754758601d3472a2518","unresolved":false,"context_lines":[{"line_number":10,"context_line":"QoS during retype(), which are too strict checks."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It should call volume_types.volume_types_diff to do"},{"line_number":13,"context_line":"checks. As a result, it can filter out the unused filds,"},{"line_number":14,"context_line":"like ID, name etc."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Meanwhile, before checking whether QoS includes front-end consumer,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7a740942_27717d44","line":13,"updated":"2015-12-08 15:30:24.000000000","message":"spelling of fields","commit_id":"f0f506c96e219d7c3f041bfc04c7860148651f6f"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"55874e9da88b6dc6163f87d76e9a351c29723485","unresolved":false,"context_lines":[{"line_number":10,"context_line":"QoS during retype(), which are too strict checks."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It should call volume_types.volume_types_diff to do"},{"line_number":13,"context_line":"checks. As a result, it can filter out the unused filds,"},{"line_number":14,"context_line":"like ID, name etc."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Meanwhile, before checking whether QoS includes front-end consumer,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7a740942_98ca7319","line":13,"in_reply_to":"7a740942_27717d44","updated":"2015-12-11 03:18:10.000000000","message":"Done","commit_id":"f0f506c96e219d7c3f041bfc04c7860148651f6f"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"5f2af8e022c6f274f176d754758601d3472a2518","unresolved":false,"context_lines":[{"line_number":17,"context_line":"it should check whether there is changes in QoS at first."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"APIImpact"},{"line_number":20,"context_line":"If no changes in encryptions and front-end QoS, it allows to retype."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ifcc7f6cfb906013723201f15e7cf6bb294f2dff1"},{"line_number":23,"context_line":"Closes-Bug: #1516328"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7a740942_a737ad4b","line":20,"updated":"2015-12-08 15:30:24.000000000","message":"Is this different than the current behavior? Or is this patch just a refactor?","commit_id":"f0f506c96e219d7c3f041bfc04c7860148651f6f"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"55874e9da88b6dc6163f87d76e9a351c29723485","unresolved":false,"context_lines":[{"line_number":17,"context_line":"it should check whether there is changes in QoS at first."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"APIImpact"},{"line_number":20,"context_line":"If no changes in encryptions and front-end QoS, it allows to retype."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ifcc7f6cfb906013723201f15e7cf6bb294f2dff1"},{"line_number":23,"context_line":"Closes-Bug: #1516328"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7a740942_bb4969d2","line":20,"in_reply_to":"7a740942_a737ad4b","updated":"2015-12-11 03:18:10.000000000","message":"I updated the commit message to make it more detail.","commit_id":"f0f506c96e219d7c3f041bfc04c7860148651f6f"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"c0be66429326cf8baa35e3757f09605cb667edc7","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Moreover, before checking whether QoS includes front-end consumer,"},{"line_number":25,"context_line":"it checks whether there is changes in QoS. If QoS changed, it checks"},{"line_number":26,"context_line":"there is no frond-end QoS change."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"APIImpact"},{"line_number":29,"context_line":"If no changes in encryptions and front-end QoS, it allows to retype."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3a7e1126_409429e1","line":26,"range":{"start_line":26,"start_character":12,"end_line":26,"end_character":21},"updated":"2015-12-17 19:26:32.000000000","message":"frond-end -\u003e front-end","commit_id":"33022e10bf20e923bf0d2daf96f7040ab29173c5"}],"cinder/tests/unit/api/contrib/test_volume_actions.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"a6602c3f781ce1e20757da0a6d4657ea7d88b444","unresolved":false,"context_lines":[{"line_number":530,"context_line":"        # should NOT fail if changing qos enforced by FE for available volumes"},{"line_number":531,"context_line":"        d1 \u003d {\u0027id\u0027: \u0027fakeqid1\u0027, \u0027name\u0027: \u0027fake_name1\u0027,"},{"line_number":532,"context_line":"              \u0027consumer\u0027: \u0027front-end\u0027, \u0027specs\u0027: {\u0027key1\u0027: \u0027value1\u0027}}"},{"line_number":533,"context_line":"        d2 \u003d {}"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"        self._retype_volume_diff_qos(\u0027available\u0027, d1, d2, 202)"},{"line_number":536,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a8ffd7b_2c716f0f","line":533,"updated":"2015-11-27 15:32:55.000000000","message":"It is a bit confusing to change d2 \u003d {}. Won\u0027t that invalides this test case?","commit_id":"cde67033d6f3b32db13af8fc61ffb090c88ecae1"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"09f37a0ea3072ef2cac0bd12be19e74ef72728d0","unresolved":false,"context_lines":[{"line_number":530,"context_line":"        # should NOT fail if changing qos enforced by FE for available volumes"},{"line_number":531,"context_line":"        d1 \u003d {\u0027id\u0027: \u0027fakeqid1\u0027, \u0027name\u0027: \u0027fake_name1\u0027,"},{"line_number":532,"context_line":"              \u0027consumer\u0027: \u0027front-end\u0027, \u0027specs\u0027: {\u0027key1\u0027: \u0027value1\u0027}}"},{"line_number":533,"context_line":"        d2 \u003d {}"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"        self._retype_volume_diff_qos(\u0027available\u0027, d1, d2, 202)"},{"line_number":536,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a8ffd7b_485c7aed","line":533,"in_reply_to":"9a8ffd7b_2c716f0f","updated":"2015-12-01 06:34:17.000000000","message":"I updated it to None. As this is to test one volume type without QoS.","commit_id":"cde67033d6f3b32db13af8fc61ffb090c88ecae1"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"a6602c3f781ce1e20757da0a6d4657ea7d88b444","unresolved":false,"context_lines":[{"line_number":538,"context_line":"        # should NOT fail if changing qos enforced by back-end"},{"line_number":539,"context_line":"        d1 \u003d {\u0027id\u0027: \u0027fakeqid1\u0027, \u0027name\u0027: \u0027fake_name1\u0027,"},{"line_number":540,"context_line":"              \u0027consumer\u0027: \u0027back-end\u0027, \u0027specs\u0027: {\u0027key1\u0027: \u0027value2\u0027}}"},{"line_number":541,"context_line":"        d2 \u003d {}"},{"line_number":542,"context_line":"        self._retype_volume_diff_qos(\u0027available\u0027, d1, d2, 202)"},{"line_number":543,"context_line":"        self._retype_volume_diff_qos(\u0027in-use\u0027, d1, d2, 202)"},{"line_number":544,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a8ffd7b_0c726b11","line":541,"updated":"2015-11-27 15:32:55.000000000","message":"Ditto.","commit_id":"cde67033d6f3b32db13af8fc61ffb090c88ecae1"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"09f37a0ea3072ef2cac0bd12be19e74ef72728d0","unresolved":false,"context_lines":[{"line_number":538,"context_line":"        # should NOT fail if changing qos enforced by back-end"},{"line_number":539,"context_line":"        d1 \u003d {\u0027id\u0027: \u0027fakeqid1\u0027, \u0027name\u0027: \u0027fake_name1\u0027,"},{"line_number":540,"context_line":"              \u0027consumer\u0027: \u0027back-end\u0027, \u0027specs\u0027: {\u0027key1\u0027: \u0027value2\u0027}}"},{"line_number":541,"context_line":"        d2 \u003d {}"},{"line_number":542,"context_line":"        self._retype_volume_diff_qos(\u0027available\u0027, d1, d2, 202)"},{"line_number":543,"context_line":"        self._retype_volume_diff_qos(\u0027in-use\u0027, d1, d2, 202)"},{"line_number":544,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a8ffd7b_08f672d7","line":541,"in_reply_to":"9a8ffd7b_0c726b11","updated":"2015-12-01 06:34:17.000000000","message":"I updated it back. As  L533 is enough.","commit_id":"cde67033d6f3b32db13af8fc61ffb090c88ecae1"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"5f2af8e022c6f274f176d754758601d3472a2518","unresolved":false,"context_lines":[{"line_number":569,"context_line":"        # should fail if encryptions are same"},{"line_number":570,"context_line":"        enc1 \u003d {\u0027key_size\u0027: 1024, \u0027created_at\u0027: \u0027faketime1\u0027, }"},{"line_number":571,"context_line":"        enc2 \u003d {\u0027key_size\u0027: 1024, \u0027created_at\u0027: \u0027faketime2\u0027, }"},{"line_number":572,"context_line":"        self._retype_volume_diff_encryption(enc1, enc2, 202)"},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"    def _retype_volume_diff_extra_specs(self, extra1, extra2, expected_status):"},{"line_number":575,"context_line":"        def fake_get_volume_type_extra_specs(ctxt, type_id):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_0777a102","line":572,"updated":"2015-12-08 15:30:24.000000000","message":"202 means it didn\u0027t fail, is the comment incorrect?","commit_id":"f0f506c96e219d7c3f041bfc04c7860148651f6f"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"55874e9da88b6dc6163f87d76e9a351c29723485","unresolved":false,"context_lines":[{"line_number":569,"context_line":"        # should fail if encryptions are same"},{"line_number":570,"context_line":"        enc1 \u003d {\u0027key_size\u0027: 1024, \u0027created_at\u0027: \u0027faketime1\u0027, }"},{"line_number":571,"context_line":"        enc2 \u003d {\u0027key_size\u0027: 1024, \u0027created_at\u0027: \u0027faketime2\u0027, }"},{"line_number":572,"context_line":"        self._retype_volume_diff_encryption(enc1, enc2, 202)"},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"    def _retype_volume_diff_extra_specs(self, extra1, extra2, expected_status):"},{"line_number":575,"context_line":"        def fake_get_volume_type_extra_specs(ctxt, type_id):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_b84e4fbf","line":572,"in_reply_to":"7a740942_0777a102","updated":"2015-12-11 03:18:10.000000000","message":"Done","commit_id":"f0f506c96e219d7c3f041bfc04c7860148651f6f"}],"cinder/volume/api.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"ebd82c94e96abff54c043c1dee1f63f676f16675","unresolved":false,"context_lines":[{"line_number":1496,"context_line":"            context, old_vol_type_id, vol_type_id)"},{"line_number":1497,"context_line":""},{"line_number":1498,"context_line":"        if not all_equal:"},{"line_number":1499,"context_line":"            # We don\u0027t support changing encryption requirements yet"},{"line_number":1500,"context_line":"            for v in diff[\u0027encryption\u0027].values():"},{"line_number":1501,"context_line":"                if v[0] !\u003d v[1]:"},{"line_number":1502,"context_line":"                    msg \u003d _(\u0027Retype cannot change encryption requirements.\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_37f6615d","line":1499,"updated":"2015-11-20 10:02:46.000000000","message":"Would you mind modify the comments together?","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b12a749ede5ec2fc9fb2b91bc5a87c2b2c2d7bd5","unresolved":false,"context_lines":[{"line_number":1496,"context_line":"            context, old_vol_type_id, vol_type_id)"},{"line_number":1497,"context_line":""},{"line_number":1498,"context_line":"        if not all_equal:"},{"line_number":1499,"context_line":"            # We don\u0027t support changing encryption requirements yet"},{"line_number":1500,"context_line":"            for v in diff[\u0027encryption\u0027].values():"},{"line_number":1501,"context_line":"                if v[0] !\u003d v[1]:"},{"line_number":1502,"context_line":"                    msg \u003d _(\u0027Retype cannot change encryption requirements.\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_efc0c42c","line":1499,"in_reply_to":"ba8a016a_37f6615d","updated":"2015-11-23 05:54:21.000000000","message":"This comments don\u0027t need to update.","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"ebd82c94e96abff54c043c1dee1f63f676f16675","unresolved":false,"context_lines":[{"line_number":1498,"context_line":"        if not all_equal:"},{"line_number":1499,"context_line":"            # We don\u0027t support changing encryption requirements yet"},{"line_number":1500,"context_line":"            for v in diff[\u0027encryption\u0027].values():"},{"line_number":1501,"context_line":"                if v[0] !\u003d v[1]:"},{"line_number":1502,"context_line":"                    msg \u003d _(\u0027Retype cannot change encryption requirements.\u0027)"},{"line_number":1503,"context_line":"                    raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1504,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_1780fd89","line":1501,"updated":"2015-11-20 10:02:46.000000000","message":"Where is the code to handle “updated_at” and \"created_at\" field?","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b12a749ede5ec2fc9fb2b91bc5a87c2b2c2d7bd5","unresolved":false,"context_lines":[{"line_number":1498,"context_line":"        if not all_equal:"},{"line_number":1499,"context_line":"            # We don\u0027t support changing encryption requirements yet"},{"line_number":1500,"context_line":"            for v in diff[\u0027encryption\u0027].values():"},{"line_number":1501,"context_line":"                if v[0] !\u003d v[1]:"},{"line_number":1502,"context_line":"                    msg \u003d _(\u0027Retype cannot change encryption requirements.\u0027)"},{"line_number":1503,"context_line":"                    raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1504,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_afe15cd2","line":1501,"in_reply_to":"ba8a016a_1780fd89","updated":"2015-11-23 05:54:21.000000000","message":"In volume_types.volume_types_diff, it will remove the unnecessary fields.","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"ebd82c94e96abff54c043c1dee1f63f676f16675","unresolved":false,"context_lines":[{"line_number":1502,"context_line":"                    msg \u003d _(\u0027Retype cannot change encryption requirements.\u0027)"},{"line_number":1503,"context_line":"                    raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1504,"context_line":""},{"line_number":1505,"context_line":"            # We don\u0027t support changing QoS at the front-end yet for"},{"line_number":1506,"context_line":"            # in-use volumes"},{"line_number":1507,"context_line":"            # TODO(avishay): Call Nova to change QoS setting (libvirt"},{"line_number":1508,"context_line":"            # has support - virDomainSetBlockIoTune() - Nova does"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_d797d5e9","line":1505,"updated":"2015-11-20 10:02:46.000000000","message":"Ditto for comments.","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b12a749ede5ec2fc9fb2b91bc5a87c2b2c2d7bd5","unresolved":false,"context_lines":[{"line_number":1502,"context_line":"                    msg \u003d _(\u0027Retype cannot change encryption requirements.\u0027)"},{"line_number":1503,"context_line":"                    raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1504,"context_line":""},{"line_number":1505,"context_line":"            # We don\u0027t support changing QoS at the front-end yet for"},{"line_number":1506,"context_line":"            # in-use volumes"},{"line_number":1507,"context_line":"            # TODO(avishay): Call Nova to change QoS setting (libvirt"},{"line_number":1508,"context_line":"            # has support - virDomainSetBlockIoTune() - Nova does"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_6feb74b1","line":1505,"in_reply_to":"ba8a016a_d797d5e9","updated":"2015-11-23 05:54:21.000000000","message":"No need to change.","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"ebd82c94e96abff54c043c1dee1f63f676f16675","unresolved":false,"context_lines":[{"line_number":1507,"context_line":"            # TODO(avishay): Call Nova to change QoS setting (libvirt"},{"line_number":1508,"context_line":"            # has support - virDomainSetBlockIoTune() - Nova does"},{"line_number":1509,"context_line":"            # not have support yet)."},{"line_number":1510,"context_line":"            if volume[\u0027status\u0027] !\u003d \u0027available\u0027:"},{"line_number":1511,"context_line":"                for v in diff[\u0027qos_specs\u0027].values():"},{"line_number":1512,"context_line":"                    if v[0] !\u003d v[1]:"},{"line_number":1513,"context_line":"                        consumer_list \u003d diff[\u0027qos_specs\u0027][\u0027consumer\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_d207e3c7","line":1510,"updated":"2015-11-20 10:02:46.000000000","message":"Would you make these nested blocks shallower? It is a bit confusing to read.","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b12a749ede5ec2fc9fb2b91bc5a87c2b2c2d7bd5","unresolved":false,"context_lines":[{"line_number":1507,"context_line":"            # TODO(avishay): Call Nova to change QoS setting (libvirt"},{"line_number":1508,"context_line":"            # has support - virDomainSetBlockIoTune() - Nova does"},{"line_number":1509,"context_line":"            # not have support yet)."},{"line_number":1510,"context_line":"            if volume[\u0027status\u0027] !\u003d \u0027available\u0027:"},{"line_number":1511,"context_line":"                for v in diff[\u0027qos_specs\u0027].values():"},{"line_number":1512,"context_line":"                    if v[0] !\u003d v[1]:"},{"line_number":1513,"context_line":"                        consumer_list \u003d diff[\u0027qos_specs\u0027][\u0027consumer\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_0a72d67c","line":1510,"in_reply_to":"ba8a016a_d207e3c7","updated":"2015-11-23 05:54:21.000000000","message":"Done","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"ebd82c94e96abff54c043c1dee1f63f676f16675","unresolved":false,"context_lines":[{"line_number":1509,"context_line":"            # not have support yet)."},{"line_number":1510,"context_line":"            if volume[\u0027status\u0027] !\u003d \u0027available\u0027:"},{"line_number":1511,"context_line":"                for v in diff[\u0027qos_specs\u0027].values():"},{"line_number":1512,"context_line":"                    if v[0] !\u003d v[1]:"},{"line_number":1513,"context_line":"                        consumer_list \u003d diff[\u0027qos_specs\u0027][\u0027consumer\u0027]"},{"line_number":1514,"context_line":"                        if (consumer_list[0] !\u003d \u0027back-end\u0027"},{"line_number":1515,"context_line":"                                or consumer_list[1] !\u003d \u0027back-end\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_b20d7f90","line":1512,"updated":"2015-11-20 10:02:46.000000000","message":"If the two volumes are of \"front-end\" and qos_specs are the same, can manager.VolumeManager.retype handle \"front-end\" qos retype correctly? Since they are not supported before.","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b12a749ede5ec2fc9fb2b91bc5a87c2b2c2d7bd5","unresolved":false,"context_lines":[{"line_number":1509,"context_line":"            # not have support yet)."},{"line_number":1510,"context_line":"            if volume[\u0027status\u0027] !\u003d \u0027available\u0027:"},{"line_number":1511,"context_line":"                for v in diff[\u0027qos_specs\u0027].values():"},{"line_number":1512,"context_line":"                    if v[0] !\u003d v[1]:"},{"line_number":1513,"context_line":"                        consumer_list \u003d diff[\u0027qos_specs\u0027][\u0027consumer\u0027]"},{"line_number":1514,"context_line":"                        if (consumer_list[0] !\u003d \u0027back-end\u0027"},{"line_number":1515,"context_line":"                                or consumer_list[1] !\u003d \u0027back-end\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_af087c92","line":1512,"in_reply_to":"ba8a016a_b20d7f90","updated":"2015-11-23 05:54:21.000000000","message":"This is the patch to fix.","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"ebd82c94e96abff54c043c1dee1f63f676f16675","unresolved":false,"context_lines":[{"line_number":1515,"context_line":"                                or consumer_list[1] !\u003d \u0027back-end\u0027):"},{"line_number":1516,"context_line":"                            msg \u003d _(\u0027Retype cannot change front-end \u0027"},{"line_number":1517,"context_line":"                                    \u0027qos specs for in-use volume: \u0027"},{"line_number":1518,"context_line":"                                    \u0027%s.\u0027) % volume[\u0027id\u0027]"},{"line_number":1519,"context_line":"                            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1520,"context_line":""},{"line_number":1521,"context_line":"        # We\u0027re checking here in so that we can report any quota issues as"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_5299b3c2","line":1518,"updated":"2015-11-20 10:02:46.000000000","message":"volume[\u0027id\u0027] \u003d\u003e volume.id ?","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b12a749ede5ec2fc9fb2b91bc5a87c2b2c2d7bd5","unresolved":false,"context_lines":[{"line_number":1515,"context_line":"                                or consumer_list[1] !\u003d \u0027back-end\u0027):"},{"line_number":1516,"context_line":"                            msg \u003d _(\u0027Retype cannot change front-end \u0027"},{"line_number":1517,"context_line":"                                    \u0027qos specs for in-use volume: \u0027"},{"line_number":1518,"context_line":"                                    \u0027%s.\u0027) % volume[\u0027id\u0027]"},{"line_number":1519,"context_line":"                            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1520,"context_line":""},{"line_number":1521,"context_line":"        # We\u0027re checking here in so that we can report any quota issues as"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_8f033876","line":1518,"in_reply_to":"ba8a016a_5299b3c2","updated":"2015-11-23 05:54:21.000000000","message":"Done","commit_id":"d3d28d1577deae210ace55dfa61d219b06f6ccc7"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"5f2af8e022c6f274f176d754758601d3472a2518","unresolved":false,"context_lines":[{"line_number":1486,"context_line":""},{"line_number":1487,"context_line":"        old_vol_type_id \u003d volume.volume_type_id"},{"line_number":1488,"context_line":""},{"line_number":1489,"context_line":"        # Error if the original and new type are the same"},{"line_number":1490,"context_line":"        if volume.volume_type_id \u003d\u003d vol_type_id:"},{"line_number":1491,"context_line":"            msg \u003d _(\u0027New volume_type same as original: %s.\u0027) % new_type"},{"line_number":1492,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_477b69c1","line":1489,"updated":"2015-12-08 15:30:24.000000000","message":"The retype method would be a lot cleaner if we extracted the volume type checks into a different method. This is just a suggestion.","commit_id":"f0f506c96e219d7c3f041bfc04c7860148651f6f"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"55874e9da88b6dc6163f87d76e9a351c29723485","unresolved":false,"context_lines":[{"line_number":1486,"context_line":""},{"line_number":1487,"context_line":"        old_vol_type_id \u003d volume.volume_type_id"},{"line_number":1488,"context_line":""},{"line_number":1489,"context_line":"        # Error if the original and new type are the same"},{"line_number":1490,"context_line":"        if volume.volume_type_id \u003d\u003d vol_type_id:"},{"line_number":1491,"context_line":"            msg \u003d _(\u0027New volume_type same as original: %s.\u0027) % new_type"},{"line_number":1492,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_b8772f01","line":1489,"in_reply_to":"7a740942_477b69c1","updated":"2015-12-11 03:18:10.000000000","message":"I agree.","commit_id":"f0f506c96e219d7c3f041bfc04c7860148651f6f"}]}
