)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"20e49ae47f08da5747710d5b0f9b99e48031f313","unresolved":false,"context_lines":[{"line_number":10,"context_line":"the NetApp cDOT drivers for both normal and replicated shares."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint netapp-cdot-share-revert-to-snapshot"},{"line_number":13,"context_line":"Depends-On: Id497e13070e0003db2db951526a52de6c2182cca"},{"line_number":14,"context_line":"Change-Id: Ia939eba03b3db9cbba0cc6c16184578e8c8893d1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7a3c09a3_8b0237b3","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":53},"updated":"2017-01-19 02:31:23.000000000","message":"could remove this now that Id497e13070e0003db2db951526a52de6c2182cca merged.","commit_id":"a5876ff3960ceb6e667b437991c7c9f4f9ed1212"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"bc7aeb9b25c5f7e2b2c041c9cf040b7299bcb9be","unresolved":false,"context_lines":[{"line_number":10,"context_line":"the NetApp cDOT drivers for both normal and replicated shares."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint netapp-cdot-share-revert-to-snapshot"},{"line_number":13,"context_line":"Depends-On: Id497e13070e0003db2db951526a52de6c2182cca"},{"line_number":14,"context_line":"Change-Id: Ia939eba03b3db9cbba0cc6c16184578e8c8893d1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a3905b3_17aa9270","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":53},"in_reply_to":"7a3c09a3_8b0237b3","updated":"2017-01-20 18:30:46.000000000","message":"Done","commit_id":"a5876ff3960ceb6e667b437991c7c9f4f9ed1212"}],"manila/share/drivers/netapp/dataontap/client/client_cmode.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"20e49ae47f08da5747710d5b0f9b99e48031f313","unresolved":false,"context_lines":[{"line_number":2192,"context_line":"    def delete_snapshot(self, volume_name, snapshot_name, ignore_owners\u003dFalse):"},{"line_number":2193,"context_line":"        \"\"\"Deletes a volume snapshot.\"\"\""},{"line_number":2194,"context_line":""},{"line_number":2195,"context_line":"        ignore_owners \u003d (\u0027true\u0027 if strutils.bool_from_string(ignore_owners)"},{"line_number":2196,"context_line":"                         else \u0027false\u0027)"},{"line_number":2197,"context_line":""},{"line_number":2198,"context_line":"        api_args \u003d {"},{"line_number":2199,"context_line":"            \u0027volume\u0027: volume_name,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a3c09a3_8bf077cb","line":2196,"range":{"start_line":2195,"start_character":24,"end_line":2196,"end_character":38},"updated":"2017-01-19 02:31:23.000000000","message":"wouldn\u0027t \n\n ignore_owners \u003d strutils.bool_from_string(ignore_owners).lower() \n\nbe simpler?","commit_id":"a5876ff3960ceb6e667b437991c7c9f4f9ed1212"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"bc7aeb9b25c5f7e2b2c041c9cf040b7299bcb9be","unresolved":false,"context_lines":[{"line_number":2192,"context_line":"    def delete_snapshot(self, volume_name, snapshot_name, ignore_owners\u003dFalse):"},{"line_number":2193,"context_line":"        \"\"\"Deletes a volume snapshot.\"\"\""},{"line_number":2194,"context_line":""},{"line_number":2195,"context_line":"        ignore_owners \u003d (\u0027true\u0027 if strutils.bool_from_string(ignore_owners)"},{"line_number":2196,"context_line":"                         else \u0027false\u0027)"},{"line_number":2197,"context_line":""},{"line_number":2198,"context_line":"        api_args \u003d {"},{"line_number":2199,"context_line":"            \u0027volume\u0027: volume_name,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3905b3_f5e34703","line":2196,"range":{"start_line":2195,"start_character":24,"end_line":2196,"end_character":38},"in_reply_to":"7a3c09a3_8bf077cb","updated":"2017-01-20 18:30:46.000000000","message":"I don\u0027t think so.\n\n    AttributeError: \u0027bool\u0027 object has no attribute \u0027lower\u0027\n\nThere are other examples of this pattern in this file.","commit_id":"a5876ff3960ceb6e667b437991c7c9f4f9ed1212"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"20e49ae47f08da5747710d5b0f9b99e48031f313","unresolved":false,"context_lines":[{"line_number":1660,"context_line":"            except netapp_api.NaApiError as e:"},{"line_number":1661,"context_line":"                if e.code !\u003d netapp_api.EOBJECTNOTFOUND:"},{"line_number":1662,"context_line":"                    raise"},{"line_number":1663,"context_line":""},{"line_number":1664,"context_line":"        # Delete source SnapMirror snapshots that will prevent a snap restore"},{"line_number":1665,"context_line":"        snapmirror_snapshot_names \u003d vserver_client.list_snapmirror_snapshots("},{"line_number":1666,"context_line":"            share_name, newer_than\u003dsnapshot.get(\u0027access-time\u0027))"},{"line_number":1667,"context_line":"        for snapmirror_snapshot_name in snapmirror_snapshot_names:"},{"line_number":1668,"context_line":"            vserver_client.delete_snapshot("},{"line_number":1669,"context_line":"                share_name, snapmirror_snapshot_name, ignore_owners\u003dTrue)"},{"line_number":1670,"context_line":""},{"line_number":1671,"context_line":"        # Restore source snapshot of interest"},{"line_number":1672,"context_line":"        vserver_client.restore_snapshot(share_name, snapshot_name)"},{"line_number":1673,"context_line":""},{"line_number":1674,"context_line":"        # Reestablish mirrors"},{"line_number":1675,"context_line":"        for replica in non_active_replica_list:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3905b3_f31028ab","line":1672,"range":{"start_line":1663,"start_character":0,"end_line":1672,"end_character":66},"updated":"2017-01-19 02:31:23.000000000","message":"In this window, if an update_replica_state call comes into the driver, these mirrors that were broken will automatically be re-established. I think you\u0027d need to ignore updates for a replica which is undergoing revert...","commit_id":"a5876ff3960ceb6e667b437991c7c9f4f9ed1212"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"bc7aeb9b25c5f7e2b2c041c9cf040b7299bcb9be","unresolved":false,"context_lines":[{"line_number":1660,"context_line":"            except netapp_api.NaApiError as e:"},{"line_number":1661,"context_line":"                if e.code !\u003d netapp_api.EOBJECTNOTFOUND:"},{"line_number":1662,"context_line":"                    raise"},{"line_number":1663,"context_line":""},{"line_number":1664,"context_line":"        # Delete source SnapMirror snapshots that will prevent a snap restore"},{"line_number":1665,"context_line":"        snapmirror_snapshot_names \u003d vserver_client.list_snapmirror_snapshots("},{"line_number":1666,"context_line":"            share_name, newer_than\u003dsnapshot.get(\u0027access-time\u0027))"},{"line_number":1667,"context_line":"        for snapmirror_snapshot_name in snapmirror_snapshot_names:"},{"line_number":1668,"context_line":"            vserver_client.delete_snapshot("},{"line_number":1669,"context_line":"                share_name, snapmirror_snapshot_name, ignore_owners\u003dTrue)"},{"line_number":1670,"context_line":""},{"line_number":1671,"context_line":"        # Restore source snapshot of interest"},{"line_number":1672,"context_line":"        vserver_client.restore_snapshot(share_name, snapshot_name)"},{"line_number":1673,"context_line":""},{"line_number":1674,"context_line":"        # Reestablish mirrors"},{"line_number":1675,"context_line":"        for replica in non_active_replica_list:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3905b3_b7a45ea6","line":1672,"range":{"start_line":1663,"start_character":0,"end_line":1672,"end_character":66},"in_reply_to":"5a3905b3_f31028ab","updated":"2017-01-20 18:30:46.000000000","message":"Done","commit_id":"a5876ff3960ceb6e667b437991c7c9f4f9ed1212"}],"releasenotes/notes/share-revert-to-snapshot-in-netapp-cdot-driver-37f645ec3c14313c.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"20e49ae47f08da5747710d5b0f9b99e48031f313","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add support for share revert to snapshot to"},{"line_number":4,"context_line":"    NetApp cDOT drivers."},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5a3905b3_13d134fc","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":7},"updated":"2017-01-19 02:31:23.000000000","message":"Added","commit_id":"a5876ff3960ceb6e667b437991c7c9f4f9ed1212"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"bc7aeb9b25c5f7e2b2c041c9cf040b7299bcb9be","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add support for share revert to snapshot to"},{"line_number":4,"context_line":"    NetApp cDOT drivers."},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5a3905b3_f708a72f","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":7},"in_reply_to":"5a3905b3_13d134fc","updated":"2017-01-20 18:30:46.000000000","message":"Done","commit_id":"a5876ff3960ceb6e667b437991c7c9f4f9ed1212"}]}
