)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"8f783e1344e7a4dce40ba52db9dd41fd0e57ccb6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Deepti Ramakrishna \u003cdeepti.ramakrishna@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-11-16 03:31:18 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Consistency group API now returns volume type IDs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The create method of consistency group API requires a list of"},{"line_number":10,"context_line":"volume type ids; volumes belonging to only these types can be added"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da85f559_e549a38f","line":7,"updated":"2015-11-16 05:01:10.000000000","message":"Suggest change the title:\n\nCG API should return volume type IDs","commit_id":"13d13c6ce349d8c55377280382ff6779baac3d11"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"66e731e85dd9a61a2ce093c588a21500581523f6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Deepti Ramakrishna \u003cdeepti.ramakrishna@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-11-16 03:31:18 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Consistency group API now returns volume type IDs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The create method of consistency group API requires a list of"},{"line_number":10,"context_line":"volume type ids; volumes belonging to only these types can be added"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da85f559_e59f625d","line":7,"in_reply_to":"da85f559_e549a38f","updated":"2015-11-16 05:29:29.000000000","message":"Done","commit_id":"13d13c6ce349d8c55377280382ff6779baac3d11"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"8f783e1344e7a4dce40ba52db9dd41fd0e57ccb6","unresolved":false,"context_lines":[{"line_number":15,"context_line":"panel so that it can filter the \"available volumes\" list to only"},{"line_number":16,"context_line":"show volumes that match the volume type associated with the consistency"},{"line_number":17,"context_line":"group."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DocImpact"},{"line_number":20,"context_line":"The screenshots in the admin guide (see"},{"line_number":21,"context_line":"http://docs.openstack.org/admin-guide-cloud/blockstorage-consistency-groups.html)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da85f559_8520d7b1","line":18,"updated":"2015-11-16 05:01:10.000000000","message":"You have described why we need to fix the problem.  Can you please also describe how you fixed the problem?","commit_id":"13d13c6ce349d8c55377280382ff6779baac3d11"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"66e731e85dd9a61a2ce093c588a21500581523f6","unresolved":false,"context_lines":[{"line_number":15,"context_line":"panel so that it can filter the \"available volumes\" list to only"},{"line_number":16,"context_line":"show volumes that match the volume type associated with the consistency"},{"line_number":17,"context_line":"group."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DocImpact"},{"line_number":20,"context_line":"The screenshots in the admin guide (see"},{"line_number":21,"context_line":"http://docs.openstack.org/admin-guide-cloud/blockstorage-consistency-groups.html)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da85f559_a5887a23","line":18,"in_reply_to":"da85f559_8520d7b1","updated":"2015-11-16 05:29:29.000000000","message":"Done","commit_id":"13d13c6ce349d8c55377280382ff6779baac3d11"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"94c448538eba82fae8f26dbc48465add725c4d8a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"This was fixed by propagating the volume type id information in"},{"line_number":20,"context_line":"the api layer (this information is stored in the db, it just wasn\u0027t"},{"line_number":21,"context_line":"being propagated)."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"The screenshots in the admin guide (see"},{"line_number":25,"context_line":"http://docs.openstack.org/admin-guide-cloud/blockstorage-consistency-groups.html)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba8a016a_80d3695f","line":22,"updated":"2015-11-19 18:16:10.000000000","message":"As it impacts APIs, please add APIImpact keyword. thanks!","commit_id":"3de94ced3512ce7b13314f02ffac9341a9694a51"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"d0f84a052b84a177748f07c5a06c32702ca27ad2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"This was fixed by propagating the volume type id information in"},{"line_number":20,"context_line":"the api layer (this information is stored in the db, it just wasn\u0027t"},{"line_number":21,"context_line":"being propagated)."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DocImpact"},{"line_number":24,"context_line":"The screenshots in the admin guide (see"},{"line_number":25,"context_line":"http://docs.openstack.org/admin-guide-cloud/blockstorage-consistency-groups.html)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba8a016a_76b96bcb","line":22,"in_reply_to":"ba8a016a_80d3695f","updated":"2015-11-19 18:56:31.000000000","message":"Done","commit_id":"3de94ced3512ce7b13314f02ffac9341a9694a51"}],"cinder/api/views/consistencygroups.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"cd47d11fc12b89c11bf5a616d825a052aa94363c","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def detail(self, request, consistencygroup):"},{"line_number":51,"context_line":"        \"\"\"Detailed view of a single consistency group.\"\"\""},{"line_number":52,"context_line":"        volume_types \u003d consistencygroup.get(\u0027volume_type_id\u0027).split(\",\")"},{"line_number":53,"context_line":"        volume_types \u003d [type_id for type_id in volume_types if type_id]"},{"line_number":54,"context_line":"        return {"},{"line_number":55,"context_line":"            \u0027consistencygroup\u0027: {"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba8a016a_7a68ff21","line":52,"updated":"2015-11-23 13:02:08.000000000","message":"-1: volume_type_id is nullable (and also get could return None), so you shouldn\u0027t do a split without checking.\n\n-1: consistencygroup is a Versioned Object, we should not use dictionary interface.","commit_id":"630f613a7a0624c4640970b4e89e433e5b315e2e"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"2c78211c28f83f01964a705c28831ff239652e0c","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def detail(self, request, consistencygroup):"},{"line_number":51,"context_line":"        \"\"\"Detailed view of a single consistency group.\"\"\""},{"line_number":52,"context_line":"        volume_types \u003d consistencygroup.get(\u0027volume_type_id\u0027).split(\",\")"},{"line_number":53,"context_line":"        volume_types \u003d [type_id for type_id in volume_types if type_id]"},{"line_number":54,"context_line":"        return {"},{"line_number":55,"context_line":"            \u0027consistencygroup\u0027: {"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba8a016a_c2af95e1","line":52,"in_reply_to":"ba8a016a_7a68ff21","updated":"2015-11-24 07:20:38.000000000","message":"Done","commit_id":"630f613a7a0624c4640970b4e89e433e5b315e2e"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"8433926fb8f30c93a81656123b39f3c35e6075e9","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def detail(self, request, consistencygroup):"},{"line_number":51,"context_line":"        \"\"\"Detailed view of a single consistency group.\"\"\""},{"line_number":52,"context_line":"        volume_types \u003d consistencygroup.get(\u0027volume_type_id\u0027).split(\",\")"},{"line_number":53,"context_line":"        volume_types \u003d [type_id for type_id in volume_types if type_id]"},{"line_number":54,"context_line":"        return {"},{"line_number":55,"context_line":"            \u0027consistencygroup\u0027: {"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba8a016a_341b66cc","line":52,"in_reply_to":"ba8a016a_7a68ff21","updated":"2015-11-23 14:25:32.000000000","message":"Good catch. I agree that it shouldn\u0027t do a split without checking.","commit_id":"630f613a7a0624c4640970b4e89e433e5b315e2e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7fc5a909a949a2de1205ae68d911763bff01f712","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                \u0027created_at\u0027: consistencygroup.created_at,"},{"line_number":60,"context_line":"                \u0027name\u0027: consistencygroup.name,"},{"line_number":61,"context_line":"                \u0027description\u0027: consistencygroup.description,"},{"line_number":62,"context_line":"                \u0027volume_types\u0027: volume_types"},{"line_number":63,"context_line":"            }"},{"line_number":64,"context_line":"        }"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba8a016a_57e42cab","line":62,"updated":"2015-11-20 17:09:49.000000000","message":"nit: We tend to add trailing commas to last elements in dicts: http://docs.openstack.org/developer/hacking/#dictionaries-lists","commit_id":"630f613a7a0624c4640970b4e89e433e5b315e2e"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"2c78211c28f83f01964a705c28831ff239652e0c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                \u0027created_at\u0027: consistencygroup.created_at,"},{"line_number":60,"context_line":"                \u0027name\u0027: consistencygroup.name,"},{"line_number":61,"context_line":"                \u0027description\u0027: consistencygroup.description,"},{"line_number":62,"context_line":"                \u0027volume_types\u0027: volume_types"},{"line_number":63,"context_line":"            }"},{"line_number":64,"context_line":"        }"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba8a016a_62858957","line":62,"in_reply_to":"ba8a016a_57e42cab","updated":"2015-11-24 07:20:38.000000000","message":"Done","commit_id":"630f613a7a0624c4640970b4e89e433e5b315e2e"}],"cinder/tests/unit/api/contrib/test_consistencygroups.py":[{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"1057558fa68d07cbd2f1cbc9f76edd10178e76a4","unresolved":false,"context_lines":[{"line_number":176,"context_line":"    def test_list_consistencygroups_detail_json(self):"},{"line_number":177,"context_line":"        consistencygroup1 \u003d self._create_consistencygroup()"},{"line_number":178,"context_line":"        consistencygroup2 \u003d self._create_consistencygroup()"},{"line_number":179,"context_line":"        consistencygroup3 \u003d self._create_consistencygroup(volume_type_id\u003d\u0027uuid1,uuid2\u0027)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        req \u003d webob.Request.blank(\u0027/v2/fake/consistencygroups/detail\u0027)"},{"line_number":182,"context_line":"        req.method \u003d \u0027GET\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_ca52fd34","line":179,"updated":"2015-11-19 15:10:02.000000000","message":"Please fix pep8 error\n\n./cinder/tests/unit/api/contrib/test_consistencygroups.py:179:80: E501 line too long (87 \u003e 79 characters)","commit_id":"b280b7e44594b29c4cd4bf59b92f7e2636ba3688"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"c7dae2bc474c1d7315f43752dbf471274188ec3e","unresolved":false,"context_lines":[{"line_number":176,"context_line":"    def test_list_consistencygroups_detail_json(self):"},{"line_number":177,"context_line":"        consistencygroup1 \u003d self._create_consistencygroup()"},{"line_number":178,"context_line":"        consistencygroup2 \u003d self._create_consistencygroup()"},{"line_number":179,"context_line":"        consistencygroup3 \u003d self._create_consistencygroup(volume_type_id\u003d\u0027uuid1,uuid2\u0027)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        req \u003d webob.Request.blank(\u0027/v2/fake/consistencygroups/detail\u0027)"},{"line_number":182,"context_line":"        req.method \u003d \u0027GET\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_e57b67bc","line":179,"in_reply_to":"ba8a016a_ca52fd34","updated":"2015-11-19 18:05:58.000000000","message":"Done","commit_id":"b280b7e44594b29c4cd4bf59b92f7e2636ba3688"}]}
