)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"f3f8c656dd0d56b285114f75d00813bf74ffe51b","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-05-16 04:30:14 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Manage/unmanage snapshot in ScaleIO driver"},{"line_number":8,"context_line":"Add support for manage/unmanage snapshot in the ScaleIO driver."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Change-Id: I1b6ff49294977bf086213355c240640117338dab"},{"line_number":11,"context_line":"DocImpact:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_15386bed","line":8,"updated":"2016-05-16 17:31:49.000000000","message":"Missing a blank line here.","commit_id":"3ab3402abf72969ff925e511a5abbb87d25d0769"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"78dd83c6cc6de089b8b4b8cbc656e32218fcda6e","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-05-16 04:30:14 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Manage/unmanage snapshot in ScaleIO driver"},{"line_number":8,"context_line":"Add support for manage/unmanage snapshot in the ScaleIO driver."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Change-Id: I1b6ff49294977bf086213355c240640117338dab"},{"line_number":11,"context_line":"DocImpact:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_db56f6cc","line":8,"in_reply_to":"dab17558_15386bed","updated":"2016-05-17 08:22:44.000000000","message":"Done","commit_id":"3ab3402abf72969ff925e511a5abbb87d25d0769"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"f36f015878c371bd197a807abcfc1feb94b76933","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add support for manage/unmanage snapshot in the ScaleIO driver."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I1b6ff49294977bf086213355c240640117338dab"},{"line_number":12,"context_line":"DocImpact:"},{"line_number":13,"context_line":"Implements: blueprint scaleio-manage-existing-snapshot"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9abb7d3a_75441749","line":12,"range":{"start_line":12,"start_character":9,"end_line":12,"end_character":10},"updated":"2016-06-01 20:39:16.000000000","message":"Unnecessary \u0027:\u0027, but no big deal if you don\u0027t upload a new patchset.","commit_id":"1861ed5836eb9475fe4d5cd41203b670c4e71626"}],"cinder/tests/unit/volume/drivers/emc/scaleio/test_manage_existing_snapshot.py":[{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"f3f8c656dd0d56b285114f75d00813bf74ffe51b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from cinder.tests.unit.volume.drivers.emc import scaleio\r"},{"line_number":22,"context_line":"from cinder.tests.unit.volume.drivers.emc.scaleio import mocks\r"},{"line_number":23,"context_line":"from cinder.volume import volume_types\r"},{"line_number":24,"context_line":"from mock import patch\r"},{"line_number":25,"context_line":"from six.moves import urllib\r"},{"line_number":26,"context_line":"\r"},{"line_number":27,"context_line":"\r"},{"line_number":28,"context_line":"class TestManageExistingSnapshot(scaleio.TestScaleIODriver):\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_cba120ab","line":25,"range":{"start_line":24,"start_character":0,"end_line":25,"end_character":28},"updated":"2016-05-16 17:31:49.000000000","message":"These imports should be grouped separately.\nhttp://docs.openstack.org/developer/hacking/#import-order-template","commit_id":"3ab3402abf72969ff925e511a5abbb87d25d0769"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"78dd83c6cc6de089b8b4b8cbc656e32218fcda6e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from cinder.tests.unit.volume.drivers.emc import scaleio\r"},{"line_number":22,"context_line":"from cinder.tests.unit.volume.drivers.emc.scaleio import mocks\r"},{"line_number":23,"context_line":"from cinder.volume import volume_types\r"},{"line_number":24,"context_line":"from mock import patch\r"},{"line_number":25,"context_line":"from six.moves import urllib\r"},{"line_number":26,"context_line":"\r"},{"line_number":27,"context_line":"\r"},{"line_number":28,"context_line":"class TestManageExistingSnapshot(scaleio.TestScaleIODriver):\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_db0d56e9","line":25,"range":{"start_line":24,"start_character":0,"end_line":25,"end_character":28},"in_reply_to":"dab17558_cba120ab","updated":"2016-05-17 08:22:44.000000000","message":"Done","commit_id":"3ab3402abf72969ff925e511a5abbb87d25d0769"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"f3f8c656dd0d56b285114f75d00813bf74ffe51b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        self.snapshot_attached \u003d fake_snapshot.fake_snapshot_obj(\r"},{"line_number":48,"context_line":"            ctx, **{\u0027provider_id\u0027: fake.PROVIDER3_ID})\r"},{"line_number":49,"context_line":"        self.snapshot_no_provider_id \u003d fake_snapshot.fake_snapshot_obj(ctx)\r"},{"line_number":50,"context_line":"        # ?????\r"},{"line_number":51,"context_line":"        self.volume_name_2x_enc \u003d urllib.parse.quote(\r"},{"line_number":52,"context_line":"            urllib.parse.quote(self.driver._id_to_base64(self.volume.id))\r"},{"line_number":53,"context_line":"        )\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_cbb640db","line":50,"range":{"start_line":50,"start_character":10,"end_line":50,"end_character":15},"updated":"2016-05-16 17:31:49.000000000","message":"What does this comment mean?","commit_id":"3ab3402abf72969ff925e511a5abbb87d25d0769"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"78dd83c6cc6de089b8b4b8cbc656e32218fcda6e","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        self.snapshot_attached \u003d fake_snapshot.fake_snapshot_obj(\r"},{"line_number":48,"context_line":"            ctx, **{\u0027provider_id\u0027: fake.PROVIDER3_ID})\r"},{"line_number":49,"context_line":"        self.snapshot_no_provider_id \u003d fake_snapshot.fake_snapshot_obj(ctx)\r"},{"line_number":50,"context_line":"        # ?????\r"},{"line_number":51,"context_line":"        self.volume_name_2x_enc \u003d urllib.parse.quote(\r"},{"line_number":52,"context_line":"            urllib.parse.quote(self.driver._id_to_base64(self.volume.id))\r"},{"line_number":53,"context_line":"        )\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_5b0206b5","line":50,"range":{"start_line":50,"start_character":10,"end_line":50,"end_character":15},"in_reply_to":"dab17558_cbb640db","updated":"2016-05-17 08:22:44.000000000","message":"Mistake, deleted it.","commit_id":"3ab3402abf72969ff925e511a5abbb87d25d0769"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3ca053eba5867b6992b5656b5968cc21615ac27c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"\r"},{"line_number":26,"context_line":"\r"},{"line_number":27,"context_line":"class TestManageExistingSnapshot(scaleio.TestScaleIODriver):\r"},{"line_number":28,"context_line":"    \"\"\"Test cases for ``ScaleIODriver.manage_existing()``\"\"\"\r"},{"line_number":29,"context_line":"\r"},{"line_number":30,"context_line":"    def setUp(self):\r"},{"line_number":31,"context_line":"        \"\"\"Setup a test case environment.\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_17566acd","line":28,"updated":"2016-05-17 19:38:53.000000000","message":"manage_existing_snapshot","commit_id":"498c8d132b72b6219869142910d1d295476ea7dc"}],"cinder/volume/drivers/emc/scaleio.py":[{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"f3f8c656dd0d56b285114f75d00813bf74ffe51b","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"    def _query_scaleio_volume(self, volume, existing_ref):"},{"line_number":1025,"context_line":"        request \u003d self._create_scaleio_get_volume_request(volume, existing_ref)"},{"line_number":1026,"context_line":"        r, response \u003d self._execute_scaleio_get_request(request)"},{"line_number":1027,"context_line":"        LOG.info(_LI(\"Get Volume response: %s\"), response)"},{"line_number":1028,"context_line":"        self._manage_existing_check_legal_response(r, existing_ref)"},{"line_number":1029,"context_line":"        return response"},{"line_number":1030,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_2b38acd2","line":1027,"range":{"start_line":1027,"start_character":8,"end_line":1027,"end_character":58},"updated":"2016-05-16 17:31:49.000000000","message":"Suggestion: always use the mapped form. It\u0027s more readable.\nLOG.info(_LI(\"Get Volume response: %(res)s\"), {\u0027res\u0027: response})","commit_id":"3ab3402abf72969ff925e511a5abbb87d25d0769"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"78dd83c6cc6de089b8b4b8cbc656e32218fcda6e","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"    def _query_scaleio_volume(self, volume, existing_ref):"},{"line_number":1025,"context_line":"        request \u003d self._create_scaleio_get_volume_request(volume, existing_ref)"},{"line_number":1026,"context_line":"        r, response \u003d self._execute_scaleio_get_request(request)"},{"line_number":1027,"context_line":"        LOG.info(_LI(\"Get Volume response: %s\"), response)"},{"line_number":1028,"context_line":"        self._manage_existing_check_legal_response(r, existing_ref)"},{"line_number":1029,"context_line":"        return response"},{"line_number":1030,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_9bd58e1d","line":1027,"range":{"start_line":1027,"start_character":8,"end_line":1027,"end_character":58},"in_reply_to":"dab17558_2b38acd2","updated":"2016-05-17 08:22:44.000000000","message":"Done","commit_id":"3ab3402abf72969ff925e511a5abbb87d25d0769"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"f3f8c656dd0d56b285114f75d00813bf74ffe51b","unresolved":false,"context_lines":[{"line_number":1044,"context_line":"    def manage_existing_snapshot(self, snapshot, existing_ref):"},{"line_number":1045,"context_line":"        \"\"\"Manage an existing ScaleIO snapshot."},{"line_number":1046,"context_line":""},{"line_number":1047,"context_line":"        existing_ref is a dictionary of the form:"},{"line_number":1048,"context_line":"        {\u0027source-id\u0027: \u003cid of ScaleIO volume\u003e}"},{"line_number":1049,"context_line":"        \"\"\""},{"line_number":1050,"context_line":"        response \u003d self._query_scaleio_volume(snapshot, existing_ref)"},{"line_number":1051,"context_line":"        not_real_parent \u003d (response.get(\u0027orig_parent_overriden\u0027) or"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_d0bc316e","line":1048,"range":{"start_line":1047,"start_character":8,"end_line":1048,"end_character":45},"updated":"2016-05-16 17:31:49.000000000","message":"Please, use the standards for docstring parameters.\n(http://docs.openstack.org/developer/hacking/#docstrings)","commit_id":"3ab3402abf72969ff925e511a5abbb87d25d0769"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"78dd83c6cc6de089b8b4b8cbc656e32218fcda6e","unresolved":false,"context_lines":[{"line_number":1044,"context_line":"    def manage_existing_snapshot(self, snapshot, existing_ref):"},{"line_number":1045,"context_line":"        \"\"\"Manage an existing ScaleIO snapshot."},{"line_number":1046,"context_line":""},{"line_number":1047,"context_line":"        existing_ref is a dictionary of the form:"},{"line_number":1048,"context_line":"        {\u0027source-id\u0027: \u003cid of ScaleIO volume\u003e}"},{"line_number":1049,"context_line":"        \"\"\""},{"line_number":1050,"context_line":"        response \u003d self._query_scaleio_volume(snapshot, existing_ref)"},{"line_number":1051,"context_line":"        not_real_parent \u003d (response.get(\u0027orig_parent_overriden\u0027) or"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_bbde923b","line":1048,"range":{"start_line":1047,"start_character":8,"end_line":1048,"end_character":45},"in_reply_to":"dab17558_d0bc316e","updated":"2016-05-17 08:22:44.000000000","message":"Done","commit_id":"3ab3402abf72969ff925e511a5abbb87d25d0769"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3ca053eba5867b6992b5656b5968cc21615ac27c","unresolved":false,"context_lines":[{"line_number":1053,"context_line":"                           response.get(\u0027is_source_deleted\u0027))"},{"line_number":1054,"context_line":"        if not_real_parent:"},{"line_number":1055,"context_line":"            reason \u003d (_(\"The snapshot\u0027s parent is not the original parent due \""},{"line_number":1056,"context_line":"                        \"to deletion or revert action, therefor \""},{"line_number":1057,"context_line":"                        \"this snapshot cannot be managed.\"))"},{"line_number":1058,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1059,"context_line":"                existing_ref\u003dexisting_ref,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_ac1e31b8","line":1056,"updated":"2016-05-17 19:38:53.000000000","message":"s/therefor/therefore","commit_id":"498c8d132b72b6219869142910d1d295476ea7dc"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"30bc8465928a7f510945923829fe42a6838af1e4","unresolved":false,"context_lines":[{"line_number":1053,"context_line":"                           response.get(\u0027is_source_deleted\u0027))"},{"line_number":1054,"context_line":"        if not_real_parent:"},{"line_number":1055,"context_line":"            reason \u003d (_(\"The snapshot\u0027s parent is not the original parent due \""},{"line_number":1056,"context_line":"                        \"to deletion or revert action, therefor \""},{"line_number":1057,"context_line":"                        \"this snapshot cannot be managed.\"))"},{"line_number":1058,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1059,"context_line":"                existing_ref\u003dexisting_ref,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_5d30b5e8","line":1056,"in_reply_to":"dab17558_ac1e31b8","updated":"2016-05-19 09:19:49.000000000","message":"Done","commit_id":"498c8d132b72b6219869142910d1d295476ea7dc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3ca053eba5867b6992b5656b5968cc21615ac27c","unresolved":false,"context_lines":[{"line_number":1063,"context_line":"        volume_id \u003d snapshot.volume.provider_id"},{"line_number":1064,"context_line":"        if ancestor_id !\u003d volume_id:"},{"line_number":1065,"context_line":"            reason \u003d (_(\"The snapshot\u0027s parent in ScaleIO is %(ancestor)s \""},{"line_number":1066,"context_line":"                        \"and not %(volume)s \") %"},{"line_number":1067,"context_line":"                      {\u0027ancestor\u0027: ancestor_id, \u0027volume\u0027: volume_id})"},{"line_number":1068,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1069,"context_line":"                existing_ref\u003dexisting_ref,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_17a30a01","line":1066,"updated":"2016-05-17 19:38:53.000000000","message":"Add period and remove space at the end.\n\nQuestion: Should this condition be detected on line 1052? If the snapshot\u0027s parent is changed, would \"not_real_parent\" be False?","commit_id":"498c8d132b72b6219869142910d1d295476ea7dc"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"30bc8465928a7f510945923829fe42a6838af1e4","unresolved":false,"context_lines":[{"line_number":1063,"context_line":"        volume_id \u003d snapshot.volume.provider_id"},{"line_number":1064,"context_line":"        if ancestor_id !\u003d volume_id:"},{"line_number":1065,"context_line":"            reason \u003d (_(\"The snapshot\u0027s parent in ScaleIO is %(ancestor)s \""},{"line_number":1066,"context_line":"                        \"and not %(volume)s \") %"},{"line_number":1067,"context_line":"                      {\u0027ancestor\u0027: ancestor_id, \u0027volume\u0027: volume_id})"},{"line_number":1068,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1069,"context_line":"                existing_ref\u003dexisting_ref,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_7d6db997","line":1066,"in_reply_to":"dab17558_17a30a01","updated":"2016-05-19 09:19:49.000000000","message":"Done.\n\nAnswer: No, \"not_real_parent\" refers to some advanced features of ScaleIO that might changed the hierarchical structure of ScaleIO snapshot tree (known as VTree), while the second check is to make sure the user chose a correct snapshot-volume relationship.","commit_id":"498c8d132b72b6219869142910d1d295476ea7dc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3ca053eba5867b6992b5656b5968cc21615ac27c","unresolved":false,"context_lines":[{"line_number":1072,"context_line":"        return {\u0027provider_id\u0027: response[\u0027id\u0027]}"},{"line_number":1073,"context_line":""},{"line_number":1074,"context_line":"    def manage_existing_snapshot_get_size(self, snapshot, existing_ref):"},{"line_number":1075,"context_line":"        return self.manage_existing_get_size(snapshot, existing_ref)"},{"line_number":1076,"context_line":""},{"line_number":1077,"context_line":"    def _execute_scaleio_get_request(self, request):"},{"line_number":1078,"context_line":"        r \u003d requests.get("}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_8c7a4db8","line":1075,"updated":"2016-05-17 19:38:53.000000000","message":"I think it is better to make an internal function _manage_existing_get_size and then have both manage_existing_get_size and manage_existing_snapshot_get_size call the internal function.","commit_id":"498c8d132b72b6219869142910d1d295476ea7dc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3ca053eba5867b6992b5656b5968cc21615ac27c","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"        if response.json()[\u0027mappedSdcInfo\u0027] is not None:"},{"line_number":1125,"context_line":"            reason \u003d _(\"manage_existing cannot manage a volume \""},{"line_number":1126,"context_line":"                       \"connected to hosts. Please disconnect this volume \""},{"line_number":1127,"context_line":"                       \"from existing hosts before importing\")"},{"line_number":1128,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1129,"context_line":"                existing_ref\u003dexisting_ref,"},{"line_number":1130,"context_line":"                reason\u003dreason"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_ec9679ee","line":1127,"updated":"2016-05-17 19:38:53.000000000","message":"s/importing/managing","commit_id":"498c8d132b72b6219869142910d1d295476ea7dc"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"b2efb9c5c0c009bab9091d9a2b235e6bfcd93f53","unresolved":false,"context_lines":[{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"    def _get_volume_size(self, volume, existing_ref):"},{"line_number":1077,"context_line":"        response \u003d self._query_scaleio_volume(volume, existing_ref)"},{"line_number":1078,"context_line":"        return int(response[\u0027sizeInKb\u0027] / units.Mi)        "},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"    def _execute_scaleio_get_request(self, request):"},{"line_number":1081,"context_line":"        r \u003d requests.get("}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_cb74d49d","line":1078,"range":{"start_line":1078,"start_character":51,"end_line":1078,"end_character":59},"updated":"2016-05-19 12:39:14.000000000","message":"These extra spaces need to be removed.","commit_id":"a6499a33d925b62f6d2ed50c036f98fe70b78056"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"40185d628ad6124960466782ce7f8e3a7810767a","unresolved":false,"context_lines":[{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"    def _get_volume_size(self, volume, existing_ref):"},{"line_number":1077,"context_line":"        response \u003d self._query_scaleio_volume(volume, existing_ref)"},{"line_number":1078,"context_line":"        return int(response[\u0027sizeInKb\u0027] / units.Mi)        "},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"    def _execute_scaleio_get_request(self, request):"},{"line_number":1081,"context_line":"        r \u003d requests.get("}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_3ac67a48","line":1078,"range":{"start_line":1078,"start_character":51,"end_line":1078,"end_character":59},"in_reply_to":"bab6814e_cb74d49d","updated":"2016-05-19 16:24:45.000000000","message":"Done","commit_id":"a6499a33d925b62f6d2ed50c036f98fe70b78056"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"b2efb9c5c0c009bab9091d9a2b235e6bfcd93f53","unresolved":false,"context_lines":[{"line_number":1127,"context_line":"        if response.json()[\u0027mappedSdcInfo\u0027] is not None:"},{"line_number":1128,"context_line":"            reason \u003d _(\"manage_existing cannot manage a volume \""},{"line_number":1129,"context_line":"                       \"connected to hosts. Please disconnect this volume \""},{"line_number":1130,"context_line":"                       \"from existing hosts before importing\")"},{"line_number":1131,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1132,"context_line":"                existing_ref\u003dexisting_ref,"},{"line_number":1133,"context_line":"                reason\u003dreason"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_0bf41cf0","line":1130,"updated":"2016-05-19 12:39:14.000000000","message":"add a period.","commit_id":"a6499a33d925b62f6d2ed50c036f98fe70b78056"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"40185d628ad6124960466782ce7f8e3a7810767a","unresolved":false,"context_lines":[{"line_number":1127,"context_line":"        if response.json()[\u0027mappedSdcInfo\u0027] is not None:"},{"line_number":1128,"context_line":"            reason \u003d _(\"manage_existing cannot manage a volume \""},{"line_number":1129,"context_line":"                       \"connected to hosts. Please disconnect this volume \""},{"line_number":1130,"context_line":"                       \"from existing hosts before importing\")"},{"line_number":1131,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":1132,"context_line":"                existing_ref\u003dexisting_ref,"},{"line_number":1133,"context_line":"                reason\u003dreason"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_bae8aab5","line":1130,"in_reply_to":"bab6814e_0bf41cf0","updated":"2016-05-19 16:24:45.000000000","message":"Done","commit_id":"a6499a33d925b62f6d2ed50c036f98fe70b78056"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"47c5f5e7fa1f317717143ffa451fe10f2aa763ee","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"        \"\"\"Manage an existing ScaleIO snapshot."},{"line_number":1047,"context_line":""},{"line_number":1048,"context_line":"        :param existing_ref: dictionary of the form:"},{"line_number":1049,"context_line":"            {\u0027source-id\u0027: \u003cid of ScaleIO volume\u003e}"},{"line_number":1050,"context_line":"        \"\"\""},{"line_number":1051,"context_line":"        response \u003d self._query_scaleio_volume(snapshot, existing_ref)"},{"line_number":1052,"context_line":"        not_real_parent \u003d (response.get(\u0027orig_parent_overriden\u0027) or"}],"source_content_type":"text/x-python","patch_set":6,"id":"bab6814e_7d4e59c2","line":1049,"updated":"2016-05-25 05:48:51.000000000","message":"Suggest \"volume\" to be changed to \"snapshot\" to be consistent with the function name.","commit_id":"3830743a159db7adaf5aca9a2634d428dd20de53"},{"author":{"_account_id":18997,"name":"Matan Sabag","email":"matan.sabag@emc.com","username":"sabagm"},"change_message_id":"8208f74809a6043d8ad54b9abe9db741ba956708","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"        \"\"\"Manage an existing ScaleIO snapshot."},{"line_number":1047,"context_line":""},{"line_number":1048,"context_line":"        :param existing_ref: dictionary of the form:"},{"line_number":1049,"context_line":"            {\u0027source-id\u0027: \u003cid of ScaleIO volume\u003e}"},{"line_number":1050,"context_line":"        \"\"\""},{"line_number":1051,"context_line":"        response \u003d self._query_scaleio_volume(snapshot, existing_ref)"},{"line_number":1052,"context_line":"        not_real_parent \u003d (response.get(\u0027orig_parent_overriden\u0027) or"}],"source_content_type":"text/x-python","patch_set":6,"id":"bab6814e_e9e60be7","line":1049,"in_reply_to":"bab6814e_7d4e59c2","updated":"2016-05-25 07:49:54.000000000","message":"Done","commit_id":"3830743a159db7adaf5aca9a2634d428dd20de53"}]}
