)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14428,"name":"Bharat Kumar Kobagana","email":"bharath.kobagana@gmail.com","username":"bharatkk"},"change_message_id":"b4475cc4c22c9c772510de6f8282f2506b7dba20","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"NetApp E-Series driver: Remove caching logic"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch removes unneccessary API caching logic from the NetApp"},{"line_number":10,"context_line":"E-Series driver. The cache, represented as the _objects dictionary,"},{"line_number":11,"context_line":"is refreshed nearly every API call and therefore provides no value."},{"line_number":12,"context_line":"This refactor is also preparation for refactoring the class structure"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_9595e341","line":9,"updated":"2015-06-05 03:36:07.000000000","message":"Typo: s/unneccessary/unnecessary","commit_id":"cebfede05633f411f0799318842aab883aa4ede1"}],"cinder/tests/unit/volume/drivers/netapp/eseries/fakes.py":[{"author":{"_account_id":14428,"name":"Bharat Kumar Kobagana","email":"bharath.kobagana@gmail.com","username":"bharatkk"},"change_message_id":"b4475cc4c22c9c772510de6f8282f2506b7dba20","unresolved":false,"context_lines":[{"line_number":35,"context_line":"STORAGE_POOL \u003d {"},{"line_number":36,"context_line":"    \u0027label\u0027: \u0027DDP\u0027,"},{"line_number":37,"context_line":"    \u0027volumeGroupRef\u0027: \u0027fakevolgroupref\u0027,"},{"line_number":38,"context_line":"    \u0027raidLevel\u0027: \u0027raidDiskPool\u0027"},{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"VOLUME \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_95ca834e","line":38,"updated":"2015-06-05 03:36:07.000000000","message":"The last item in the dictionary should have a trailing comma.\n\nhttp://docs.openstack.org/developer/hacking/#dictionaries-lists","commit_id":"cebfede05633f411f0799318842aab883aa4ede1"},{"author":{"_account_id":14428,"name":"Bharat Kumar Kobagana","email":"bharath.kobagana@gmail.com","username":"bharatkk"},"change_message_id":"b4475cc4c22c9c772510de6f8282f2506b7dba20","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    \"currentManager\": \"070000000000000000000002\","},{"line_number":268,"context_line":"    \"copyStartTime\": \"1389551671\","},{"line_number":269,"context_line":"    \"reserved1\": \"00000000\","},{"line_number":270,"context_line":"    \"targetVolume\": \"0200000060080E500023C73400000A8C52D10675\""},{"line_number":271,"context_line":"}"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_55c40b3f","line":270,"updated":"2015-06-05 03:36:07.000000000","message":"Same as above.","commit_id":"cebfede05633f411f0799318842aab883aa4ede1"}],"cinder/volume/drivers/netapp/eseries/client.py":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"76ae2f3d0c2fc3141930a3cf181a2719ef05f180","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        return self._invoke(\u0027GET\u0027, path)"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    def get_storage_pool(self, volume_group_ref):"},{"line_number":361,"context_line":"        \"\"\"List storage pool in the array.\"\"\""},{"line_number":362,"context_line":"        path \u003d \"/storage-systems/{system-id}/storage-pools/{object-id}\""},{"line_number":363,"context_line":"        return self._invoke(\u0027GET\u0027, path, **{\u0027object-id\u0027: volume_group_ref})"},{"line_number":364,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_9525e3c3","line":361,"updated":"2015-06-05 03:58:06.000000000","message":"docstring doesn\u0027t seem reflect what this method is for","commit_id":"cebfede05633f411f0799318842aab883aa4ede1"}],"cinder/volume/drivers/netapp/eseries/iscsi.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"467f6f984bee6139e6557607d817633594f67733","unresolved":false,"context_lines":[{"line_number":473,"context_line":"        try:"},{"line_number":474,"context_line":"            vol \u003d self._get_volume(volume[\u0027name_id\u0027])"},{"line_number":475,"context_line":"            self._client.delete_volume(vol[\u0027volumeRef\u0027])"},{"line_number":476,"context_line":"        except exception.NetAppDriverException:"},{"line_number":477,"context_line":"            LOG.warning(_LI(\"Volume %s already deleted.\"), volume[\u0027id\u0027])"},{"line_number":478,"context_line":"            return"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_eb48f0cd","line":476,"updated":"2015-06-10 18:52:22.000000000","message":"I don\u0027t see how this exception means the volume is already deleted.\nI looked at the delete_volume in client, this exception is \"Content type not supported\".  Am I missing anything?","commit_id":"00c20070c9a03b58c527f43a3bd77da5ce4b600b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e939707b1c48cd24af11eb5d40cd13df90ebe54b","unresolved":false,"context_lines":[{"line_number":473,"context_line":"        try:"},{"line_number":474,"context_line":"            vol \u003d self._get_volume(volume[\u0027name_id\u0027])"},{"line_number":475,"context_line":"            self._client.delete_volume(vol[\u0027volumeRef\u0027])"},{"line_number":476,"context_line":"        except exception.NetAppDriverException:"},{"line_number":477,"context_line":"            LOG.warning(_LI(\"Volume %s already deleted.\"), volume[\u0027id\u0027])"},{"line_number":478,"context_line":"            return"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_db573056","line":476,"in_reply_to":"3afb71cf_1f06e251","updated":"2015-06-11 03:42:21.000000000","message":"I see. That exception in invoke_service is too general. It should at least differentiate \"volume not found\" and other failures. It\u0027s going to be a big change that affects lots of places too. So I\u0027m fine if you have plans to do it in a future patch. Can you open a bug for that?","commit_id":"00c20070c9a03b58c527f43a3bd77da5ce4b600b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"078e8839b1ed750e8002050f1a52f0b74c809c5d","unresolved":false,"context_lines":[{"line_number":473,"context_line":"        try:"},{"line_number":474,"context_line":"            vol \u003d self._get_volume(volume[\u0027name_id\u0027])"},{"line_number":475,"context_line":"            self._client.delete_volume(vol[\u0027volumeRef\u0027])"},{"line_number":476,"context_line":"        except exception.NetAppDriverException:"},{"line_number":477,"context_line":"            LOG.warning(_LI(\"Volume %s already deleted.\"), volume[\u0027id\u0027])"},{"line_number":478,"context_line":"            return"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_2a8ffb76","line":476,"in_reply_to":"3afb71cf_c76180aa","updated":"2015-06-11 14:18:15.000000000","message":"Thanks Alex.","commit_id":"00c20070c9a03b58c527f43a3bd77da5ce4b600b"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"61d997b3c19e51b6e592ba13708aa852530a95a6","unresolved":false,"context_lines":[{"line_number":473,"context_line":"        try:"},{"line_number":474,"context_line":"            vol \u003d self._get_volume(volume[\u0027name_id\u0027])"},{"line_number":475,"context_line":"            self._client.delete_volume(vol[\u0027volumeRef\u0027])"},{"line_number":476,"context_line":"        except exception.NetAppDriverException:"},{"line_number":477,"context_line":"            LOG.warning(_LI(\"Volume %s already deleted.\"), volume[\u0027id\u0027])"},{"line_number":478,"context_line":"            return"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_c76180aa","line":476,"in_reply_to":"3afb71cf_db573056","updated":"2015-06-11 14:01:13.000000000","message":"Done, https://bugs.launchpad.net/cinder/+bug/1464266","commit_id":"00c20070c9a03b58c527f43a3bd77da5ce4b600b"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"9e85f295738dbd106e079384fc002e4e53a24832","unresolved":false,"context_lines":[{"line_number":473,"context_line":"        try:"},{"line_number":474,"context_line":"            vol \u003d self._get_volume(volume[\u0027name_id\u0027])"},{"line_number":475,"context_line":"            self._client.delete_volume(vol[\u0027volumeRef\u0027])"},{"line_number":476,"context_line":"        except exception.NetAppDriverException:"},{"line_number":477,"context_line":"            LOG.warning(_LI(\"Volume %s already deleted.\"), volume[\u0027id\u0027])"},{"line_number":478,"context_line":"            return"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_1f06e251","line":476,"in_reply_to":"3afb71cf_eb48f0cd","updated":"2015-06-10 20:16:45.000000000","message":"NetAppDriverException is just a generic exception. This case is raised by invoke_service in client.py. I actually have plans to make more specific exception types across the ESeries driver, instead of raising and catching a very vague exception, in a future patch. Good point though","commit_id":"00c20070c9a03b58c527f43a3bd77da5ce4b600b"}]}
