)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"08f76c4546a1404cdbad6e5404b8eb5bc480ed97","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"DocImpact"},{"line_number":14,"context_line":"Implements: blueprint scaleio-manage-existing"},{"line_number":15,"context_line":"Change-Id: I14ad94905aaa7ea2bef7c75011a40c5d057e1cc0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"3a57f1b5_2839a3f2","line":15,"updated":"2016-02-11 17:41:02.000000000","message":"I don\u0027t see a bug filed against this and the bug isn\u0027t in the commit message.  Please file a bug and add it to the commit message as...\nCloses-Bug: #XXXXXX","commit_id":"928c10ffa23fedad8a8850153c241a498b71e534"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0203922bb76f1cbd9632264590b6ad60a3e02095","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"DocImpact"},{"line_number":14,"context_line":"Implements: blueprint scaleio-manage-existing"},{"line_number":15,"context_line":"Change-Id: I14ad94905aaa7ea2bef7c75011a40c5d057e1cc0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"3a57f1b5_3f14459e","line":15,"in_reply_to":"3a57f1b5_2839a3f2","updated":"2016-02-12 15:19:13.000000000","message":"Done","commit_id":"928c10ffa23fedad8a8850153c241a498b71e534"}],"cinder/tests/unit/volume/drivers/emc/scaleio/test_manage_existing.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"d036a770c359d0a50a98eb0e21fe39e624c40c1c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from cinder.tests.unit.volume.drivers.emc import scaleio\r"},{"line_number":20,"context_line":"from cinder.tests.unit.volume.drivers.emc.scaleio import mocks\r"},{"line_number":21,"context_line":"from cinder.volume import volume_types\r"},{"line_number":22,"context_line":"from mock import patch\r"},{"line_number":23,"context_line":"from six.moves import urllib\r"},{"line_number":24,"context_line":"\r"},{"line_number":25,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":22,"id":"3a57f1b5_f7c0ff51","line":22,"updated":"2016-02-12 21:59:32.000000000","message":"mock and six import should be above the local cinder imports in its own section.","commit_id":"eac894c09f31801430e61e89f3dbad127125ed6b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b05e945e0b014522c33302b7f0c3baacee1c41ed","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from cinder.tests.unit.volume.drivers.emc import scaleio\r"},{"line_number":20,"context_line":"from cinder.tests.unit.volume.drivers.emc.scaleio import mocks\r"},{"line_number":21,"context_line":"from cinder.volume import volume_types\r"},{"line_number":22,"context_line":"from mock import patch\r"},{"line_number":23,"context_line":"from six.moves import urllib\r"},{"line_number":24,"context_line":"\r"},{"line_number":25,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":22,"id":"1a54edaf_83b59e7f","line":22,"in_reply_to":"3a57f1b5_f7c0ff51","updated":"2016-02-13 02:24:13.000000000","message":"Good catch.  Will clean up later.  Thanks.","commit_id":"eac894c09f31801430e61e89f3dbad127125ed6b"}],"cinder/volume/drivers/emc/scaleio.py":[{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"5fe0e51252d24e7584da9d22d6a57cf9fb0b0fed","unresolved":false,"context_lines":[{"line_number":1044,"context_line":"        r, response \u003d self._execute_scaleio_get_request(request)"},{"line_number":1045,"context_line":"        LOG.info(_LI(\"Get Volume response: %s\"), response)"},{"line_number":1046,"context_line":"        self._manage_existing_check_legal_response(r, existing_ref)"},{"line_number":1047,"context_line":"        return long(response[\u0027sizeInKb\u0027] / units.Mi)"},{"line_number":1048,"context_line":""},{"line_number":1049,"context_line":"    def _execute_scaleio_get_request(self, request):"},{"line_number":1050,"context_line":"        r \u003d requests.get("}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_e8952f88","line":1047,"range":{"start_line":1047,"start_character":15,"end_line":1047,"end_character":19},"updated":"2016-01-17 06:25:41.000000000","message":"long is no longer py34 compliant. I believe int() will work.","commit_id":"b820d93634e59e86371d24d3336c09a452bc6ff9"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"463dff83ed266db80df5552afab5a7c6346edf8b","unresolved":false,"context_lines":[{"line_number":1044,"context_line":"        r, response \u003d self._execute_scaleio_get_request(request)"},{"line_number":1045,"context_line":"        LOG.info(_LI(\"Get Volume response: %s\"), response)"},{"line_number":1046,"context_line":"        self._manage_existing_check_legal_response(r, existing_ref)"},{"line_number":1047,"context_line":"        return long(response[\u0027sizeInKb\u0027] / units.Mi)"},{"line_number":1048,"context_line":""},{"line_number":1049,"context_line":"    def _execute_scaleio_get_request(self, request):"},{"line_number":1050,"context_line":"        r \u003d requests.get("}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_ba1c596b","line":1047,"range":{"start_line":1047,"start_character":15,"end_line":1047,"end_character":19},"in_reply_to":"da6ed579_e8952f88","updated":"2016-01-17 17:19:17.000000000","message":"Done","commit_id":"b820d93634e59e86371d24d3336c09a452bc6ff9"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"17c2141f42812ae28e55dfa13235d940480e84a6","unresolved":false,"context_lines":[{"line_number":655,"context_line":"            elif vol_id is None:"},{"line_number":656,"context_line":"                LOG.warning(_LW("},{"line_number":657,"context_line":"                            \"Volume does not have provider_id thus does not \""},{"line_number":658,"context_line":"                            \"mapped\""},{"line_number":659,"context_line":"                            \"to a ScaleIO volume. Removing from DB\"))"},{"line_number":660,"context_line":"            else:"},{"line_number":661,"context_line":"                msg \u003d (_(\"Error deleting volume %(vol)s: %(err)s.\") %"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_6b5595c4","line":658,"updated":"2016-01-18 14:00:30.000000000","message":"Should add a space after \"mapped\".","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"bc65d9feed96db1cbabd5f0209bc784d18760923","unresolved":false,"context_lines":[{"line_number":655,"context_line":"            elif vol_id is None:"},{"line_number":656,"context_line":"                LOG.warning(_LW("},{"line_number":657,"context_line":"                            \"Volume does not have provider_id thus does not \""},{"line_number":658,"context_line":"                            \"mapped\""},{"line_number":659,"context_line":"                            \"to a ScaleIO volume. Removing from DB\"))"},{"line_number":660,"context_line":"            else:"},{"line_number":661,"context_line":"                msg \u003d (_(\"Error deleting volume %(vol)s: %(err)s.\") %"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_138a1dc0","line":658,"in_reply_to":"da6ed579_6b5595c4","updated":"2016-01-19 19:08:07.000000000","message":"Done","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"17c2141f42812ae28e55dfa13235d940480e84a6","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                LOG.warning(_LW("},{"line_number":657,"context_line":"                            \"Volume does not have provider_id thus does not \""},{"line_number":658,"context_line":"                            \"mapped\""},{"line_number":659,"context_line":"                            \"to a ScaleIO volume. Removing from DB\"))"},{"line_number":660,"context_line":"            else:"},{"line_number":661,"context_line":"                msg \u003d (_(\"Error deleting volume %(vol)s: %(err)s.\") %"},{"line_number":662,"context_line":"                       {\u0027vol\u0027: vol_id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_eb0e65e4","line":659,"updated":"2016-01-18 14:00:30.000000000","message":"Maybe better to add a full stop at the end of this line.","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"bc65d9feed96db1cbabd5f0209bc784d18760923","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                LOG.warning(_LW("},{"line_number":657,"context_line":"                            \"Volume does not have provider_id thus does not \""},{"line_number":658,"context_line":"                            \"mapped\""},{"line_number":659,"context_line":"                            \"to a ScaleIO volume. Removing from DB\"))"},{"line_number":660,"context_line":"            else:"},{"line_number":661,"context_line":"                msg \u003d (_(\"Error deleting volume %(vol)s: %(err)s.\") %"},{"line_number":662,"context_line":"                       {\u0027vol\u0027: vol_id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_338721b7","line":659,"in_reply_to":"da6ed579_eb0e65e4","updated":"2016-01-19 19:08:07.000000000","message":"Done","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"17c2141f42812ae28e55dfa13235d940480e84a6","unresolved":false,"context_lines":[{"line_number":1058,"context_line":"        return r, response"},{"line_number":1059,"context_line":""},{"line_number":1060,"context_line":"    def _create_scaleio_get_volume_request(self, volume, existing_ref):"},{"line_number":1061,"context_line":"        \"\"\"throws an exception if the input is invalid for manage existing."},{"line_number":1062,"context_line":""},{"line_number":1063,"context_line":"        if the input is valid - return a request."},{"line_number":1064,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_6bf115cd","line":1061,"updated":"2016-01-18 14:00:30.000000000","message":"s/throws/throws","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"93208fc109b84ec1ec2db080287cb9ce148f68b1","unresolved":false,"context_lines":[{"line_number":1058,"context_line":"        return r, response"},{"line_number":1059,"context_line":""},{"line_number":1060,"context_line":"    def _create_scaleio_get_volume_request(self, volume, existing_ref):"},{"line_number":1061,"context_line":"        \"\"\"throws an exception if the input is invalid for manage existing."},{"line_number":1062,"context_line":""},{"line_number":1063,"context_line":"        if the input is valid - return a request."},{"line_number":1064,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_56585532","line":1061,"in_reply_to":"ba63e191_65961a4e","updated":"2016-01-20 08:45:57.000000000","message":"Done","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"111eb9acfb28a82e270e59935b5514c3c04c2d03","unresolved":false,"context_lines":[{"line_number":1058,"context_line":"        return r, response"},{"line_number":1059,"context_line":""},{"line_number":1060,"context_line":"    def _create_scaleio_get_volume_request(self, volume, existing_ref):"},{"line_number":1061,"context_line":"        \"\"\"throws an exception if the input is invalid for manage existing."},{"line_number":1062,"context_line":""},{"line_number":1063,"context_line":"        if the input is valid - return a request."},{"line_number":1064,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_65961a4e","line":1061,"in_reply_to":"ba63e191_93bccd6d","updated":"2016-01-19 21:16:04.000000000","message":"Wilson, your suggested word is exactly the same as the original.  Do you mean the first letter should be capital?","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"bc65d9feed96db1cbabd5f0209bc784d18760923","unresolved":false,"context_lines":[{"line_number":1058,"context_line":"        return r, response"},{"line_number":1059,"context_line":""},{"line_number":1060,"context_line":"    def _create_scaleio_get_volume_request(self, volume, existing_ref):"},{"line_number":1061,"context_line":"        \"\"\"throws an exception if the input is invalid for manage existing."},{"line_number":1062,"context_line":""},{"line_number":1063,"context_line":"        if the input is valid - return a request."},{"line_number":1064,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_93bccd6d","line":1061,"in_reply_to":"da6ed579_6bf115cd","updated":"2016-01-19 19:08:07.000000000","message":"I don\u0027t understand your comment.","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"17c2141f42812ae28e55dfa13235d940480e84a6","unresolved":false,"context_lines":[{"line_number":1064,"context_line":"        \"\"\""},{"line_number":1065,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1066,"context_line":"        type_id \u003d volume[\u0027volume_type_id\u0027]"},{"line_number":1067,"context_line":"        if \u0027source-id\u0027 not in existing_ref:"},{"line_number":1068,"context_line":"            reason \u003d _(\"Reference must contain source-id.\")"},{"line_number":1069,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1070,"context_line":"                existing_ref\u003dexisting_ref,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_8b01e908","line":1067,"updated":"2016-01-18 14:00:30.000000000","message":"Better to both support \u0027source-name\u0027, but since this is Driver determined, I think it\u0027s OK.","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"bc65d9feed96db1cbabd5f0209bc784d18760923","unresolved":false,"context_lines":[{"line_number":1064,"context_line":"        \"\"\""},{"line_number":1065,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1066,"context_line":"        type_id \u003d volume[\u0027volume_type_id\u0027]"},{"line_number":1067,"context_line":"        if \u0027source-id\u0027 not in existing_ref:"},{"line_number":1068,"context_line":"            reason \u003d _(\"Reference must contain source-id.\")"},{"line_number":1069,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1070,"context_line":"                existing_ref\u003dexisting_ref,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_73bb5973","line":1067,"in_reply_to":"da6ed579_8b01e908","updated":"2016-01-19 19:08:07.000000000","message":"We are not supporting source-name at the moment.","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"17c2141f42812ae28e55dfa13235d940480e84a6","unresolved":false,"context_lines":[{"line_number":1091,"context_line":"                    \u0027id\u0027: vol_id}"},{"line_number":1092,"context_line":"        request \u003d (\"https://%(server_ip)s:%(server_port)s\""},{"line_number":1093,"context_line":"                   \"/api/instances/Volume::%(id)s\" % req_vars)"},{"line_number":1094,"context_line":"        LOG.info(_LI(\"ScaleIO get volume by id request: %s .\"), request)"},{"line_number":1095,"context_line":"        return request"},{"line_number":1096,"context_line":""},{"line_number":1097,"context_line":"    def _manage_existing_check_legal_response(self, response, existing_ref):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_ab3f0d24","line":1094,"updated":"2016-01-18 14:00:30.000000000","message":"If the space after %s is not needed, we should remove it, thanks.","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"bc65d9feed96db1cbabd5f0209bc784d18760923","unresolved":false,"context_lines":[{"line_number":1091,"context_line":"                    \u0027id\u0027: vol_id}"},{"line_number":1092,"context_line":"        request \u003d (\"https://%(server_ip)s:%(server_port)s\""},{"line_number":1093,"context_line":"                   \"/api/instances/Volume::%(id)s\" % req_vars)"},{"line_number":1094,"context_line":"        LOG.info(_LI(\"ScaleIO get volume by id request: %s .\"), request)"},{"line_number":1095,"context_line":"        return request"},{"line_number":1096,"context_line":""},{"line_number":1097,"context_line":"    def _manage_existing_check_legal_response(self, response, existing_ref):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_13b1bd8f","line":1094,"in_reply_to":"da6ed579_ab3f0d24","updated":"2016-01-19 19:08:07.000000000","message":"Done","commit_id":"db7de8a9f67c5d9cb22db52c00fe8695dc2e94e3"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"6bc623ee23b9dd541f660d1c2d117b8261f8a550","unresolved":false,"context_lines":[{"line_number":654,"context_line":"                            \" Volume not found.\"), vol_id)"},{"line_number":655,"context_line":"            elif vol_id is None:"},{"line_number":656,"context_line":"                LOG.warning(_LW("},{"line_number":657,"context_line":"                            \"Volume does not have provider_id thus does not \""},{"line_number":658,"context_line":"                            \"mapped \""},{"line_number":659,"context_line":"                            \"to a ScaleIO volume. Removing from DB.\"))"},{"line_number":660,"context_line":"            else:"},{"line_number":661,"context_line":"                msg \u003d (_(\"Error deleting volume %(vol)s: %(err)s.\") %"},{"line_number":662,"context_line":"                       {\u0027vol\u0027: vol_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_5778738f","line":659,"range":{"start_line":657,"start_character":28,"end_line":659,"end_character":68},"updated":"2016-01-19 18:22:52.000000000","message":"\"... does not mapped to a ScaleIO volume.\"\n\nchange mapped to map or reword sentence to make it sound better.","commit_id":"782928d70714bf8a150ffd40f4db1eab2c91157e"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"0ca97516f71958ef28b817a9e7df3eebe3db8ee2","unresolved":false,"context_lines":[{"line_number":654,"context_line":"                            \" Volume not found.\"), vol_id)"},{"line_number":655,"context_line":"            elif vol_id is None:"},{"line_number":656,"context_line":"                LOG.warning(_LW("},{"line_number":657,"context_line":"                            \"Volume does not have provider_id thus does not \""},{"line_number":658,"context_line":"                            \"mapped \""},{"line_number":659,"context_line":"                            \"to a ScaleIO volume. Removing from DB.\"))"},{"line_number":660,"context_line":"            else:"},{"line_number":661,"context_line":"                msg \u003d (_(\"Error deleting volume %(vol)s: %(err)s.\") %"},{"line_number":662,"context_line":"                       {\u0027vol\u0027: vol_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_b07d351e","line":659,"range":{"start_line":657,"start_character":28,"end_line":659,"end_character":68},"in_reply_to":"ba63e191_5778738f","updated":"2016-01-19 19:16:07.000000000","message":"Done","commit_id":"782928d70714bf8a150ffd40f4db1eab2c91157e"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"b832dac479feaf1b4cbdf71616d1e3ea7208677a","unresolved":false,"context_lines":[{"line_number":1063,"context_line":"        if the input is valid - return a request."},{"line_number":1064,"context_line":"        \"\"\""},{"line_number":1065,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1066,"context_line":"        type_id \u003d volume[\u0027volume_type_id\u0027]"},{"line_number":1067,"context_line":"        if \u0027source-id\u0027 not in existing_ref:"},{"line_number":1068,"context_line":"            reason \u003d _(\"Reference must contain source-id.\")"},{"line_number":1069,"context_line":"            raise exception.ManageExistingInvalidReference("}],"source_content_type":"text/x-python","patch_set":8,"id":"ba63e191_cb5a772a","line":1066,"range":{"start_line":1066,"start_character":40,"end_line":1066,"end_character":42},"updated":"2016-01-19 21:50:55.000000000","message":"According to my understanding, it can be an inconsistency here for Line 1066. Since Line 1073 if type_id is None, volume[\u0027volume_type_id\u0027] can be none(due to volume_type_id does not exist or volume_type_is is none), so shall we use volume.get(\u0027volume_type_id\u0027) instead of volume[\u0027volume_type_id\u0027]?","commit_id":"8c31ea4a157da8fa29e3cc50b762a1ff48b39077"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"ec09fab4415048244b194db9deb4a006fb6ecbdf","unresolved":false,"context_lines":[{"line_number":1063,"context_line":"        if the input is valid - return a request."},{"line_number":1064,"context_line":"        \"\"\""},{"line_number":1065,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1066,"context_line":"        type_id \u003d volume[\u0027volume_type_id\u0027]"},{"line_number":1067,"context_line":"        if \u0027source-id\u0027 not in existing_ref:"},{"line_number":1068,"context_line":"            reason \u003d _(\"Reference must contain source-id.\")"},{"line_number":1069,"context_line":"            raise exception.ManageExistingInvalidReference("}],"source_content_type":"text/x-python","patch_set":8,"id":"ba63e191_969c8dc1","line":1066,"range":{"start_line":1066,"start_character":40,"end_line":1066,"end_character":42},"in_reply_to":"ba63e191_cb5a772a","updated":"2016-01-20 08:47:29.000000000","message":"Done","commit_id":"8c31ea4a157da8fa29e3cc50b762a1ff48b39077"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4325302df321f562d570f5ef1c9a855698ea6ff4","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                LOG.warning(_LW("},{"line_number":657,"context_line":"                            \"Volume does not have provider_id thus does not \""},{"line_number":658,"context_line":"                            \"map \""},{"line_number":659,"context_line":"                            \"to a ScaleIO volume. Removing from DB.\"))"},{"line_number":660,"context_line":"            else:"},{"line_number":661,"context_line":"                msg \u003d (_(\"Error deleting volume %(vol)s: %(err)s.\") %"},{"line_number":662,"context_line":"                       {\u0027vol\u0027: vol_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a68dd71_e13393a9","line":659,"updated":"2016-01-22 20:48:31.000000000","message":"It would probably be better to say something like \"Allowing deletion to proceed\" rather than \"Removing from DB\" here.  This sounds a little odd.\n\nAlso, the line breaking here is weird, with \"map \" on a line by itself.","commit_id":"9e415c579dade2a59cea37e9d323372621c33c88"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"dc607f018c20e26cbda6ba1ef04966c0c6c0f30d","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                LOG.warning(_LW("},{"line_number":657,"context_line":"                            \"Volume does not have provider_id thus does not \""},{"line_number":658,"context_line":"                            \"map \""},{"line_number":659,"context_line":"                            \"to a ScaleIO volume. Removing from DB.\"))"},{"line_number":660,"context_line":"            else:"},{"line_number":661,"context_line":"                msg \u003d (_(\"Error deleting volume %(vol)s: %(err)s.\") %"},{"line_number":662,"context_line":"                       {\u0027vol\u0027: vol_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_66ad0e31","line":659,"in_reply_to":"9a68dd71_87440bb7","updated":"2016-01-27 10:23:40.000000000","message":"Done","commit_id":"9e415c579dade2a59cea37e9d323372621c33c88"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"69add81075e539d1b5073ce49a593712afbf2fdd","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                LOG.warning(_LW("},{"line_number":657,"context_line":"                            \"Volume does not have provider_id thus does not \""},{"line_number":658,"context_line":"                            \"map \""},{"line_number":659,"context_line":"                            \"to a ScaleIO volume. Removing from DB.\"))"},{"line_number":660,"context_line":"            else:"},{"line_number":661,"context_line":"                msg \u003d (_(\"Error deleting volume %(vol)s: %(err)s.\") %"},{"line_number":662,"context_line":"                       {\u0027vol\u0027: vol_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a68dd71_87440bb7","line":659,"in_reply_to":"9a68dd71_e13393a9","updated":"2016-01-24 13:17:29.000000000","message":"Thanks, I will fix it in my next patch right after I will have an answer if I need to change the code regarding your next comment or not.","commit_id":"9e415c579dade2a59cea37e9d323372621c33c88"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4325302df321f562d570f5ef1c9a855698ea6ff4","unresolved":false,"context_lines":[{"line_number":1079,"context_line":"        volume_type \u003d volume_types.get_volume_type(ctxt, type_id)"},{"line_number":1080,"context_line":"        specs \u003d volume_type.get(\u0027extra_specs\u0027)"},{"line_number":1081,"context_line":"        volume_backend_name \u003d specs[\u0027volume_backend_name\u0027]"},{"line_number":1082,"context_line":"        if \u0027scaleio\u0027 not in volume_backend_name.lower():"},{"line_number":1083,"context_line":"            reason \u003d _(\"Volume must have a relevant scaleio type\")"},{"line_number":1084,"context_line":"            raise exception.ManageExistingVolumeTypeMismatch("},{"line_number":1085,"context_line":"                existing_ref\u003dexisting_ref,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a68dd71_e132b35e","line":1082,"updated":"2016-01-22 20:48:31.000000000","message":"Why is this check done, exactly?\n\nWhat if volume_backend_name has been changed in configuration?  Are there cases where manage_existing will fail to work because of that?","commit_id":"9e415c579dade2a59cea37e9d323372621c33c88"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"dc607f018c20e26cbda6ba1ef04966c0c6c0f30d","unresolved":false,"context_lines":[{"line_number":1079,"context_line":"        volume_type \u003d volume_types.get_volume_type(ctxt, type_id)"},{"line_number":1080,"context_line":"        specs \u003d volume_type.get(\u0027extra_specs\u0027)"},{"line_number":1081,"context_line":"        volume_backend_name \u003d specs[\u0027volume_backend_name\u0027]"},{"line_number":1082,"context_line":"        if \u0027scaleio\u0027 not in volume_backend_name.lower():"},{"line_number":1083,"context_line":"            reason \u003d _(\"Volume must have a relevant scaleio type\")"},{"line_number":1084,"context_line":"            raise exception.ManageExistingVolumeTypeMismatch("},{"line_number":1085,"context_line":"                existing_ref\u003dexisting_ref,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_26039611","line":1082,"in_reply_to":"9a68dd71_e132b35e","updated":"2016-01-27 10:23:40.000000000","message":"Done","commit_id":"9e415c579dade2a59cea37e9d323372621c33c88"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"d3f664211fdcf6bf59f612a1df4e80d12198e695","unresolved":false,"context_lines":[{"line_number":1079,"context_line":"        volume_type \u003d volume_types.get_volume_type(ctxt, type_id)"},{"line_number":1080,"context_line":"        specs \u003d volume_type.get(\u0027extra_specs\u0027)"},{"line_number":1081,"context_line":"        volume_backend_name \u003d specs[\u0027volume_backend_name\u0027]"},{"line_number":1082,"context_line":"        if \u0027scaleio\u0027 not in volume_backend_name.lower():"},{"line_number":1083,"context_line":"            reason \u003d _(\"Volume must have a relevant scaleio type\")"},{"line_number":1084,"context_line":"            raise exception.ManageExistingVolumeTypeMismatch("},{"line_number":1085,"context_line":"                existing_ref\u003dexisting_ref,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a68dd71_871babc9","line":1082,"in_reply_to":"9a68dd71_e132b35e","updated":"2016-01-24 13:19:41.000000000","message":"I will try to be more clear, we guide our users to use lower(volume_backend_name) like %scaleio% . and this is just a validation to prevent mistake.\nWe can remove that check if it\u0027s really needed, but we would like to keep it.","commit_id":"9e415c579dade2a59cea37e9d323372621c33c88"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"69add81075e539d1b5073ce49a593712afbf2fdd","unresolved":false,"context_lines":[{"line_number":1079,"context_line":"        volume_type \u003d volume_types.get_volume_type(ctxt, type_id)"},{"line_number":1080,"context_line":"        specs \u003d volume_type.get(\u0027extra_specs\u0027)"},{"line_number":1081,"context_line":"        volume_backend_name \u003d specs[\u0027volume_backend_name\u0027]"},{"line_number":1082,"context_line":"        if \u0027scaleio\u0027 not in volume_backend_name.lower():"},{"line_number":1083,"context_line":"            reason \u003d _(\"Volume must have a relevant scaleio type\")"},{"line_number":1084,"context_line":"            raise exception.ManageExistingVolumeTypeMismatch("},{"line_number":1085,"context_line":"                existing_ref\u003dexisting_ref,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a68dd71_c73e8327","line":1082,"in_reply_to":"9a68dd71_e132b35e","updated":"2016-01-24 13:17:29.000000000","message":"We guide our customers to include the name \u0027scaleio\u0027 in some sort in their configurations, it just a validation of it that fails if the volume is from the wrong type.\nIt\u0027s probably not 100% needed, but we would like to keep it if it\u0027s possible.","commit_id":"9e415c579dade2a59cea37e9d323372621c33c88"},{"author":{"_account_id":14274,"name":"XinXiaohui","email":"xiaohui.xin@intel.com","username":"XinXiaohui"},"change_message_id":"73606b84158abf1f569c877f1e31f1052f310314","unresolved":false,"context_lines":[{"line_number":243,"context_line":"            else:"},{"line_number":244,"context_line":"                LOG.info(_LI(\"Using extraspecs for defining QoS specs \""},{"line_number":245,"context_line":"                             \"will be deprecated in the next \""},{"line_number":246,"context_line":"                             \"version of OpenStack, pleae use QoS specs\"))"},{"line_number":247,"context_line":"        return qos_limit if qos_limit is not None else extraspecs_limit"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def _id_to_base64(self, id):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a5ae5dd_2a130e0f","line":246,"range":{"start_line":246,"start_character":52,"end_line":246,"end_character":57},"updated":"2016-02-04 07:23:53.000000000","message":"s/pleae/please","commit_id":"d0c7764a46f08e4e11334c9ecdb19849ea491c29"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"e995f684b11a77b8342677ace2cbd21142e144d2","unresolved":false,"context_lines":[{"line_number":243,"context_line":"            else:"},{"line_number":244,"context_line":"                LOG.info(_LI(\"Using extraspecs for defining QoS specs \""},{"line_number":245,"context_line":"                             \"will be deprecated in the next \""},{"line_number":246,"context_line":"                             \"version of OpenStack, pleae use QoS specs\"))"},{"line_number":247,"context_line":"        return qos_limit if qos_limit is not None else extraspecs_limit"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def _id_to_base64(self, id):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a5ae5dd_9784665e","line":246,"range":{"start_line":246,"start_character":52,"end_line":246,"end_character":57},"in_reply_to":"5a5ae5dd_2a130e0f","updated":"2016-02-05 11:19:45.000000000","message":"Done","commit_id":"d0c7764a46f08e4e11334c9ecdb19849ea491c29"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"5d093afeabeb5bf1073c0cee13c388e8f3bf1e53","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        extraspecs_limit \u003d storage_type.get(extraspecs_key)"},{"line_number":240,"context_line":"        if extraspecs_limit is not None:"},{"line_number":241,"context_line":"            if qos_limit is not None:"},{"line_number":242,"context_line":"                LOG.warning(_LW(\"QoS specs are overriding extraspecs\"))"},{"line_number":243,"context_line":"            else:"},{"line_number":244,"context_line":"                LOG.info(_LI(\"Using extraspecs for defining QoS specs \""},{"line_number":245,"context_line":"                             \"will be deprecated in the next \""},{"line_number":246,"context_line":"                             \"version of OpenStack, please use QoS specs\"))"},{"line_number":247,"context_line":"        return qos_limit if qos_limit is not None else extraspecs_limit"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def _id_to_base64(self, id):"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a5ae5dd_1c53843a","line":246,"range":{"start_line":242,"start_character":15,"end_line":246,"end_character":75},"updated":"2016-02-07 20:06:50.000000000","message":"Looks like maybe this patchset needs to be updated? Not sure with the new gerrit ui what exactly is going on, but you probably don\u0027t want to be editing the newly added message from https://review.openstack.org/#/c/260719","commit_id":"b7f91bc346ec7f2a26542ac3d069c62eefe37f17"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"3ec691b673bf1bec6ff86d76f26e1af6c5260afa","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        extraspecs_limit \u003d storage_type.get(extraspecs_key)"},{"line_number":240,"context_line":"        if extraspecs_limit is not None:"},{"line_number":241,"context_line":"            if qos_limit is not None:"},{"line_number":242,"context_line":"                LOG.warning(_LW(\"QoS specs are overriding extraspecs\"))"},{"line_number":243,"context_line":"            else:"},{"line_number":244,"context_line":"                LOG.info(_LI(\"Using extraspecs for defining QoS specs \""},{"line_number":245,"context_line":"                             \"will be deprecated in the next \""},{"line_number":246,"context_line":"                             \"version of OpenStack, please use QoS specs\"))"},{"line_number":247,"context_line":"        return qos_limit if qos_limit is not None else extraspecs_limit"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def _id_to_base64(self, id):"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a5ae5dd_5aec9329","line":246,"range":{"start_line":242,"start_character":15,"end_line":246,"end_character":75},"in_reply_to":"5a5ae5dd_1c53843a","updated":"2016-02-08 09:05:00.000000000","message":"Done","commit_id":"b7f91bc346ec7f2a26542ac3d069c62eefe37f17"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"5d093afeabeb5bf1073c0cee13c388e8f3bf1e53","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"        LOG.info(_LI(\"Get Volume response: %s\"), response)"},{"line_number":1025,"context_line":"        self._manage_existing_check_legal_response(r, existing_ref)"},{"line_number":1026,"context_line":"        if response[\u0027mappedSdcInfo\u0027] is not None:"},{"line_number":1027,"context_line":"            reason \u003d (\"manage_existing cannot manage a volume \""},{"line_number":1028,"context_line":"                      \"connected to hosts. Please disconnect this volume \""},{"line_number":1029,"context_line":"                      \"from existing hosts before importing\")"},{"line_number":1030,"context_line":"            raise exception.ManageExistingInvalidReference("}],"source_content_type":"text/x-python","patch_set":14,"id":"5a5ae5dd_7c3ab8e8","line":1027,"updated":"2016-02-07 20:06:50.000000000","message":"I think this is missing the \u0027_\u0027 i18n operator","commit_id":"b7f91bc346ec7f2a26542ac3d069c62eefe37f17"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"3ec691b673bf1bec6ff86d76f26e1af6c5260afa","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"        LOG.info(_LI(\"Get Volume response: %s\"), response)"},{"line_number":1025,"context_line":"        self._manage_existing_check_legal_response(r, existing_ref)"},{"line_number":1026,"context_line":"        if response[\u0027mappedSdcInfo\u0027] is not None:"},{"line_number":1027,"context_line":"            reason \u003d (\"manage_existing cannot manage a volume \""},{"line_number":1028,"context_line":"                      \"connected to hosts. Please disconnect this volume \""},{"line_number":1029,"context_line":"                      \"from existing hosts before importing\")"},{"line_number":1030,"context_line":"            raise exception.ManageExistingInvalidReference("}],"source_content_type":"text/x-python","patch_set":14,"id":"5a5ae5dd_7aef0f1e","line":1027,"in_reply_to":"5a5ae5dd_7c3ab8e8","updated":"2016-02-08 09:05:00.000000000","message":"Done","commit_id":"b7f91bc346ec7f2a26542ac3d069c62eefe37f17"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"75044ce3001f100b2888dd556299ebbaa4927d9b","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"BLOCK_SIZE \u003d 8"},{"line_number":88,"context_line":"OK_STATUS_CODE \u003d 200"},{"line_number":89,"context_line":"VOLUME_NOT_FOUND_ERROR \u003d 79"},{"line_number":90,"context_line":"VOLUME_NOT_MAPPED_ERROR \u003d 84"},{"line_number":91,"context_line":"VOLUME_ALREADY_MAPPED_ERROR \u003d 81"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"3a57f1b5_c136e8e6","line":89,"updated":"2016-02-10 19:51:29.000000000","message":"does this driver only support one version of the ScaleIO firmware?  It seems odd that the code for this error would change.  What happens when the driver points to an array that returns 78 ?","commit_id":"516b249b56fb0edaf117149134b7e75352ebc822"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"741f6e71115e8ddf55c7f1e26f040ffd4e7b18e8","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"BLOCK_SIZE \u003d 8"},{"line_number":88,"context_line":"OK_STATUS_CODE \u003d 200"},{"line_number":89,"context_line":"VOLUME_NOT_FOUND_ERROR \u003d 79"},{"line_number":90,"context_line":"VOLUME_NOT_MAPPED_ERROR \u003d 84"},{"line_number":91,"context_line":"VOLUME_ALREADY_MAPPED_ERROR \u003d 81"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"3a57f1b5_77d77a4b","line":89,"in_reply_to":"3a57f1b5_9345a3b4","updated":"2016-02-11 17:40:26.000000000","message":"I don\u0027t see a bug filed against this and the bug isn\u0027t in the commit message.  Please file a bug and add it to the commit message as...\n\nCloses-Bug: #XXXXXX","commit_id":"516b249b56fb0edaf117149134b7e75352ebc822"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"21bfbf12c47f805bdf0355383f90119b7c3942b8","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"BLOCK_SIZE \u003d 8"},{"line_number":88,"context_line":"OK_STATUS_CODE \u003d 200"},{"line_number":89,"context_line":"VOLUME_NOT_FOUND_ERROR \u003d 79"},{"line_number":90,"context_line":"VOLUME_NOT_MAPPED_ERROR \u003d 84"},{"line_number":91,"context_line":"VOLUME_ALREADY_MAPPED_ERROR \u003d 81"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"3a57f1b5_9345a3b4","line":89,"in_reply_to":"3a57f1b5_c136e8e6","updated":"2016-02-10 20:43:35.000000000","message":"It was a bug, the only relevant code is 79.\nIt\u0027s also mentioned in the commit message.","commit_id":"516b249b56fb0edaf117149134b7e75352ebc822"}],"releasenotes/notes/scaleio-manage-existing-32217f6d1c295193.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7a727ae2cb12972c9e5919e749bcecbaae7135ad","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add Add support for manage/unmanage volume in the ScaleIO driver."}],"source_content_type":"text/x-yaml","patch_set":20,"id":"3a57f1b5_b6cbed52","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":11},"updated":"2016-02-10 20:40:12.000000000","message":"/Add Add/Adds|Support added/","commit_id":"67227837481bc4f9ca18f6894d43735528f41d28"}]}
