)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"7d61b9bc37c56ffde33586f51ee8a4b608dae632","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     stack \u003cvijay.ladani@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-17 22:26:59 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Delete volume causes corresponding snapshot failed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete snapshot request shows status as snapshot busy even when"},{"line_number":10,"context_line":"volume created using same snapshot is in deleting state. Possible"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dada55a8_8c17d1ec","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":50},"updated":"2016-07-18 10:45:16.000000000","message":"nit: \"Retry delete snapshot if snapshot is busy\" would be more appropriate.","commit_id":"70cc77c089080681fab16721ebc1499790585b36"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"8c9f7b65e80358f17912967c69a29f542abdbd6d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     stack \u003cvijay.ladani@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-17 22:26:59 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Delete volume causes corresponding snapshot failed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete snapshot request shows status as snapshot busy even when"},{"line_number":10,"context_line":"volume created using same snapshot is in deleting state. Possible"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dada55a8_d9c4e841","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":50},"in_reply_to":"dada55a8_8c17d1ec","updated":"2016-07-18 12:10:47.000000000","message":"Done","commit_id":"70cc77c089080681fab16721ebc1499790585b36"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"93f4eac40dc3b4bd5f6a104575a1397d78a38018","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Retry delete snapshot if snapshot is busy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete snapshot request shows status as snapshot busy even when"},{"line_number":10,"context_line":"volume created using same snapshot is in deleting state. Possible"},{"line_number":11,"context_line":"fix is to retry delete snapshot request (3 times) which will allow"},{"line_number":12,"context_line":"snapshot-volume delete task to be completed."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"dada55a8_119d9459","line":10,"updated":"2016-07-19 02:30:10.000000000","message":"If a volume is created from a snapshot, the volume should not be dependent on the snapshot any more. So you should be able to delete the snapshot no matter what status that volume is.  So I don\u0027t understand why the volume being in \"deleting\" state is a problem for deleting the snapshot at all.  Did I miss anything?","commit_id":"dc8b2508625bf37f7a2a4c153864fd2dc433a717"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"4407dfd62f7e5f4582c9bc5d061d3ca8d2c5bc82","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Retry delete snapshot if snapshot is busy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete snapshot request shows status as snapshot busy even when"},{"line_number":10,"context_line":"volume created using same snapshot is in deleting state. Possible"},{"line_number":11,"context_line":"fix is to retry delete snapshot request (3 times) which will allow"},{"line_number":12,"context_line":"snapshot-volume delete task to be completed."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"dada55a8_9ae35933","line":10,"in_reply_to":"dada55a8_119d9459","updated":"2016-07-19 04:24:22.000000000","message":"Deleting snapshot volume and delete snapshot both are independent process from the open-stack perspective. The issue is when there a delete snapshot request sent to 3par back-end, request takes around 2 to 4 seconds to complete the delete process(in case of image volume). In between if there is a snapshot delete issued, 3par back-end throws http conflict error (snapshot busy) error since its child still exist.\n\nTo overcome this conflict, I did retry of delete snapshot 3 times in interval of every 2 seconds. To make sure that conflict error is not because of snapshot child existence.","commit_id":"dc8b2508625bf37f7a2a4c153864fd2dc433a717"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"7aa07789dd2332927aad02c298d395dae98fe9bc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Retry delete snapshot if snapshot is busy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete snapshot request shows status as snapshot busy even when"},{"line_number":10,"context_line":"volume created using same snapshot is in deleting state. Possible"},{"line_number":11,"context_line":"fix is to retry delete snapshot request (3 times) which will allow"},{"line_number":12,"context_line":"snapshot-volume delete task to be completed."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"dada55a8_6578862c","line":10,"in_reply_to":"dada55a8_119d9459","updated":"2016-07-19 05:34:18.000000000","message":"One more thing to clear here on 3par behavior.\nWhen there a snapshot volume (child volume) exist on 3par of corresponding snapshot (parent volume) and a user tries to delete that snapshot (parent volume), 3par will throw snapshot busy error. No snapshot volumes (child volumes) should exist under the snapshot, if user wants to delete that snapshot (parent volume).","commit_id":"dc8b2508625bf37f7a2a4c153864fd2dc433a717"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"f2b2a5293f4aaed4178b40cc36db91f0185fc7fc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     stack \u003cvijay.ladani@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-27 21:49:57 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Retry delete snapshot if snapshot is busy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete snapshot request shows status as snapshot busy even when"},{"line_number":10,"context_line":"volume created using same snapshot is in deleting state. Possible"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"bacf61ea_eb03c6b6","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":5},"updated":"2016-07-28 07:16:21.000000000","message":"\"3par: Retry delete snapshot if snapshot is busy\" please","commit_id":"5232e442d64721101f155a7e2940ce920c0d3da4"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"b685f278da4d1748cff18402e5fdeafb6caf43a6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     stack \u003cvijay.ladani@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-27 21:49:57 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Retry delete snapshot if snapshot is busy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete snapshot request shows status as snapshot busy even when"},{"line_number":10,"context_line":"volume created using same snapshot is in deleting state. Possible"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"bacf61ea_0074facc","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":5},"in_reply_to":"bacf61ea_eb03c6b6","updated":"2016-07-29 05:12:45.000000000","message":"As I explained earlier, this is a fragile fix since we can not determine time taken by the delete task. HTTP conflict is actually used to trow an exception, if there is a child of snapshot exist which is not intended to delete.\nNow the situation is, there is a delete request already issued and snapshot found a child under it and this child delete/create is already in progress, you get conflict error too.\n\nPartial fix provided, since there is no harm doing retry. \nIs there any alternate way to fix it permanently?","commit_id":"5232e442d64721101f155a7e2940ce920c0d3da4"},{"author":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"change_message_id":"e74a5131f89dede62013d300d2205bc0644e95b4","unresolved":false,"context_lines":[{"line_number":11,"context_line":"fix is to retry delete snapshot request (3 times) which will allow"},{"line_number":12,"context_line":"snapshot-volume delete task to be completed."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Added an unit test to check retry count"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: If4a2cabb7afd0299c78e42a941b95a01c76b2b5b"},{"line_number":17,"context_line":"Closes-Bug: #1600104"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"bacf61ea_fbab57d4","line":14,"range":{"start_line":14,"start_character":6,"end_line":14,"end_character":8},"updated":"2016-07-29 05:21:32.000000000","message":"a","commit_id":"5232e442d64721101f155a7e2940ce920c0d3da4"}],"cinder/volume/drivers/hpe/hpe_3par_common.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"9912aba87c57a652cb66d0c17c520b4efeb15143","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                deprecated_name\u003d\u0027hp3par_iscsi_chap_enabled\u0027),"},{"line_number":126,"context_line":"    cfg.IntOpt(\u0027retry_snapshot_delete\u0027,"},{"line_number":127,"context_line":"               default\u003d3,"},{"line_number":128,"context_line":"               help\u003d\u0027Possibly snapshot volume is in deleting state.Retry \u0027"},{"line_number":129,"context_line":"                    \u0027snapshot delete in case of receiving busy status\u0027),"},{"line_number":130,"context_line":"]"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_362fba89","line":129,"range":{"start_line":128,"start_character":21,"end_line":129,"end_character":70},"updated":"2016-07-15 12:25:28.000000000","message":"Please rephrase it. For example,\n\n\"Number of times to retry snapshot deletion in case of ...\"","commit_id":"ed2859c6b75c306c91e1be23a5e49b848a896bb5"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"5086449e39fe62f8f4e26c07c0f066fabce51e16","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                deprecated_name\u003d\u0027hp3par_iscsi_chap_enabled\u0027),"},{"line_number":126,"context_line":"    cfg.IntOpt(\u0027retry_snapshot_delete\u0027,"},{"line_number":127,"context_line":"               default\u003d3,"},{"line_number":128,"context_line":"               help\u003d\u0027Possibly snapshot volume is in deleting state.Retry \u0027"},{"line_number":129,"context_line":"                    \u0027snapshot delete in case of receiving busy status\u0027),"},{"line_number":130,"context_line":"]"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_334987d1","line":129,"range":{"start_line":128,"start_character":21,"end_line":129,"end_character":70},"in_reply_to":"1aa78d24_362fba89","updated":"2016-07-15 13:55:33.000000000","message":"This has been removed at all.","commit_id":"ed2859c6b75c306c91e1be23a5e49b848a896bb5"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"9912aba87c57a652cb66d0c17c520b4efeb15143","unresolved":false,"context_lines":[{"line_number":2475,"context_line":"            try:"},{"line_number":2476,"context_line":"                snap_name \u003d self._get_3par_snap_name(snapshot[\u0027id\u0027])"},{"line_number":2477,"context_line":"                self.client.deleteVolume(snap_name)"},{"line_number":2478,"context_line":"                CONF.retry_snapshot_delete \u003d 0"},{"line_number":2479,"context_line":"            except hpeexceptions.HTTPForbidden as ex:"},{"line_number":2480,"context_line":"                LOG.error(_LE(\"Exception: %s\"), ex)"},{"line_number":2481,"context_line":"                CONF.retry_snapshot_delete \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_36469a4f","line":2478,"updated":"2016-07-15 12:25:28.000000000","message":"We shouldn\u0027t modify the conf. What would happen for the next invocation of delete_snapshot?","commit_id":"ed2859c6b75c306c91e1be23a5e49b848a896bb5"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"5086449e39fe62f8f4e26c07c0f066fabce51e16","unresolved":false,"context_lines":[{"line_number":2475,"context_line":"            try:"},{"line_number":2476,"context_line":"                snap_name \u003d self._get_3par_snap_name(snapshot[\u0027id\u0027])"},{"line_number":2477,"context_line":"                self.client.deleteVolume(snap_name)"},{"line_number":2478,"context_line":"                CONF.retry_snapshot_delete \u003d 0"},{"line_number":2479,"context_line":"            except hpeexceptions.HTTPForbidden as ex:"},{"line_number":2480,"context_line":"                LOG.error(_LE(\"Exception: %s\"), ex)"},{"line_number":2481,"context_line":"                CONF.retry_snapshot_delete \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_936f9bfb","line":2478,"in_reply_to":"1aa78d24_36469a4f","updated":"2016-07-15 13:55:33.000000000","message":"Done","commit_id":"ed2859c6b75c306c91e1be23a5e49b848a896bb5"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"9912aba87c57a652cb66d0c17c520b4efeb15143","unresolved":false,"context_lines":[{"line_number":2490,"context_line":"            except hpeexceptions.HTTPConflict as ex:"},{"line_number":2491,"context_line":"                LOG.warning(_LW(\"Snapshot %(id)s busy. Retry delete snapshot\"),"},{"line_number":2492,"context_line":"                            {\u0027id\u0027: snapshot[\u0027id\u0027]})"},{"line_number":2493,"context_line":"                CONF.retry_snapshot_delete -\u003d 1"},{"line_number":2494,"context_line":"                if CONF.retry_snapshot_delete \u003d\u003d 0:"},{"line_number":2495,"context_line":"                    LOG.error(_LE(\"Exception: %s\"), ex)"},{"line_number":2496,"context_line":"                    raise exception.SnapshotIsBusy("}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_76eb0213","line":2493,"updated":"2016-07-15 12:25:28.000000000","message":"I think it is better to use cinder.utils.retry with exceptions set to hpeexceptions.HTTPConflict.","commit_id":"ed2859c6b75c306c91e1be23a5e49b848a896bb5"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"5086449e39fe62f8f4e26c07c0f066fabce51e16","unresolved":false,"context_lines":[{"line_number":2490,"context_line":"            except hpeexceptions.HTTPConflict as ex:"},{"line_number":2491,"context_line":"                LOG.warning(_LW(\"Snapshot %(id)s busy. Retry delete snapshot\"),"},{"line_number":2492,"context_line":"                            {\u0027id\u0027: snapshot[\u0027id\u0027]})"},{"line_number":2493,"context_line":"                CONF.retry_snapshot_delete -\u003d 1"},{"line_number":2494,"context_line":"                if CONF.retry_snapshot_delete \u003d\u003d 0:"},{"line_number":2495,"context_line":"                    LOG.error(_LE(\"Exception: %s\"), ex)"},{"line_number":2496,"context_line":"                    raise exception.SnapshotIsBusy("}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_860bdb23","line":2493,"in_reply_to":"1aa78d24_76eb0213","updated":"2016-07-15 13:55:33.000000000","message":"Applied my own logic because, I could not find this API. It really helped me and code looks good now. Thanks Vipin.","commit_id":"ed2859c6b75c306c91e1be23a5e49b848a896bb5"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"7d61b9bc37c56ffde33586f51ee8a4b608dae632","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                 characters. bug #1573647"},{"line_number":245,"context_line":"        3.0.24 - Fix terminate connection on failover"},{"line_number":246,"context_line":"        3.0.25 - Fix delete volume when online clone is active. bug #1349639"},{"line_number":247,"context_line":"        3.0.26 - Fix delete snapshot status shows busy when snapshot volume"},{"line_number":248,"context_line":"                 is in deleting state. bug #1600104"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    \"\"\""},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_8c9cf16a","line":248,"range":{"start_line":247,"start_character":17,"end_line":248,"end_character":38},"updated":"2016-07-18 10:45:16.000000000","message":"nit: This is slightly confusing, could you please rephrase it?","commit_id":"70cc77c089080681fab16721ebc1499790585b36"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"8c9f7b65e80358f17912967c69a29f542abdbd6d","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                 characters. bug #1573647"},{"line_number":245,"context_line":"        3.0.24 - Fix terminate connection on failover"},{"line_number":246,"context_line":"        3.0.25 - Fix delete volume when online clone is active. bug #1349639"},{"line_number":247,"context_line":"        3.0.26 - Fix delete snapshot status shows busy when snapshot volume"},{"line_number":248,"context_line":"                 is in deleting state. bug #1600104"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    \"\"\""},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_39ec24c7","line":248,"range":{"start_line":247,"start_character":17,"end_line":248,"end_character":38},"in_reply_to":"dada55a8_8c9cf16a","updated":"2016-07-18 12:10:47.000000000","message":"Done","commit_id":"70cc77c089080681fab16721ebc1499790585b36"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"7d61b9bc37c56ffde33586f51ee8a4b608dae632","unresolved":false,"context_lines":[{"line_number":2481,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027], \u0027msg\u0027: ex})"},{"line_number":2482,"context_line":"        except hpeexceptions.HTTPConflict as ex:"},{"line_number":2483,"context_line":"            # Retry snapshot deletion in case of busy status"},{"line_number":2484,"context_line":"            LOG.error(_LE(\"Exception: %s\"), ex)"},{"line_number":2485,"context_line":"            raise exception.SnapshotIsBusy(snapshot_name\u003dsnapshot[\u0027id\u0027])"},{"line_number":2486,"context_line":""},{"line_number":2487,"context_line":"    def _get_3par_hostname_from_wwn_iqn(self, wwns, iqns):"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_6c4b7d2c","line":2484,"updated":"2016-07-18 10:45:16.000000000","message":"We are going to retry, I don\u0027t think we should log this at error level. Also, include in the log message why we are retrying.","commit_id":"70cc77c089080681fab16721ebc1499790585b36"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"8c9f7b65e80358f17912967c69a29f542abdbd6d","unresolved":false,"context_lines":[{"line_number":2481,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027], \u0027msg\u0027: ex})"},{"line_number":2482,"context_line":"        except hpeexceptions.HTTPConflict as ex:"},{"line_number":2483,"context_line":"            # Retry snapshot deletion in case of busy status"},{"line_number":2484,"context_line":"            LOG.error(_LE(\"Exception: %s\"), ex)"},{"line_number":2485,"context_line":"            raise exception.SnapshotIsBusy(snapshot_name\u003dsnapshot[\u0027id\u0027])"},{"line_number":2486,"context_line":""},{"line_number":2487,"context_line":"    def _get_3par_hostname_from_wwn_iqn(self, wwns, iqns):"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_79ce9c5b","line":2484,"in_reply_to":"dada55a8_6c4b7d2c","updated":"2016-07-18 12:10:47.000000000","message":"Done","commit_id":"70cc77c089080681fab16721ebc1499790585b36"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"7d2e854dd29fe568d896c7ab4047f13c33fbbc83","unresolved":false,"context_lines":[{"line_number":2481,"context_line":"        except hpeexceptions.HTTPConflict as ex:"},{"line_number":2482,"context_line":"            # Retry snapshot deletion in case of busy status"},{"line_number":2483,"context_line":"            LOG.warning(_LW(\"Snapshot busy. Retry deleting. \""},{"line_number":2484,"context_line":"                            \"Exception: %s\"), ex)"},{"line_number":2485,"context_line":"            raise exception.SnapshotIsBusy(snapshot_name\u003dsnapshot[\u0027id\u0027])"},{"line_number":2486,"context_line":""},{"line_number":2487,"context_line":"    def _get_3par_hostname_from_wwn_iqn(self, wwns, iqns):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_7be0fdfa","line":2484,"updated":"2016-07-25 18:54:11.000000000","message":"so this can be helpful to do and doesn\u0027t really hurt.  But, the bug that this is trying to fix most likely will still happen, because of the nature of the workflow, which I described in the bug.","commit_id":"dc8b2508625bf37f7a2a4c153864fd2dc433a717"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"f1a1a51e29ddbcca67af5d856fcfec868ef15f65","unresolved":false,"context_lines":[{"line_number":2481,"context_line":"        except hpeexceptions.HTTPConflict as ex:"},{"line_number":2482,"context_line":"            # Retry snapshot deletion in case of busy status"},{"line_number":2483,"context_line":"            LOG.warning(_LW(\"Snapshot busy. Retry deleting. \""},{"line_number":2484,"context_line":"                            \"Exception: %s\"), ex)"},{"line_number":2485,"context_line":"            raise exception.SnapshotIsBusy(snapshot_name\u003dsnapshot[\u0027id\u0027])"},{"line_number":2486,"context_line":""},{"line_number":2487,"context_line":"    def _get_3par_hostname_from_wwn_iqn(self, wwns, iqns):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_3bc02a50","line":2484,"in_reply_to":"dada55a8_7be0fdfa","updated":"2016-07-26 08:05:17.000000000","message":"What you assume here is create volume from snapshot takes time to get copy task completed. Bug reporter says that they use snapshot volume to attach with an instance which can happen only when you have volume already created. Issue here is deleting snapshot immediately after deleting snapshot volume. If snapshot volume is an image volume then as per bug reporter, it takes generally 2 to 4 seconds to complete delete task. So if you try and delete that volume\u0027s snapshot, 3par throws HTTP conflict error. To overcome conflict error, I have provided delay of 2 seconds in each retry.","commit_id":"dc8b2508625bf37f7a2a4c153864fd2dc433a717"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"e9c3aeb7b09603ae40c9a1f1e10e4f0169747a00","unresolved":false,"context_lines":[{"line_number":2493,"context_line":"                            # successful delete"},{"line_number":2494,"context_line":"                            pass"},{"line_number":2495,"context_line":"                        except Exception:"},{"line_number":2496,"context_line":"                            msg \u003d _(\"Snapshot has a temporary snapshot that \""},{"line_number":2497,"context_line":"                                    \"can\u0027t be deleted at this time.\")"},{"line_number":2498,"context_line":"                            raise exception.SnapshotIsBusy(message\u003dmsg)"},{"line_number":2499,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_d976c8a2","line":2496,"range":{"start_line":2496,"start_character":52,"end_line":2496,"end_character":70},"updated":"2016-08-12 05:06:19.000000000","message":"It\u0027s better to LOG the temp snap info in the msg?","commit_id":"1e8204795e240303795d49d8268233220c9455eb"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"e9c3aeb7b09603ae40c9a1f1e10e4f0169747a00","unresolved":false,"context_lines":[{"line_number":2500,"context_line":"                try:"},{"line_number":2501,"context_line":"                    self.client.deleteVolume(snap_name)"},{"line_number":2502,"context_line":"                except Exception:"},{"line_number":2503,"context_line":"                    msg \u003d _(\"Snapshot has children and cannot be deleted!\")"},{"line_number":2504,"context_line":"                    raise exception.SnapshotIsBusy(message\u003dmsg)"},{"line_number":2505,"context_line":"            else:"},{"line_number":2506,"context_line":"                LOG.error(_LE(\"Exception: %s\"), ex)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_9961f0d5","line":2503,"range":{"start_line":2503,"start_character":29,"end_line":2503,"end_character":37},"updated":"2016-08-12 05:06:19.000000000","message":"Same.","commit_id":"1e8204795e240303795d49d8268233220c9455eb"}]}
