)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"23d12ea0_ca2d5e10","updated":"2024-02-16 20:35:56.000000000","message":"Thank you for working on this change. I have some suggestions in line, could you please take a look at them?\n\nAdditionally, I have two main asks:\n\n1. This change touches the core of Manila as well as the NetApp driver. Could you please split the changes into a change that will take care of the core (share/api, db migration and so on), and another change only with the NetApp driver stuff?\n\n2. Could you please add a release note?\n\nEven if I reviewed, I might have questions in the collab review sessions you guys are willing to propose. Looking forward to that :)","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5cb3dd98_a656abfe","in_reply_to":"23d12ea0_ca2d5e10","updated":"2024-02-21 17:59:36.000000000","message":"Thanks for reviewing my code and providing valuable comments. I have resolved most of the comments, I you are not agree with my reply please reopen your comments. \n\nfor Additional 2 main tasks\n\n1. Please give me couples of days to split the changes as I am testing my code once testing will be done, will create new patch for core related code.\n2. I have added the release notes.","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a65151c3fcc676df3b130ae3a0af6612d3333613","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"656397c4_bb4c5c45","updated":"2024-02-22 21:29:20.000000000","message":"Some more minor comments... Will do another pass either way :)","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6aa49bd2_f8e6925b","updated":"2024-02-23 10:32:25.000000000","message":"Thank you for walking us through the code during the collab review, Gireesh.. some comments are inline. \n\nAre you able to test this code with tempest tests? Kiran had a patch here: https://review.opendev.org/c/openstack/manila-tempest-plugin/+/841015","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"89a1785e57e30b56f479ef6b7847ac092f93928a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"aae5d224_dddef946","updated":"2024-02-26 09:51:38.000000000","message":"Thank you! Gireesh for the PR. Can you please look at comments inline.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7fbc0b74c1f94ffff5f9784a5865dcdb39cf6594","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2145a3dc_6cb9e613","updated":"2024-02-29 14:09:26.000000000","message":"Minor comments from first glance. Please check.","commit_id":"4aad786873a5a02780567991110ef3cccef10f26"},{"author":{"_account_id":36178,"name":"Saravanan Manickam","display_name":"msaravan","email":"manicsaran@gmail.com","username":"msaravan"},"change_message_id":"6523d9ae25cb85b8a6bad4c89c142564de89d779","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"0b862f66_5f678058","updated":"2024-03-04 18:14:33.000000000","message":"run-NetApp CI","commit_id":"23d30d5f4a404d0fa448ef46c043b922dfdd3fec"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"dec6fef7e97cfac011a50fae9e2fab0536e00793","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ccd4244c_e1aee4e7","in_reply_to":"0b862f66_5f678058","updated":"2024-03-26 04:05:09.000000000","message":"done","commit_id":"23d30d5f4a404d0fa448ef46c043b922dfdd3fec"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"ba22e095_9323860e","updated":"2024-03-07 14:20:01.000000000","message":"Thank you for addressing the comments on this change. Have some minor comments, please take a look at them.\n\nAlso, I\u0027ve been meaning to ask: have you managed to run functional tests on this change? It would be important to get this tested against the tests that were implemented using a NetApp backend. Very good sanity check. The tests could be enabled in the NetApp CI, but I understand that in the interest of time, this might take more time, so running the tests manually for now and sharing the results would be a great thing as well, and you could enable the tests on the NetApp CI as soon as you guys have some cycles.","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4f570f3bdd2904c53bffe94b4a5a0bf143026adc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"bde82ee4_70f3d043","updated":"2024-03-06 16:29:23.000000000","message":"Thanks all for your valuable review comments. I have resolved most of the comments and few still need to resolved, I am working on those. Based on my understanding I resolved the comments. If you are not agree with my reply, feel free to re-open your comment.","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"20a4de9addc648e18e0b60258ff9356d4f7c1ee5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"ead2a837_dbfac79a","updated":"2024-03-08 21:22:37.000000000","message":"Could you please share how this works with CLI commands and outputs on your final patch? It\u0027d be useful for reviewers..","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"fc0175c1_78887104","updated":"2024-03-08 21:11:35.000000000","message":"Thanks for splitting up the change Gireesh; comments inline..","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"4e75629e_e51909be","in_reply_to":"ead2a837_dbfac79a","updated":"2024-03-12 04:46:06.000000000","message":"stack@scs000215254-1:~/manila$ os backup list\n+--------------------------------------+-------+--------------------------------------+-----------+\n| ID                                   | Name  | Share ID                             | Status    |\n+--------------------------------------+-------+--------------------------------------+-----------+\n| 8a9b3ce0-23bb-4923-b8ce-d0dd1f56b2b8 | test4 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| ea660228-f426-4974-b868-910b46a13d98 | test3 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| e54311d5-091b-4840-adbe-1710db0d85eb | test2 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| 725626de-0c4c-4b3d-a59c-2a5d83c4996e | test1 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n+--------------------------------------+-------+--------------------------------------+-----------+\nstack@scs000215254-1:~/manila$ os backup create --name test5 --backup-options backup_type\u003dbackup_type1 source_share\n+-------------------+------------------------------------------------+\n| Field             | Value                                          |\n+-------------------+------------------------------------------------+\n| availability_zone | manila-zone-0                                  |\n| backup_type       | backup_type1                                   |\n| created_at        | 2024-03-11T18:15:32.183982                     |\n| description       | None                                           |\n| host              | scs000215254-1.nb.openenglab.netapp.com@ontap1 |\n| id                | 4b468327-d03f-4df7-97ef-c5230b5beafc           |\n| name              | test5                                          |\n| progress          | 0                                              |\n| restore_progress  | 0                                              |\n| share_id          | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7           |\n| size              | 1                                              |\n| status            | creating                                       |\n| topic             | None                                           |\n| updated_at        | None                                           |\n+-------------------+------------------------------------------------+\nstack@scs000215254-1:~/manila$ os backup list\n+--------------------------------------+-------+--------------------------------------+-----------+\n| ID                                   | Name  | Share ID                             | Status    |\n+--------------------------------------+-------+--------------------------------------+-----------+\n| 4b468327-d03f-4df7-97ef-c5230b5beafc | test5 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | creating  |\n| 8a9b3ce0-23bb-4923-b8ce-d0dd1f56b2b8 | test4 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| ea660228-f426-4974-b868-910b46a13d98 | test3 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| e54311d5-091b-4840-adbe-1710db0d85eb | test2 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| 725626de-0c4c-4b3d-a59c-2a5d83c4996e | test1 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n+--------------------------------------+-------+--------------------------------------+-----------+\nstack@scs000215254-1:~/manila$ os backup show test5\n+-------------------+------------------------------------------------+\n| Field             | Value                                          |\n+-------------------+------------------------------------------------+\n| availability_zone | manila-zone-0                                  |\n| backup_type       | backup_type1                                   |\n| created_at        | 2024-03-11T18:15:32.000000                     |\n| description       | None                                           |\n| host              | scs000215254-1.nb.openenglab.netapp.com@ontap1 |\n| id                | 4b468327-d03f-4df7-97ef-c5230b5beafc           |\n| name              | test5                                          |\n| progress          | 0                                              |\n| restore_progress  | 0                                              |\n| share_id          | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7           |\n| size              | 1                                              |\n| status            | creating                                       |\n| topic             | manila-share                                   |\n| updated_at        | 2024-03-11T18:15:32.000000                     |\n+-------------------+------------------------------------------------+\nstack@scs000215254-1:~/manila$ os backup list\n+--------------------------------------+-------+--------------------------------------+-----------+\n| ID                                   | Name  | Share ID                             | Status    |\n+--------------------------------------+-------+--------------------------------------+-----------+\n| 4b468327-d03f-4df7-97ef-c5230b5beafc | test5 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | creating  |\n| 8a9b3ce0-23bb-4923-b8ce-d0dd1f56b2b8 | test4 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| ea660228-f426-4974-b868-910b46a13d98 | test3 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| e54311d5-091b-4840-adbe-1710db0d85eb | test2 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| 725626de-0c4c-4b3d-a59c-2a5d83c4996e | test1 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n+--------------------------------------+-------+--------------------------------------+-----------+\nstack@scs000215254-1:~/manila$ os backup list\n+--------------------------------------+-------+--------------------------------------+-----------+\n| ID                                   | Name  | Share ID                             | Status    |\n+--------------------------------------+-------+--------------------------------------+-----------+\n| 4b468327-d03f-4df7-97ef-c5230b5beafc | test5 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| 8a9b3ce0-23bb-4923-b8ce-d0dd1f56b2b8 | test4 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| ea660228-f426-4974-b868-910b46a13d98 | test3 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| e54311d5-091b-4840-adbe-1710db0d85eb | test2 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| 725626de-0c4c-4b3d-a59c-2a5d83c4996e | test1 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n+--------------------------------------+-------+--------------------------------------+-----------+\nstack@scs000215254-1:~/manila$ os backup delete test1\nstack@scs000215254-1:~/manila$ os backup list\n+--------------------------------------+-------+--------------------------------------+-----------+\n| ID                                   | Name  | Share ID                             | Status    |\n+--------------------------------------+-------+--------------------------------------+-----------+\n| 4b468327-d03f-4df7-97ef-c5230b5beafc | test5 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| 8a9b3ce0-23bb-4923-b8ce-d0dd1f56b2b8 | test4 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| ea660228-f426-4974-b868-910b46a13d98 | test3 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| e54311d5-091b-4840-adbe-1710db0d85eb | test2 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n+--------------------------------------+-------+--------------------------------------+-----------+\nstack@scs000215254-1:~/manila$ os backup restore test4\nstack@scs000215254-1:~/manila$ os backup list\n+--------------------------------------+-------+--------------------------------------+-----------+\n| ID                                   | Name  | Share ID                             | Status    |\n+--------------------------------------+-------+--------------------------------------+-----------+\n| 4b468327-d03f-4df7-97ef-c5230b5beafc | test5 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| 8a9b3ce0-23bb-4923-b8ce-d0dd1f56b2b8 | test4 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | restoring |\n| ea660228-f426-4974-b868-910b46a13d98 | test3 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n| e54311d5-091b-4840-adbe-1710db0d85eb | test2 | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7 | available |\n+--------------------------------------+-------+--------------------------------------+-----------+","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"306c7c220517f09882f91a4e1ce8b73767535571","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"d9e24772_39e21bde","updated":"2024-03-12 20:48:33.000000000","message":"CI is happy. Thank you for your hard work on this change :)","commit_id":"dfbf51bafdaec7004104698ee0ef436a84e2e0ca"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"730c0a425a3e966eed0f1e53502d786fbf6ab1a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"fee39b96_a3b008f4","updated":"2024-03-12 17:35:13.000000000","message":"LGTM, thank you for your hard work on this change, Gireesh!\nLet\u0027s wait on CI and the parent change to merge :)","commit_id":"dfbf51bafdaec7004104698ee0ef436a84e2e0ca"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"483d664b655a626083a43a7269a32f2c826f4cf1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"99de9c45_2f5b0d84","updated":"2024-03-12 17:33:18.000000000","message":"recheck\n\nparent patch updated","commit_id":"dfbf51bafdaec7004104698ee0ef436a84e2e0ca"}],"manila/share/api.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":69,"context_line":"ANTI_AFFINITY_HINT \u003d \u0027different_host\u0027"},{"line_number":70,"context_line":"AFFINITY_KEY \u003d \"__affinity_same_host\""},{"line_number":71,"context_line":"ANTI_AFFINITY_KEY \u003d \"__affinity_different_host\""},{"line_number":72,"context_line":"BACKUP_TYPE \u003d \"backup_type\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"def locked_security_service_update_operation(operation):"}],"source_content_type":"text/x-python","patch_set":1,"id":"cce1db2a_f1c79107","line":72,"range":{"start_line":72,"start_character":0,"end_line":72,"end_character":11},"updated":"2024-02-16 20:35:56.000000000","message":"I believe this could be in the manila/common/constants file","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":69,"context_line":"ANTI_AFFINITY_HINT \u003d \u0027different_host\u0027"},{"line_number":70,"context_line":"AFFINITY_KEY \u003d \"__affinity_same_host\""},{"line_number":71,"context_line":"ANTI_AFFINITY_KEY \u003d \"__affinity_different_host\""},{"line_number":72,"context_line":"BACKUP_TYPE \u003d \"backup_type\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"def locked_security_service_update_operation(operation):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bebc31a2_aed09922","line":72,"range":{"start_line":72,"start_character":0,"end_line":72,"end_character":11},"in_reply_to":"cce1db2a_f1c79107","updated":"2024-02-21 17:59:36.000000000","message":"Done","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":90,"context_line":"            })"},{"line_number":91,"context_line":"        def locked_security_service_operation(*_args, **_kwargs):"},{"line_number":92,"context_line":"            return operation(*_args, **_kwargs)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        return locked_security_service_operation(*args, **kwargs)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    return wrapped"}],"source_content_type":"text/x-python","patch_set":1,"id":"34bff335_48a1169b","line":93,"updated":"2024-02-16 20:35:56.000000000","message":"nit: I\u0027d avoid adding/removing white lines just to ensure we don\u0027t get confused in the future when looking back at commits :)","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":90,"context_line":"            })"},{"line_number":91,"context_line":"        def locked_security_service_operation(*_args, **_kwargs):"},{"line_number":92,"context_line":"            return operation(*_args, **_kwargs)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        return locked_security_service_operation(*args, **kwargs)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    return wrapped"}],"source_content_type":"text/x-python","patch_set":1,"id":"348199b0_d8211c6c","line":93,"in_reply_to":"34bff335_48a1169b","updated":"2024-02-21 17:59:36.000000000","message":"I have reformat the file, it is due to that I have corrected this all the files.","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":true,"context_lines":[{"line_number":3880,"context_line":"        backup_ref \u003d {}"},{"line_number":3881,"context_line":"        try:"},{"line_number":3882,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027, {})"},{"line_number":3883,"context_line":"            if (backup_options and constants.BACKUP_TYPE in"},{"line_number":3884,"context_line":"                    backup_options.keys()):"},{"line_number":3885,"context_line":"                backup_type \u003d backup_options[constants.BACKUP_TYPE]"},{"line_number":3886,"context_line":"            else:"},{"line_number":3887,"context_line":"                backup_type \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"40adaa32_cc3ebaf2","line":3884,"range":{"start_line":3883,"start_character":0,"end_line":3884,"end_character":43},"updated":"2024-02-23 10:32:25.000000000","message":"simplify","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":3880,"context_line":"        backup_ref \u003d {}"},{"line_number":3881,"context_line":"        try:"},{"line_number":3882,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027, {})"},{"line_number":3883,"context_line":"            if (backup_options and constants.BACKUP_TYPE in"},{"line_number":3884,"context_line":"                    backup_options.keys()):"},{"line_number":3885,"context_line":"                backup_type \u003d backup_options[constants.BACKUP_TYPE]"},{"line_number":3886,"context_line":"            else:"},{"line_number":3887,"context_line":"                backup_type \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a29c451_9c3b0677","line":3884,"range":{"start_line":3883,"start_character":0,"end_line":3884,"end_character":43},"in_reply_to":"40adaa32_cc3ebaf2","updated":"2024-02-26 17:02:47.000000000","message":"Done","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":true,"context_lines":[{"line_number":3879,"context_line":""},{"line_number":3880,"context_line":"        backup_ref \u003d {}"},{"line_number":3881,"context_line":"        try:"},{"line_number":3882,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027, {})"},{"line_number":3883,"context_line":"            if (backup_options and constants.BACKUP_TYPE in"},{"line_number":3884,"context_line":"                    backup_options.keys()):"},{"line_number":3885,"context_line":"                backup_type \u003d backup_options[constants.BACKUP_TYPE]"},{"line_number":3886,"context_line":"            else:"},{"line_number":3887,"context_line":"                backup_type \u003d None"},{"line_number":3888,"context_line":"            backup_ref \u003d self.db.share_backup_create("},{"line_number":3889,"context_line":"                context, share[\u0027id\u0027],"},{"line_number":3890,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":3,"id":"cb65f390_468d1e80","line":3887,"range":{"start_line":3882,"start_character":12,"end_line":3887,"end_character":34},"updated":"2024-02-23 10:32:25.000000000","message":"simplify:\n\n```\nbackup_type \u003d backup.get(\u0027backup_options\u0027,{}\n                        ).get(constants.BACKUP_TYPE)\n\n```","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e6713f673630b22bf0aec7b46936e3141d1d3bc1","unresolved":false,"context_lines":[{"line_number":3879,"context_line":""},{"line_number":3880,"context_line":"        backup_ref \u003d {}"},{"line_number":3881,"context_line":"        try:"},{"line_number":3882,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027, {})"},{"line_number":3883,"context_line":"            if (backup_options and constants.BACKUP_TYPE in"},{"line_number":3884,"context_line":"                    backup_options.keys()):"},{"line_number":3885,"context_line":"                backup_type \u003d backup_options[constants.BACKUP_TYPE]"},{"line_number":3886,"context_line":"            else:"},{"line_number":3887,"context_line":"                backup_type \u003d None"},{"line_number":3888,"context_line":"            backup_ref \u003d self.db.share_backup_create("},{"line_number":3889,"context_line":"                context, share[\u0027id\u0027],"},{"line_number":3890,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":3,"id":"8e1a5b51_a893ce71","line":3887,"range":{"start_line":3882,"start_character":12,"end_line":3887,"end_character":34},"in_reply_to":"6b385340_7036443b","updated":"2024-02-28 16:48:19.000000000","message":"One of unit test is failing so I change the code as below \nbackup_type \u003d None\n            if backup.get(\u0027backup_options\u0027):\n                backup_type \u003d backup.get(\u0027backup_options\u0027, {}\n                                         ).get(constants.BACKUP_TYPE)","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":3879,"context_line":""},{"line_number":3880,"context_line":"        backup_ref \u003d {}"},{"line_number":3881,"context_line":"        try:"},{"line_number":3882,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027, {})"},{"line_number":3883,"context_line":"            if (backup_options and constants.BACKUP_TYPE in"},{"line_number":3884,"context_line":"                    backup_options.keys()):"},{"line_number":3885,"context_line":"                backup_type \u003d backup_options[constants.BACKUP_TYPE]"},{"line_number":3886,"context_line":"            else:"},{"line_number":3887,"context_line":"                backup_type \u003d None"},{"line_number":3888,"context_line":"            backup_ref \u003d self.db.share_backup_create("},{"line_number":3889,"context_line":"                context, share[\u0027id\u0027],"},{"line_number":3890,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":3,"id":"6b385340_7036443b","line":3887,"range":{"start_line":3882,"start_character":12,"end_line":3887,"end_character":34},"in_reply_to":"cb65f390_468d1e80","updated":"2024-02-26 17:02:47.000000000","message":"Nice, thanks for suggesting this code. Added the same.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":true,"context_lines":[{"line_number":3898,"context_line":"                    \u0027size\u0027: share[\u0027size\u0027],"},{"line_number":3899,"context_line":"                    \u0027availability_zone\u0027: share[\u0027instance\u0027]"},{"line_number":3900,"context_line":"                    [\u0027availability_zone\u0027],"},{"line_number":3901,"context_line":"                    \u0027backup_type\u0027: backup_type"},{"line_number":3902,"context_line":"                }"},{"line_number":3903,"context_line":"            )"},{"line_number":3904,"context_line":"            QUOTAS.commit(context, reservations)"}],"source_content_type":"text/x-python","patch_set":3,"id":"49ac9128_5df49a2c","line":3901,"range":{"start_line":3901,"start_character":35,"end_line":3901,"end_character":46},"updated":"2024-02-23 10:32:25.000000000","message":"nit: please add a trailing comma","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":3898,"context_line":"                    \u0027size\u0027: share[\u0027size\u0027],"},{"line_number":3899,"context_line":"                    \u0027availability_zone\u0027: share[\u0027instance\u0027]"},{"line_number":3900,"context_line":"                    [\u0027availability_zone\u0027],"},{"line_number":3901,"context_line":"                    \u0027backup_type\u0027: backup_type"},{"line_number":3902,"context_line":"                }"},{"line_number":3903,"context_line":"            )"},{"line_number":3904,"context_line":"            QUOTAS.commit(context, reservations)"}],"source_content_type":"text/x-python","patch_set":3,"id":"4c06c594_7a064deb","line":3901,"range":{"start_line":3901,"start_character":35,"end_line":3901,"end_character":46},"in_reply_to":"49ac9128_5df49a2c","updated":"2024-02-26 17:02:47.000000000","message":"Done","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"}],"manila/share/driver.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":688,"context_line":"        # they can do so using this configuration. This method can also be"},{"line_number":689,"context_line":"        # overridden if necessary."},{"line_number":690,"context_line":"        path \u003d next((x[\u0027path\u0027] for x in share_instance[\u0027export_locations\u0027]"},{"line_number":691,"context_line":"                     if x[\u0027is_admin_only\u0027]), None)"},{"line_number":692,"context_line":"        if not path:"},{"line_number":693,"context_line":"            path \u003d share_instance[\u0027export_locations\u0027][0][\u0027path\u0027]"},{"line_number":694,"context_line":"        return path"}],"source_content_type":"text/x-python","patch_set":1,"id":"cc1fc42b_9ca6b34b","line":691,"range":{"start_line":691,"start_character":20,"end_line":691,"end_character":21},"updated":"2024-02-16 20:35:56.000000000","message":"same as the comment for white lines :)","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":688,"context_line":"        # they can do so using this configuration. This method can also be"},{"line_number":689,"context_line":"        # overridden if necessary."},{"line_number":690,"context_line":"        path \u003d next((x[\u0027path\u0027] for x in share_instance[\u0027export_locations\u0027]"},{"line_number":691,"context_line":"                     if x[\u0027is_admin_only\u0027]), None)"},{"line_number":692,"context_line":"        if not path:"},{"line_number":693,"context_line":"            path \u003d share_instance[\u0027export_locations\u0027][0][\u0027path\u0027]"},{"line_number":694,"context_line":"        return path"}],"source_content_type":"text/x-python","patch_set":1,"id":"a98278a3_ef3e0080","line":691,"range":{"start_line":691,"start_character":20,"end_line":691,"end_character":21},"in_reply_to":"cc1fc42b_9ca6b34b","updated":"2024-02-21 17:59:36.000000000","message":"Done","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"}],"manila/share/drivers/netapp/dataontap/client/client_cmode.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":6251,"context_line":"                               source_vserver\u003dNone, dest_vserver\u003dNone,"},{"line_number":6252,"context_line":"                               source_volume\u003dNone, dest_volume\u003dNone,"},{"line_number":6253,"context_line":"                               source_snapshot\u003dNone):"},{"line_number":6254,"context_line":"        \"Restore snapshot copy from destination volume to source volume\""},{"line_number":6255,"context_line":"        self._ensure_snapmirror_v2()"},{"line_number":6256,"context_line":""},{"line_number":6257,"context_line":"        api_args \u003d self._build_snapmirror_request("}],"source_content_type":"text/x-python","patch_set":1,"id":"95dfe308_61e5aef2","line":6254,"range":{"start_line":6254,"start_character":8,"end_line":6254,"end_character":9},"updated":"2024-02-16 20:35:56.000000000","message":"nit: please follow the docstring approach from all other methods above:\n\"\"\"Restore snapshot copy from destination volume to source volume\"\"\"","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":true,"context_lines":[{"line_number":6251,"context_line":"                               source_vserver\u003dNone, dest_vserver\u003dNone,"},{"line_number":6252,"context_line":"                               source_volume\u003dNone, dest_volume\u003dNone,"},{"line_number":6253,"context_line":"                               source_snapshot\u003dNone):"},{"line_number":6254,"context_line":"        \"Restore snapshot copy from destination volume to source volume\""},{"line_number":6255,"context_line":"        self._ensure_snapmirror_v2()"},{"line_number":6256,"context_line":""},{"line_number":6257,"context_line":"        api_args \u003d self._build_snapmirror_request("}],"source_content_type":"text/x-python","patch_set":1,"id":"b8e7fde0_81f1a1a0","line":6254,"range":{"start_line":6254,"start_character":8,"end_line":6254,"end_character":9},"in_reply_to":"95dfe308_61e5aef2","updated":"2024-02-21 17:59:36.000000000","message":"Done as per suggested. one places I forgot to fix this, line no 3351. Will keep this comment open and will fix this in next patch","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"13030af30103789412bc8eef49702463d6e603e4","unresolved":false,"context_lines":[{"line_number":6251,"context_line":"                               source_vserver\u003dNone, dest_vserver\u003dNone,"},{"line_number":6252,"context_line":"                               source_volume\u003dNone, dest_volume\u003dNone,"},{"line_number":6253,"context_line":"                               source_snapshot\u003dNone):"},{"line_number":6254,"context_line":"        \"Restore snapshot copy from destination volume to source volume\""},{"line_number":6255,"context_line":"        self._ensure_snapmirror_v2()"},{"line_number":6256,"context_line":""},{"line_number":6257,"context_line":"        api_args \u003d self._build_snapmirror_request("}],"source_content_type":"text/x-python","patch_set":1,"id":"0fdd1b6f_b595acc0","line":6254,"range":{"start_line":6254,"start_character":8,"end_line":6254,"end_character":9},"in_reply_to":"b8e7fde0_81f1a1a0","updated":"2024-02-22 05:49:01.000000000","message":"Fix now with new patch","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"}],"manila/share/drivers/netapp/dataontap/client/client_cmode_rest.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":2326,"context_line":"                    else record.get(\u0027state\u0027)),"},{"line_number":2327,"context_line":"                \u0027transferring-state\u0027: record.get(\u0027transfer\u0027, {}).get(\u0027state\u0027),"},{"line_number":2328,"context_line":"                \u0027mirror-state\u0027: record.get(\u0027state\u0027),"},{"line_number":2329,"context_line":"                \u0027schedule\u0027: (record[\u0027transfer_schedule\u0027][\u0027name\u0027] if"},{"line_number":2330,"context_line":"                             record.get(\u0027transfer_schedule\u0027) else None),"},{"line_number":2331,"context_line":"                \u0027source-vserver\u0027: record[\u0027source\u0027][\u0027svm\u0027][\u0027name\u0027],"},{"line_number":2332,"context_line":"                \u0027source-volume\u0027: (record[\u0027source\u0027][\u0027path\u0027].split(\u0027:\u0027)[1] if"},{"line_number":2333,"context_line":"                                  record.get(\u0027source\u0027) else None),"}],"source_content_type":"text/x-python","patch_set":1,"id":"8e2c42d0_58dd9f3f","line":2330,"range":{"start_line":2329,"start_character":29,"end_line":2330,"end_character":70},"updated":"2024-02-16 20:35:56.000000000","message":"nit:\n```\n(\n    record[\u0027transfer_schedule\u0027][\u0027name\u0027]\n    if record.get(\u0027transfer_schedule\u0027) else None)\n```\nfor a better code legibility, as done above in the line 2324","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":2326,"context_line":"                    else record.get(\u0027state\u0027)),"},{"line_number":2327,"context_line":"                \u0027transferring-state\u0027: record.get(\u0027transfer\u0027, {}).get(\u0027state\u0027),"},{"line_number":2328,"context_line":"                \u0027mirror-state\u0027: record.get(\u0027state\u0027),"},{"line_number":2329,"context_line":"                \u0027schedule\u0027: (record[\u0027transfer_schedule\u0027][\u0027name\u0027] if"},{"line_number":2330,"context_line":"                             record.get(\u0027transfer_schedule\u0027) else None),"},{"line_number":2331,"context_line":"                \u0027source-vserver\u0027: record[\u0027source\u0027][\u0027svm\u0027][\u0027name\u0027],"},{"line_number":2332,"context_line":"                \u0027source-volume\u0027: (record[\u0027source\u0027][\u0027path\u0027].split(\u0027:\u0027)[1] if"},{"line_number":2333,"context_line":"                                  record.get(\u0027source\u0027) else None),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ee536761_31984a64","line":2330,"range":{"start_line":2329,"start_character":29,"end_line":2330,"end_character":70},"in_reply_to":"8e2c42d0_58dd9f3f","updated":"2024-02-21 17:59:36.000000000","message":"Make the changes as suggested","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4934,"context_line":"        return policy_name"},{"line_number":4935,"context_line":""},{"line_number":4936,"context_line":"    @na_utils.trace"},{"line_number":4937,"context_line":"    def create_snapmirror_policy(self, policy_name, type\u003d\u0027async\u0027,"},{"line_number":4938,"context_line":"                                 discard_network_info\u003dTrue,"},{"line_number":4939,"context_line":"                                 preserve_snapshots\u003dTrue,"},{"line_number":4940,"context_line":"                                 snapmirror_label\u003d\u0027all_source_snapshots\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"945a05d8_a692c22e","line":4937,"range":{"start_line":4937,"start_character":52,"end_line":4937,"end_character":56},"updated":"2024-02-16 20:35:56.000000000","message":"policy_type","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":4934,"context_line":"        return policy_name"},{"line_number":4935,"context_line":""},{"line_number":4936,"context_line":"    @na_utils.trace"},{"line_number":4937,"context_line":"    def create_snapmirror_policy(self, policy_name, type\u003d\u0027async\u0027,"},{"line_number":4938,"context_line":"                                 discard_network_info\u003dTrue,"},{"line_number":4939,"context_line":"                                 preserve_snapshots\u003dTrue,"},{"line_number":4940,"context_line":"                                 snapmirror_label\u003d\u0027all_source_snapshots\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"f5796bb7_d144b053","line":4937,"range":{"start_line":4937,"start_character":52,"end_line":4937,"end_character":56},"in_reply_to":"945a05d8_a692c22e","updated":"2024-02-21 17:59:36.000000000","message":"done","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":5401,"context_line":"                                                           dest_volume,"},{"line_number":5402,"context_line":"                                                           source_volume,"},{"line_number":5403,"context_line":"                                                           )"},{"line_number":5404,"context_line":"        uuid \u003d snapmirror_info[0].get(\u0027uuid\u0027)"},{"line_number":5405,"context_line":"        body \u003d {\"destination\": {\"path\": dest_path},"},{"line_number":5406,"context_line":"                \"source_snapshot\": source_snapshot}"},{"line_number":5407,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"84178a12_bcdb70f5","line":5404,"range":{"start_line":5404,"start_character":15,"end_line":5404,"end_character":33},"updated":"2024-02-16 20:35:56.000000000","message":"there\u0027s a chance that in case this list is empty, this will throw an exception... could you please try to prevent it?","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":5401,"context_line":"                                                           dest_volume,"},{"line_number":5402,"context_line":"                                                           source_volume,"},{"line_number":5403,"context_line":"                                                           )"},{"line_number":5404,"context_line":"        uuid \u003d snapmirror_info[0].get(\u0027uuid\u0027)"},{"line_number":5405,"context_line":"        body \u003d {\"destination\": {\"path\": dest_path},"},{"line_number":5406,"context_line":"                \"source_snapshot\": source_snapshot}"},{"line_number":5407,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"998f9c87_cf9eeee7","line":5404,"range":{"start_line":5404,"start_character":15,"end_line":5404,"end_character":33},"in_reply_to":"84178a12_bcdb70f5","updated":"2024-02-21 17:59:36.000000000","message":"throwing exception if there is no snapmirror info","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":5415,"context_line":"    @na_utils.trace"},{"line_number":5416,"context_line":"    def list_volume_snapshots(self, volume_name, snapmirror_label\u003dNone,"},{"line_number":5417,"context_line":"                              newer_than\u003dNone):"},{"line_number":5418,"context_line":"        \"\"\"Gets SnapMirror snapshots on a volume.\"\"\""},{"line_number":5419,"context_line":"        volume \u003d self._get_volume_by_args(vol_name\u003dvolume_name)"},{"line_number":5420,"context_line":"        uuid \u003d volume[\u0027uuid\u0027]"},{"line_number":5421,"context_line":"        query \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"131241f5_e90fe386","line":5418,"range":{"start_line":5418,"start_character":16,"end_line":5418,"end_character":26},"updated":"2024-02-16 20:35:56.000000000","message":"should this be here? :)","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":5415,"context_line":"    @na_utils.trace"},{"line_number":5416,"context_line":"    def list_volume_snapshots(self, volume_name, snapmirror_label\u003dNone,"},{"line_number":5417,"context_line":"                              newer_than\u003dNone):"},{"line_number":5418,"context_line":"        \"\"\"Gets SnapMirror snapshots on a volume.\"\"\""},{"line_number":5419,"context_line":"        volume \u003d self._get_volume_by_args(vol_name\u003dvolume_name)"},{"line_number":5420,"context_line":"        uuid \u003d volume[\u0027uuid\u0027]"},{"line_number":5421,"context_line":"        query \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"333b4177_d0e27316","line":5418,"range":{"start_line":5418,"start_character":16,"end_line":5418,"end_character":26},"in_reply_to":"131241f5_e90fe386","updated":"2024-02-21 17:59:36.000000000","message":"Done","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4946,"context_line":"        \"\"\"Create SnapMirror Policy\"\"\""},{"line_number":4947,"context_line":""},{"line_number":4948,"context_line":"        if policy_type \u003d\u003d \"vault\":"},{"line_number":4949,"context_line":"            body \u003d {\"name\": policy_name, \"type\": \"async\","},{"line_number":4950,"context_line":"                    \"create_snapshot_on_source\": False}"},{"line_number":4951,"context_line":"        else:"},{"line_number":4952,"context_line":"            body \u003d {\"name\": policy_name, \"type\": policy_type}"}],"source_content_type":"text/x-python","patch_set":11,"id":"73a2af5e_a7dfb844","line":4949,"range":{"start_line":4949,"start_character":49,"end_line":4949,"end_character":56},"updated":"2024-03-07 14:20:01.000000000","message":"policy_type? it already defaults to async","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4946,"context_line":"        \"\"\"Create SnapMirror Policy\"\"\""},{"line_number":4947,"context_line":""},{"line_number":4948,"context_line":"        if policy_type \u003d\u003d \"vault\":"},{"line_number":4949,"context_line":"            body \u003d {\"name\": policy_name, \"type\": \"async\","},{"line_number":4950,"context_line":"                    \"create_snapshot_on_source\": False}"},{"line_number":4951,"context_line":"        else:"},{"line_number":4952,"context_line":"            body \u003d {\"name\": policy_name, \"type\": policy_type}"}],"source_content_type":"text/x-python","patch_set":11,"id":"8454f16b_40a4f9e2","line":4949,"range":{"start_line":4949,"start_character":49,"end_line":4949,"end_character":56},"in_reply_to":"73a2af5e_a7dfb844","updated":"2024-03-08 15:05:27.000000000","message":"Yes, in rest we don\u0027t have policy type as vault like we have in ZAPI. To have the \"vault\" policy we need to pass \"create_snapshot_on_source\": False\" parameter. so I change the code here when user pass the policy type as \"vault\" we will be passing \"create_snapshot_on_source\" param in body of rest api.","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4945,"context_line":"                                 keep\u003d1):"},{"line_number":4946,"context_line":"        \"\"\"Create SnapMirror Policy\"\"\""},{"line_number":4947,"context_line":""},{"line_number":4948,"context_line":"        if policy_type \u003d\u003d \"vault\":"},{"line_number":4949,"context_line":"            body \u003d {\"name\": policy_name, \"type\": \"async\","},{"line_number":4950,"context_line":"                    \"create_snapshot_on_source\": False}"},{"line_number":4951,"context_line":"        else:"},{"line_number":4952,"context_line":"            body \u003d {\"name\": policy_name, \"type\": policy_type}"},{"line_number":4953,"context_line":"        if discard_network_info:"},{"line_number":4954,"context_line":"            body[\"exclude_network_config\"] \u003d {\u0027svmdr-config-obj\u0027: \u0027network\u0027}"},{"line_number":4955,"context_line":"        if preserve_snapshots:"}],"source_content_type":"text/x-python","patch_set":11,"id":"10f52a92_7a418058","line":4952,"range":{"start_line":4948,"start_character":8,"end_line":4952,"end_character":61},"updated":"2024-03-07 14:20:01.000000000","message":"I believe this:\n```\n        if policy_type \u003d\u003d \"vault\":\n            body \u003d {\"name\": policy_name, \"type\": \"async\",\n                    \"create_snapshot_on_source\": False}\n        else:\n            body \u003d {\"name\": policy_name, \"type\": policy_type}\n```\ncould use a cleaner approach:\n```\nbody \u003d {\n    \"name\": policy_name,\n    \"type\": policy_type\n}\nif policy_type \u003d\u003d \"vault\":\n    body[\"create_snapshot_on_source\"] \u003d False\n```","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4945,"context_line":"                                 keep\u003d1):"},{"line_number":4946,"context_line":"        \"\"\"Create SnapMirror Policy\"\"\""},{"line_number":4947,"context_line":""},{"line_number":4948,"context_line":"        if policy_type \u003d\u003d \"vault\":"},{"line_number":4949,"context_line":"            body \u003d {\"name\": policy_name, \"type\": \"async\","},{"line_number":4950,"context_line":"                    \"create_snapshot_on_source\": False}"},{"line_number":4951,"context_line":"        else:"},{"line_number":4952,"context_line":"            body \u003d {\"name\": policy_name, \"type\": policy_type}"},{"line_number":4953,"context_line":"        if discard_network_info:"},{"line_number":4954,"context_line":"            body[\"exclude_network_config\"] \u003d {\u0027svmdr-config-obj\u0027: \u0027network\u0027}"},{"line_number":4955,"context_line":"        if preserve_snapshots:"}],"source_content_type":"text/x-python","patch_set":11,"id":"c1fbdb74_1b967e9b","line":4952,"range":{"start_line":4948,"start_character":8,"end_line":4952,"end_character":61},"in_reply_to":"10f52a92_7a418058","updated":"2024-03-08 15:05:27.000000000","message":"If I change to above code and passing the policy type as \"vault\" then body will be as below \nbody \u003d {\n    \"name\": policy_name,\n    \"type\": \"vault\"\n    \"create_snapshot_on_source\": False\n    }\n  \n  But for vault I need to create the body as following \n  body \u003d {\n    \"name\": policy_name,\n    \"type\": \"async\"\n    \"create_snapshot_on_source\": False\n    }\n    \n   In rest we don\u0027t has policy type as \"vault\". Rest we support \"type\" as \"async\" and \"sync\".","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"}],"manila/share/drivers/netapp/dataontap/cluster_mode/data_motion.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":936,"context_line":""},{"line_number":937,"context_line":"    def get_most_available_aggr_of_vserver(self, vserver_client):"},{"line_number":938,"context_line":"        \"\"\"Get most available aggregate\"\"\""},{"line_number":939,"context_line":"        aggrs_space_attr \u003d vserver_client.get_vserver_aggregate_capacities()"},{"line_number":940,"context_line":"        if not aggrs_space_attr:"},{"line_number":941,"context_line":"            return None"},{"line_number":942,"context_line":"        aggr_list \u003d list(aggrs_space_attr.keys())"},{"line_number":943,"context_line":"        most_available_aggr \u003d aggr_list[0]"},{"line_number":944,"context_line":"        i \u003d 1"},{"line_number":945,"context_line":"        while i \u003c len(aggr_list):"},{"line_number":946,"context_line":"            if (aggrs_space_attr.get("},{"line_number":947,"context_line":"                    aggr_list[i]).get(\u0027available\u0027) \u003e aggrs_space_attr.get("},{"line_number":948,"context_line":"                    most_available_aggr).get(\u0027available\u0027)):"},{"line_number":949,"context_line":"                most_available_aggr \u003d aggr_list[i]"},{"line_number":950,"context_line":"            i \u003d i + 1"},{"line_number":951,"context_line":"        return most_available_aggr"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    def initialize_and_wait_snapmirror_vol(self, vserver_client,"},{"line_number":954,"context_line":"                                           source_vserver, source_volume,"}],"source_content_type":"text/x-python","patch_set":1,"id":"aa566090_d44231bc","line":951,"range":{"start_line":939,"start_character":8,"end_line":951,"end_character":34},"updated":"2024-02-16 20:35:56.000000000","message":"I think this could be simplified a bit:\n\n```\n        aggrs_space_attr \u003d vserver_client.get_vserver_aggregate_capacities()\n        if not aggrs_space_attr:\n            return None\n        most_available_aggr \u003d aggrs_space_attr[0]\n        for i, aggr in enumerate(aggr_space_attr):\n            if (aggr.get(\u0027available\u0027) \u003e most_available_aggr.get(\u0027available\u0027)):\n                most_available_aggr \u003d aggr\n        return most_available_aggr\n```\n\nI haven\u0027t tested this though, might be worth it giving it a try :)","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":936,"context_line":""},{"line_number":937,"context_line":"    def get_most_available_aggr_of_vserver(self, vserver_client):"},{"line_number":938,"context_line":"        \"\"\"Get most available aggregate\"\"\""},{"line_number":939,"context_line":"        aggrs_space_attr \u003d vserver_client.get_vserver_aggregate_capacities()"},{"line_number":940,"context_line":"        if not aggrs_space_attr:"},{"line_number":941,"context_line":"            return None"},{"line_number":942,"context_line":"        aggr_list \u003d list(aggrs_space_attr.keys())"},{"line_number":943,"context_line":"        most_available_aggr \u003d aggr_list[0]"},{"line_number":944,"context_line":"        i \u003d 1"},{"line_number":945,"context_line":"        while i \u003c len(aggr_list):"},{"line_number":946,"context_line":"            if (aggrs_space_attr.get("},{"line_number":947,"context_line":"                    aggr_list[i]).get(\u0027available\u0027) \u003e aggrs_space_attr.get("},{"line_number":948,"context_line":"                    most_available_aggr).get(\u0027available\u0027)):"},{"line_number":949,"context_line":"                most_available_aggr \u003d aggr_list[i]"},{"line_number":950,"context_line":"            i \u003d i + 1"},{"line_number":951,"context_line":"        return most_available_aggr"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    def initialize_and_wait_snapmirror_vol(self, vserver_client,"},{"line_number":954,"context_line":"                                           source_vserver, source_volume,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bbd6d075_bfbaef28","line":951,"range":{"start_line":939,"start_character":8,"end_line":951,"end_character":34},"in_reply_to":"aa566090_d44231bc","updated":"2024-02-21 17:59:36.000000000","message":"Optimize the code by replacing the while loop with for loop.","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    @na_utils.trace"},{"line_number":279,"context_line":"    def _get_api_client_for_backend(self, backend_name, vserver\u003dNone):"},{"line_number":280,"context_line":"        key \u003d f\"{backend_name}-{vserver}\""},{"line_number":281,"context_line":"        client \u003d self._backend_clients.get(key)"},{"line_number":282,"context_line":"        if not client:"},{"line_number":283,"context_line":"            config \u003d data_motion.get_backend_configuration(backend_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"cdbe3231_0f4c52c4","line":280,"range":{"start_line":280,"start_character":32,"end_line":280,"end_character":39},"updated":"2024-02-16 20:35:56.000000000","message":"would it be an issue in case vserver was set to None?","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    @na_utils.trace"},{"line_number":279,"context_line":"    def _get_api_client_for_backend(self, backend_name, vserver\u003dNone):"},{"line_number":280,"context_line":"        key \u003d f\"{backend_name}-{vserver}\""},{"line_number":281,"context_line":"        client \u003d self._backend_clients.get(key)"},{"line_number":282,"context_line":"        if not client:"},{"line_number":283,"context_line":"            config \u003d data_motion.get_backend_configuration(backend_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"874cc4a6_3fcf0a2d","line":280,"range":{"start_line":280,"start_character":32,"end_line":280,"end_character":39},"in_reply_to":"cdbe3231_0f4c52c4","updated":"2024-02-21 17:59:36.000000000","message":"I just need a key and if key has \"None\" string this these should not be an issue.","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4314,"context_line":"        return pool_name in pools"},{"line_number":4315,"context_line":""},{"line_number":4316,"context_line":"    @na_utils.trace"},{"line_number":4317,"context_line":"    def create_backup(self, context, share_instance, backup,"},{"line_number":4318,"context_line":"                      share_server\u003dNone):"},{"line_number":4319,"context_line":"        if share_server is None:"},{"line_number":4320,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ddb1f837_7b9523ea","line":4317,"updated":"2024-02-16 20:35:56.000000000","message":"unit test coverage could be enhanced as per coverage report from this and below function: https://6081989ad82b8be7d120-53e9ef0ccb08d29c43f34421d87aa388.ssl.cf1.rackcdn.com/909115/1/check/openstack-tox-cover/72e3373/cover/d_a8cfac5052a75b06_lib_base_py.html#t4320","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4314,"context_line":"        return pool_name in pools"},{"line_number":4315,"context_line":""},{"line_number":4316,"context_line":"    @na_utils.trace"},{"line_number":4317,"context_line":"    def create_backup(self, context, share_instance, backup,"},{"line_number":4318,"context_line":"                      share_server\u003dNone):"},{"line_number":4319,"context_line":"        if share_server is None:"},{"line_number":4320,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver()"}],"source_content_type":"text/x-python","patch_set":1,"id":"6fa440b9_701baec0","line":4317,"in_reply_to":"5e925ffb_e2d804ee","updated":"2024-03-07 14:20:01.000000000","message":"Coverage looks way better now, but still could be enhanced for some parts of the continue. I\u0027m happy with covering more unit tests corner cases in a follow-up change.","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a65151c3fcc676df3b130ae3a0af6612d3333613","unresolved":true,"context_lines":[{"line_number":4314,"context_line":"        return pool_name in pools"},{"line_number":4315,"context_line":""},{"line_number":4316,"context_line":"    @na_utils.trace"},{"line_number":4317,"context_line":"    def create_backup(self, context, share_instance, backup,"},{"line_number":4318,"context_line":"                      share_server\u003dNone):"},{"line_number":4319,"context_line":"        if share_server is None:"},{"line_number":4320,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9d640219_fa945ada","line":4317,"in_reply_to":"6120dd5f_f3944bb7","updated":"2024-02-22 21:29:20.000000000","message":"Ack :)","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"5a8f098ee0439582667cd00e49428be3807a28f0","unresolved":true,"context_lines":[{"line_number":4314,"context_line":"        return pool_name in pools"},{"line_number":4315,"context_line":""},{"line_number":4316,"context_line":"    @na_utils.trace"},{"line_number":4317,"context_line":"    def create_backup(self, context, share_instance, backup,"},{"line_number":4318,"context_line":"                      share_server\u003dNone):"},{"line_number":4319,"context_line":"        if share_server is None:"},{"line_number":4320,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5e925ffb_e2d804ee","line":4317,"in_reply_to":"9d640219_fa945ada","updated":"2024-03-06 11:18:29.000000000","message":"I have added more unit test now lib_base code coverage reached to 95%, how this will be fine for you \nhttps://3e169085e7b9b6736495-1a7fad683df57f0ce45663776e94aa58.ssl.cf1.rackcdn.com/909115/8/check/openstack-tox-cover/dd87e30/cover/d_a8cfac5052a75b06_lib_base_py.html \n\nif you are ok with code coverage, I can resolve this comment","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":true,"context_lines":[{"line_number":4314,"context_line":"        return pool_name in pools"},{"line_number":4315,"context_line":""},{"line_number":4316,"context_line":"    @na_utils.trace"},{"line_number":4317,"context_line":"    def create_backup(self, context, share_instance, backup,"},{"line_number":4318,"context_line":"                      share_server\u003dNone):"},{"line_number":4319,"context_line":"        if share_server is None:"},{"line_number":4320,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver()"}],"source_content_type":"text/x-python","patch_set":1,"id":"6120dd5f_f3944bb7","line":4317,"in_reply_to":"ddb1f837_7b9523ea","updated":"2024-02-21 17:59:36.000000000","message":"Need some more time to add more unit test so that we will be covering all lines of codes. will keep this comment open and will marked is resolved until we will have proper code coverage.","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4315,"context_line":""},{"line_number":4316,"context_line":"    @na_utils.trace"},{"line_number":4317,"context_line":"    def create_backup(self, context, share_instance, backup,"},{"line_number":4318,"context_line":"                      share_server\u003dNone):"},{"line_number":4319,"context_line":"        if share_server is None:"},{"line_number":4320,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver()"},{"line_number":4321,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"09438474_91ed0d71","line":4318,"updated":"2024-02-16 20:35:56.000000000","message":"nit: please add a docstring","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":4315,"context_line":""},{"line_number":4316,"context_line":"    @na_utils.trace"},{"line_number":4317,"context_line":"    def create_backup(self, context, share_instance, backup,"},{"line_number":4318,"context_line":"                      share_server\u003dNone):"},{"line_number":4319,"context_line":"        if share_server is None:"},{"line_number":4320,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver()"},{"line_number":4321,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"207a0337_31f53baa","line":4318,"in_reply_to":"09438474_91ed0d71","updated":"2024-02-21 17:59:36.000000000","message":"Added to all the methods","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4327,"context_line":"        backup_config \u003d data_motion.get_backup_configuration(backup_type)"},{"line_number":4328,"context_line":"        backend_name \u003d backup_config.safe_get(Backup.BACKEND_NAME.value)"},{"line_number":4329,"context_line":""},{"line_number":4330,"context_line":"        \u0027\u0027\u0027check the backend is related to netapp\u0027\u0027\u0027"},{"line_number":4331,"context_line":"        if not backend_name:"},{"line_number":4332,"context_line":"            LOG.exception(\"Backend name need to provide from command line\")"},{"line_number":4333,"context_line":"        backend_config \u003d data_motion.get_backend_configuration(backend_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"f5e51ae1_a0e13fb3","line":4330,"range":{"start_line":4330,"start_character":8,"end_line":4330,"end_character":52},"updated":"2024-02-16 20:35:56.000000000","message":"please comment with #","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":4327,"context_line":"        backup_config \u003d data_motion.get_backup_configuration(backup_type)"},{"line_number":4328,"context_line":"        backend_name \u003d backup_config.safe_get(Backup.BACKEND_NAME.value)"},{"line_number":4329,"context_line":""},{"line_number":4330,"context_line":"        \u0027\u0027\u0027check the backend is related to netapp\u0027\u0027\u0027"},{"line_number":4331,"context_line":"        if not backend_name:"},{"line_number":4332,"context_line":"            LOG.exception(\"Backend name need to provide from command line\")"},{"line_number":4333,"context_line":"        backend_config \u003d data_motion.get_backend_configuration(backend_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"b7f40a54_d709339c","line":4330,"range":{"start_line":4330,"start_character":8,"end_line":4330,"end_character":52},"in_reply_to":"f5e51ae1_a0e13fb3","updated":"2024-02-21 17:59:36.000000000","message":"Done, make the changes in all the places","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4329,"context_line":""},{"line_number":4330,"context_line":"        \u0027\u0027\u0027check the backend is related to netapp\u0027\u0027\u0027"},{"line_number":4331,"context_line":"        if not backend_name:"},{"line_number":4332,"context_line":"            LOG.exception(\"Backend name need to provide from command line\")"},{"line_number":4333,"context_line":"        backend_config \u003d data_motion.get_backend_configuration(backend_name)"},{"line_number":4334,"context_line":"        if backend_config.safe_get(\"netapp_storage_family\") is None:"},{"line_number":4335,"context_line":"            LOG.exception(\"Wrong backend %s is provided, please provide only\""}],"source_content_type":"text/x-python","patch_set":1,"id":"32cf98ae_f3f24a0f","line":4332,"range":{"start_line":4332,"start_character":40,"end_line":4332,"end_character":73},"updated":"2024-02-16 20:35:56.000000000","message":"I\u0027d sugest replacing by: must be specified.\nSince it could be an automation triggering this through API or SDK as well","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":4329,"context_line":""},{"line_number":4330,"context_line":"        \u0027\u0027\u0027check the backend is related to netapp\u0027\u0027\u0027"},{"line_number":4331,"context_line":"        if not backend_name:"},{"line_number":4332,"context_line":"            LOG.exception(\"Backend name need to provide from command line\")"},{"line_number":4333,"context_line":"        backend_config \u003d data_motion.get_backend_configuration(backend_name)"},{"line_number":4334,"context_line":"        if backend_config.safe_get(\"netapp_storage_family\") is None:"},{"line_number":4335,"context_line":"            LOG.exception(\"Wrong backend %s is provided, please provide only\""}],"source_content_type":"text/x-python","patch_set":1,"id":"572657af_5453f8c1","line":4332,"range":{"start_line":4332,"start_character":40,"end_line":4332,"end_character":73},"in_reply_to":"32cf98ae_f3f24a0f","updated":"2024-02-21 17:59:36.000000000","message":"Done. I have added proper logs in all the require places","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4333,"context_line":"        backend_config \u003d data_motion.get_backend_configuration(backend_name)"},{"line_number":4334,"context_line":"        if backend_config.safe_get(\"netapp_storage_family\") is None:"},{"line_number":4335,"context_line":"            LOG.exception(\"Wrong backend %s is provided, please provide only\""},{"line_number":4336,"context_line":"                          \" NetApp backend\", backend_name)"},{"line_number":4337,"context_line":"        if (backend_config.safe_get(\"enabled_backup_types\") is not None and"},{"line_number":4338,"context_line":"                backup_type not in backend_config.safe_get("},{"line_number":4339,"context_line":"                    \"enabled_backup_types\")):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f889184_4810f0dd","line":4336,"range":{"start_line":4336,"start_character":35,"end_line":4336,"end_character":42},"updated":"2024-02-16 20:35:56.000000000","message":"please add a period","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":4333,"context_line":"        backend_config \u003d data_motion.get_backend_configuration(backend_name)"},{"line_number":4334,"context_line":"        if backend_config.safe_get(\"netapp_storage_family\") is None:"},{"line_number":4335,"context_line":"            LOG.exception(\"Wrong backend %s is provided, please provide only\""},{"line_number":4336,"context_line":"                          \" NetApp backend\", backend_name)"},{"line_number":4337,"context_line":"        if (backend_config.safe_get(\"enabled_backup_types\") is not None and"},{"line_number":4338,"context_line":"                backup_type not in backend_config.safe_get("},{"line_number":4339,"context_line":"                    \"enabled_backup_types\")):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1b94c595_687c8748","line":4336,"range":{"start_line":4336,"start_character":35,"end_line":4336,"end_character":42},"in_reply_to":"5f889184_4810f0dd","updated":"2024-02-21 17:59:36.000000000","message":"Done","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4337,"context_line":"        if (backend_config.safe_get(\"enabled_backup_types\") is not None and"},{"line_number":4338,"context_line":"                backup_type not in backend_config.safe_get("},{"line_number":4339,"context_line":"                    \"enabled_backup_types\")):"},{"line_number":4340,"context_line":"            LOG.exception(\"%s is not compatible with backend %s\","},{"line_number":4341,"context_line":"                          backup_type, backend_name)"},{"line_number":4342,"context_line":""},{"line_number":4343,"context_line":"        \u0027\u0027\u0027Verify that both source and destination cluster are peer\u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ad9a2aa_c3124f20","line":4340,"range":{"start_line":4340,"start_character":27,"end_line":4340,"end_character":32},"updated":"2024-02-16 20:35:56.000000000","message":"Backup type %s ....","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":4337,"context_line":"        if (backend_config.safe_get(\"enabled_backup_types\") is not None and"},{"line_number":4338,"context_line":"                backup_type not in backend_config.safe_get("},{"line_number":4339,"context_line":"                    \"enabled_backup_types\")):"},{"line_number":4340,"context_line":"            LOG.exception(\"%s is not compatible with backend %s\","},{"line_number":4341,"context_line":"                          backup_type, backend_name)"},{"line_number":4342,"context_line":""},{"line_number":4343,"context_line":"        \u0027\u0027\u0027Verify that both source and destination cluster are peer\u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"270c4c02_c2ca3883","line":4340,"range":{"start_line":4340,"start_character":27,"end_line":4340,"end_character":32},"in_reply_to":"7ad9a2aa_c3124f20","updated":"2024-02-21 17:59:36.000000000","message":"done","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4340,"context_line":"            LOG.exception(\"%s is not compatible with backend %s\","},{"line_number":4341,"context_line":"                          backup_type, backend_name)"},{"line_number":4342,"context_line":""},{"line_number":4343,"context_line":"        \u0027\u0027\u0027Verify that both source and destination cluster are peer\u0027\u0027\u0027"},{"line_number":4344,"context_line":"        des_cluster_api_client \u003d self._get_api_client_for_backend("},{"line_number":4345,"context_line":"            backend_name)"},{"line_number":4346,"context_line":"        des_cluster \u003d des_cluster_api_client.get_cluster_name()"}],"source_content_type":"text/x-python","patch_set":1,"id":"dc05428f_46499626","line":4343,"range":{"start_line":4343,"start_character":63,"end_line":4343,"end_character":67},"updated":"2024-02-16 20:35:56.000000000","message":"nit: peered","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4340,"context_line":"            LOG.exception(\"%s is not compatible with backend %s\","},{"line_number":4341,"context_line":"                          backup_type, backend_name)"},{"line_number":4342,"context_line":""},{"line_number":4343,"context_line":"        \u0027\u0027\u0027Verify that both source and destination cluster are peer\u0027\u0027\u0027"},{"line_number":4344,"context_line":"        des_cluster_api_client \u003d self._get_api_client_for_backend("},{"line_number":4345,"context_line":"            backend_name)"},{"line_number":4346,"context_line":"        des_cluster \u003d des_cluster_api_client.get_cluster_name()"}],"source_content_type":"text/x-python","patch_set":1,"id":"71095b1e_1f75d6e7","line":4343,"range":{"start_line":4343,"start_character":8,"end_line":4343,"end_character":11},"updated":"2024-02-16 20:35:56.000000000","message":"same as the comment in the other file","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":4340,"context_line":"            LOG.exception(\"%s is not compatible with backend %s\","},{"line_number":4341,"context_line":"                          backup_type, backend_name)"},{"line_number":4342,"context_line":""},{"line_number":4343,"context_line":"        \u0027\u0027\u0027Verify that both source and destination cluster are peer\u0027\u0027\u0027"},{"line_number":4344,"context_line":"        des_cluster_api_client \u003d self._get_api_client_for_backend("},{"line_number":4345,"context_line":"            backend_name)"},{"line_number":4346,"context_line":"        des_cluster \u003d des_cluster_api_client.get_cluster_name()"}],"source_content_type":"text/x-python","patch_set":1,"id":"be93836a_c962c968","line":4343,"range":{"start_line":4343,"start_character":8,"end_line":4343,"end_character":11},"in_reply_to":"71095b1e_1f75d6e7","updated":"2024-02-21 17:59:36.000000000","message":"Done","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":4340,"context_line":"            LOG.exception(\"%s is not compatible with backend %s\","},{"line_number":4341,"context_line":"                          backup_type, backend_name)"},{"line_number":4342,"context_line":""},{"line_number":4343,"context_line":"        \u0027\u0027\u0027Verify that both source and destination cluster are peer\u0027\u0027\u0027"},{"line_number":4344,"context_line":"        des_cluster_api_client \u003d self._get_api_client_for_backend("},{"line_number":4345,"context_line":"            backend_name)"},{"line_number":4346,"context_line":"        des_cluster \u003d des_cluster_api_client.get_cluster_name()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1b2e443a_c80e6f64","line":4343,"range":{"start_line":4343,"start_character":63,"end_line":4343,"end_character":67},"in_reply_to":"dc05428f_46499626","updated":"2024-02-21 17:59:36.000000000","message":"Done, line no 4353","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4450,"context_line":"    def create_backup_continue(self, context, share_instance, backup,"},{"line_number":4451,"context_line":"                               share_server\u003dNone):"},{"line_number":4452,"context_line":"        progress_status \u003d {}"},{"line_number":4453,"context_line":"        if share_server is None:"},{"line_number":4454,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver()"},{"line_number":4455,"context_line":"        else:"},{"line_number":4456,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver(share_server)"},{"line_number":4457,"context_line":"        src_vol_name \u003d self._get_backend_share_name(share_instance[\u0027id\u0027])"},{"line_number":4458,"context_line":"        backend_name \u003d self._get_backend(backup)"},{"line_number":4459,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"e28e9a4b_54a64812","line":4456,"range":{"start_line":4453,"start_character":8,"end_line":4456,"end_character":77},"updated":"2024-02-16 20:35:56.000000000","message":"I think this could be simplified no? If you just forward share_server, even if it is set to None you\u0027d get the result you want right?\n\nI\u0027ve seen this happening elshewhere too... we\u0027d avoid a couple of if/else statements for this","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":4450,"context_line":"    def create_backup_continue(self, context, share_instance, backup,"},{"line_number":4451,"context_line":"                               share_server\u003dNone):"},{"line_number":4452,"context_line":"        progress_status \u003d {}"},{"line_number":4453,"context_line":"        if share_server is None:"},{"line_number":4454,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver()"},{"line_number":4455,"context_line":"        else:"},{"line_number":4456,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver(share_server)"},{"line_number":4457,"context_line":"        src_vol_name \u003d self._get_backend_share_name(share_instance[\u0027id\u0027])"},{"line_number":4458,"context_line":"        backend_name \u003d self._get_backend(backup)"},{"line_number":4459,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"649d8bbe_c8a22baa","line":4456,"range":{"start_line":4453,"start_character":8,"end_line":4456,"end_character":77},"in_reply_to":"11d08ae1_92082797","updated":"2024-02-26 17:02:47.000000000","message":"Tested with both dhss_true and dhss_false, working fine.","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":true,"context_lines":[{"line_number":4450,"context_line":"    def create_backup_continue(self, context, share_instance, backup,"},{"line_number":4451,"context_line":"                               share_server\u003dNone):"},{"line_number":4452,"context_line":"        progress_status \u003d {}"},{"line_number":4453,"context_line":"        if share_server is None:"},{"line_number":4454,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver()"},{"line_number":4455,"context_line":"        else:"},{"line_number":4456,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver(share_server)"},{"line_number":4457,"context_line":"        src_vol_name \u003d self._get_backend_share_name(share_instance[\u0027id\u0027])"},{"line_number":4458,"context_line":"        backend_name \u003d self._get_backend(backup)"},{"line_number":4459,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"11d08ae1_92082797","line":4456,"range":{"start_line":4453,"start_character":8,"end_line":4456,"end_character":77},"in_reply_to":"e28e9a4b_54a64812","updated":"2024-02-21 17:59:36.000000000","message":"As suggested I made the changes. I have tested the changes for dhhs_false, still need to test this code for dhss_true. Will mark this comment resolved after testing the dhss_true workflow.","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":4486,"context_line":"                                                       des_vol,"},{"line_number":4487,"context_line":"                                                       snap_name,"},{"line_number":4488,"context_line":"                                                       )"},{"line_number":4489,"context_line":"        \u0027\u0027\u0027previously if volume was part of some relationship and if we delete"},{"line_number":4490,"context_line":"         all the backup of share then last snapshot will be left on destination"},{"line_number":4491,"context_line":"          volume and we can delete that snapshot due to ONTAP restriction."},{"line_number":4492,"context_line":"           Next time if user create the first backup then we update the"},{"line_number":4493,"context_line":"           destination volume with latest backup and delete the last leftover"},{"line_number":4494,"context_line":"           snapshot\u0027\u0027\u0027"},{"line_number":4495,"context_line":"        if (progress_status[\"total_progress\"] \u003d\u003d Backup.TOTAL_PROGRESS_HUNDRED."},{"line_number":4496,"context_line":"                value):"},{"line_number":4497,"context_line":"            snap_list_with_backup \u003d self._get_des_volume_backup_snapshots("}],"source_content_type":"text/x-python","patch_set":1,"id":"213f7c61_327b9f22","line":4494,"range":{"start_line":4489,"start_character":8,"end_line":4494,"end_character":22},"updated":"2024-02-16 20:35:56.000000000","message":"Thank you for this note...\nand also a nit here: same comment about the way to write comments :)","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":4486,"context_line":"                                                       des_vol,"},{"line_number":4487,"context_line":"                                                       snap_name,"},{"line_number":4488,"context_line":"                                                       )"},{"line_number":4489,"context_line":"        \u0027\u0027\u0027previously if volume was part of some relationship and if we delete"},{"line_number":4490,"context_line":"         all the backup of share then last snapshot will be left on destination"},{"line_number":4491,"context_line":"          volume and we can delete that snapshot due to ONTAP restriction."},{"line_number":4492,"context_line":"           Next time if user create the first backup then we update the"},{"line_number":4493,"context_line":"           destination volume with latest backup and delete the last leftover"},{"line_number":4494,"context_line":"           snapshot\u0027\u0027\u0027"},{"line_number":4495,"context_line":"        if (progress_status[\"total_progress\"] \u003d\u003d Backup.TOTAL_PROGRESS_HUNDRED."},{"line_number":4496,"context_line":"                value):"},{"line_number":4497,"context_line":"            snap_list_with_backup \u003d self._get_des_volume_backup_snapshots("}],"source_content_type":"text/x-python","patch_set":1,"id":"1539fde8_09f2ac55","line":4494,"range":{"start_line":4489,"start_character":8,"end_line":4494,"end_character":22},"in_reply_to":"213f7c61_327b9f22","updated":"2024-02-21 17:59:36.000000000","message":"As suggested made the changes to all the places","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"89a1785e57e30b56f479ef6b7847ac092f93928a","unresolved":true,"context_lines":[{"line_number":59,"context_line":"CONF \u003d cfg.CONF"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def _get_client(config, vserver\u003dNone):"},{"line_number":63,"context_line":"    if config.netapp_use_legacy_client:"},{"line_number":64,"context_line":"        client \u003d client_cmode.NetAppCmodeClient("},{"line_number":65,"context_line":"            transport_type\u003dconfig.netapp_transport_type,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ce89ab7c_23f3c144","line":62,"updated":"2024-02-26 09:51:38.000000000","message":"Getting ZAPI or REST client can be moved to appropriate class.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e6713f673630b22bf0aec7b46936e3141d1d3bc1","unresolved":false,"context_lines":[{"line_number":59,"context_line":"CONF \u003d cfg.CONF"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def _get_client(config, vserver\u003dNone):"},{"line_number":63,"context_line":"    if config.netapp_use_legacy_client:"},{"line_number":64,"context_line":"        client \u003d client_cmode.NetAppCmodeClient("},{"line_number":65,"context_line":"            transport_type\u003dconfig.netapp_transport_type,"}],"source_content_type":"text/x-python","patch_set":3,"id":"444cf7d6_59c0cccc","line":62,"in_reply_to":"ce89ab7c_23f3c144","updated":"2024-02-28 16:48:19.000000000","message":"Done","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":true,"context_lines":[{"line_number":4327,"context_line":""},{"line_number":4328,"context_line":"        # Check if valid backup type is provided"},{"line_number":4329,"context_line":"        if not backup_type:"},{"line_number":4330,"context_line":"            raise exception.BackupException(\"need to provide valid backup name\""},{"line_number":4331,"context_line":"                                            \" from command line or API.\")"},{"line_number":4332,"context_line":""},{"line_number":4333,"context_line":"        # check the backend is related to NetApp"}],"source_content_type":"text/x-python","patch_set":3,"id":"227224dd_c1617a9f","line":4330,"range":{"start_line":4330,"start_character":45,"end_line":4330,"end_character":60},"updated":"2024-02-23 10:32:25.000000000","message":"Driver needs a","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a65151c3fcc676df3b130ae3a0af6612d3333613","unresolved":true,"context_lines":[{"line_number":4327,"context_line":""},{"line_number":4328,"context_line":"        # Check if valid backup type is provided"},{"line_number":4329,"context_line":"        if not backup_type:"},{"line_number":4330,"context_line":"            raise exception.BackupException(\"need to provide valid backup name\""},{"line_number":4331,"context_line":"                                            \" from command line or API.\")"},{"line_number":4332,"context_line":""},{"line_number":4333,"context_line":"        # check the backend is related to NetApp"}],"source_content_type":"text/x-python","patch_set":3,"id":"b556b0b7_60204989","line":4330,"range":{"start_line":4330,"start_character":45,"end_line":4330,"end_character":49},"updated":"2024-02-22 21:29:20.000000000","message":"please start with capital letter","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":4327,"context_line":""},{"line_number":4328,"context_line":"        # Check if valid backup type is provided"},{"line_number":4329,"context_line":"        if not backup_type:"},{"line_number":4330,"context_line":"            raise exception.BackupException(\"need to provide valid backup name\""},{"line_number":4331,"context_line":"                                            \" from command line or API.\")"},{"line_number":4332,"context_line":""},{"line_number":4333,"context_line":"        # check the backend is related to NetApp"}],"source_content_type":"text/x-python","patch_set":3,"id":"87292e13_32b41788","line":4330,"range":{"start_line":4330,"start_character":45,"end_line":4330,"end_character":60},"in_reply_to":"227224dd_c1617a9f","updated":"2024-02-26 17:02:47.000000000","message":"Done","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":4327,"context_line":""},{"line_number":4328,"context_line":"        # Check if valid backup type is provided"},{"line_number":4329,"context_line":"        if not backup_type:"},{"line_number":4330,"context_line":"            raise exception.BackupException(\"need to provide valid backup name\""},{"line_number":4331,"context_line":"                                            \" from command line or API.\")"},{"line_number":4332,"context_line":""},{"line_number":4333,"context_line":"        # check the backend is related to NetApp"}],"source_content_type":"text/x-python","patch_set":3,"id":"48f443f6_5b1dbd44","line":4330,"range":{"start_line":4330,"start_character":45,"end_line":4330,"end_character":49},"in_reply_to":"b556b0b7_60204989","updated":"2024-02-26 17:02:47.000000000","message":"Done","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a65151c3fcc676df3b130ae3a0af6612d3333613","unresolved":true,"context_lines":[{"line_number":4343,"context_line":"        if (backend_config.safe_get(\"enabled_backup_types\") is None or"},{"line_number":4344,"context_line":"                backup_type not in backend_config.safe_get("},{"line_number":4345,"context_line":"                    \"enabled_backup_types\")):"},{"line_number":4346,"context_line":"            err_msg \u003d _(\"backup type \u0027%(backup_type)s\u0027 is not compatible with\""},{"line_number":4347,"context_line":"                        \" backend \u0027%(backend_name)s\u0027.\")"},{"line_number":4348,"context_line":"            msg_args \u003d {\u0027backup_type\u0027: backup_type,"},{"line_number":4349,"context_line":"                        \u0027backend_name\u0027: backend_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"64bf42b5_7a5f99fb","line":4346,"range":{"start_line":4346,"start_character":25,"end_line":4346,"end_character":31},"updated":"2024-02-22 21:29:20.000000000","message":"please start with capital letter","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":4343,"context_line":"        if (backend_config.safe_get(\"enabled_backup_types\") is None or"},{"line_number":4344,"context_line":"                backup_type not in backend_config.safe_get("},{"line_number":4345,"context_line":"                    \"enabled_backup_types\")):"},{"line_number":4346,"context_line":"            err_msg \u003d _(\"backup type \u0027%(backup_type)s\u0027 is not compatible with\""},{"line_number":4347,"context_line":"                        \" backend \u0027%(backend_name)s\u0027.\")"},{"line_number":4348,"context_line":"            msg_args \u003d {\u0027backup_type\u0027: backup_type,"},{"line_number":4349,"context_line":"                        \u0027backend_name\u0027: backend_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba78c772_c6e60c79","line":4346,"range":{"start_line":4346,"start_character":25,"end_line":4346,"end_character":31},"in_reply_to":"64bf42b5_7a5f99fb","updated":"2024-02-26 17:02:47.000000000","message":"Done","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":true,"context_lines":[{"line_number":4355,"context_line":"            backend_name)"},{"line_number":4356,"context_line":"        des_cluster \u003d des_cluster_api_client.get_cluster_name()"},{"line_number":4357,"context_line":"        if src_cluster !\u003d des_cluster:"},{"line_number":4358,"context_line":"            cluster_peer_info \u003d self._client.get_cluster_peers("},{"line_number":4359,"context_line":"                remote_cluster_name\u003ddes_cluster)"},{"line_number":4360,"context_line":"            if not cluster_peer_info:"},{"line_number":4361,"context_line":"                err_msg \u003d _(\"Source cluster \u0027%(src_cluster)s\u0027 and destination\""}],"source_content_type":"text/x-python","patch_set":3,"id":"ac1dd3a7_cdd340ca","line":4358,"range":{"start_line":4358,"start_character":45,"end_line":4358,"end_character":62},"updated":"2024-02-23 10:32:25.000000000","message":"is this supported for a vserver scoped user?","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":4355,"context_line":"            backend_name)"},{"line_number":4356,"context_line":"        des_cluster \u003d des_cluster_api_client.get_cluster_name()"},{"line_number":4357,"context_line":"        if src_cluster !\u003d des_cluster:"},{"line_number":4358,"context_line":"            cluster_peer_info \u003d self._client.get_cluster_peers("},{"line_number":4359,"context_line":"                remote_cluster_name\u003ddes_cluster)"},{"line_number":4360,"context_line":"            if not cluster_peer_info:"},{"line_number":4361,"context_line":"                err_msg \u003d _(\"Source cluster \u0027%(src_cluster)s\u0027 and destination\""}],"source_content_type":"text/x-python","patch_set":3,"id":"ac19620e_83364d9b","line":4358,"range":{"start_line":4358,"start_character":45,"end_line":4358,"end_character":62},"in_reply_to":"ac1dd3a7_cdd340ca","updated":"2024-02-26 17:02:47.000000000","message":"No it is not supported for vserver scoping. Hitting below error when using the vserver scopping. \n\nResponse: b\u0027\u003cresults xmlns\u003d\"http://www.netapp.com/filer/admin\" reason\u003d\"Unable to find API: cluster-peer-get-iter on data vserver svm_migr_c1c6725e-6c61-4af7-8620-d126d0a47375\" status\u003d\"failed\" errno\u003d\"13005\"/\u003e","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":true,"context_lines":[{"line_number":4355,"context_line":"            backend_name)"},{"line_number":4356,"context_line":"        des_cluster \u003d des_cluster_api_client.get_cluster_name()"},{"line_number":4357,"context_line":"        if src_cluster !\u003d des_cluster:"},{"line_number":4358,"context_line":"            cluster_peer_info \u003d self._client.get_cluster_peers("},{"line_number":4359,"context_line":"                remote_cluster_name\u003ddes_cluster)"},{"line_number":4360,"context_line":"            if not cluster_peer_info:"},{"line_number":4361,"context_line":"                err_msg \u003d _(\"Source cluster \u0027%(src_cluster)s\u0027 and destination\""},{"line_number":4362,"context_line":"                            \" cluster \u0027%(des_cluster)s\u0027 are not peered\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5616f97f_59cb1074","line":4359,"range":{"start_line":4358,"start_character":12,"end_line":4359,"end_character":48},"updated":"2024-02-23 10:32:25.000000000","message":"is this method supported by NetApp\u0027s REST API?","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":4355,"context_line":"            backend_name)"},{"line_number":4356,"context_line":"        des_cluster \u003d des_cluster_api_client.get_cluster_name()"},{"line_number":4357,"context_line":"        if src_cluster !\u003d des_cluster:"},{"line_number":4358,"context_line":"            cluster_peer_info \u003d self._client.get_cluster_peers("},{"line_number":4359,"context_line":"                remote_cluster_name\u003ddes_cluster)"},{"line_number":4360,"context_line":"            if not cluster_peer_info:"},{"line_number":4361,"context_line":"                err_msg \u003d _(\"Source cluster \u0027%(src_cluster)s\u0027 and destination\""},{"line_number":4362,"context_line":"                            \" cluster \u0027%(des_cluster)s\u0027 are not peered\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ce7d2c4_9b37b3a2","line":4359,"range":{"start_line":4358,"start_character":12,"end_line":4359,"end_character":48},"in_reply_to":"5616f97f_59cb1074","updated":"2024-02-26 17:02:47.000000000","message":"Yes, we have this method in both in REST client and ZAPI client lib.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":true,"context_lines":[{"line_number":4370,"context_line":"        source_path \u003d f\"{src_vserver}:{src_vol}\""},{"line_number":4371,"context_line":"        snapmirror_info \u003d src_vserver_client.get_snapmirror_destinations("},{"line_number":4372,"context_line":"            source_path\u003dsource_path)"},{"line_number":4373,"context_line":"        if len(snapmirror_info) \u003d\u003d 1:"},{"line_number":4374,"context_line":"            des_vserver, des_volume \u003d self._get_destination_vserver_and_vol("},{"line_number":4375,"context_line":"                src_vserver_client, source_path, False)"},{"line_number":4376,"context_line":"            des_vserver_client \u003d self._get_api_client_for_backend("}],"source_content_type":"text/x-python","patch_set":3,"id":"1c0f758b_aabdb4ce","line":4373,"range":{"start_line":4373,"start_character":0,"end_line":4373,"end_character":37},"updated":"2024-02-23 10:32:25.000000000","message":"is there a possibility that this can be more than 1?\nif it is, it looks like we\u0027ll create another one","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":4370,"context_line":"        source_path \u003d f\"{src_vserver}:{src_vol}\""},{"line_number":4371,"context_line":"        snapmirror_info \u003d src_vserver_client.get_snapmirror_destinations("},{"line_number":4372,"context_line":"            source_path\u003dsource_path)"},{"line_number":4373,"context_line":"        if len(snapmirror_info) \u003d\u003d 1:"},{"line_number":4374,"context_line":"            des_vserver, des_volume \u003d self._get_destination_vserver_and_vol("},{"line_number":4375,"context_line":"                src_vserver_client, source_path, False)"},{"line_number":4376,"context_line":"            des_vserver_client \u003d self._get_api_client_for_backend("}],"source_content_type":"text/x-python","patch_set":3,"id":"572cc3b7_f0175faf","line":4373,"range":{"start_line":4373,"start_character":0,"end_line":4373,"end_character":37},"in_reply_to":"1c0f758b_aabdb4ce","updated":"2024-02-26 17:02:47.000000000","message":"For SnapMirror we support 1-1 relationship but for safer side added below condition\n\n if len(snapmirror_info) \u003e 1:\n            err_msg \u003d _(\"Source path %(path)s has more than one relationships\")\n            msg_args \u003d {\u0027path\u0027: source_path}\n            raise exception.NetAppException(err_msg % msg_args)","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":true,"context_lines":[{"line_number":4486,"context_line":"        source_path \u003d f\"{src_vserver}:{src_vol_name}\""},{"line_number":4487,"context_line":"        backup_type \u003d backup.get(Backup.BACKUP_TYPE.value)"},{"line_number":4488,"context_line":"        backup_config \u003d data_motion.get_backup_configuration(backup_type)"},{"line_number":4489,"context_line":"        self._verify_and_wait_for_SnapMirror_is_created("},{"line_number":4490,"context_line":"            src_vserver_client,"},{"line_number":4491,"context_line":"            source_path,"},{"line_number":4492,"context_line":"            timeout\u003dbackup_config.netapp_snapmirror_job_timeout"},{"line_number":4493,"context_line":"        )"},{"line_number":4494,"context_line":"        des_vserver, des_vol \u003d self._get_destination_vserver_and_vol("},{"line_number":4495,"context_line":"            src_vserver_client,"},{"line_number":4496,"context_line":"            source_path)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5e7f828d_be474b27","line":4493,"range":{"start_line":4489,"start_character":8,"end_line":4493,"end_character":9},"updated":"2024-02-23 10:32:25.000000000","message":"instead, can you log a warning and expect to come back to the next iteration of \"create_backup_continue\"","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":4486,"context_line":"        source_path \u003d f\"{src_vserver}:{src_vol_name}\""},{"line_number":4487,"context_line":"        backup_type \u003d backup.get(Backup.BACKUP_TYPE.value)"},{"line_number":4488,"context_line":"        backup_config \u003d data_motion.get_backup_configuration(backup_type)"},{"line_number":4489,"context_line":"        self._verify_and_wait_for_SnapMirror_is_created("},{"line_number":4490,"context_line":"            src_vserver_client,"},{"line_number":4491,"context_line":"            source_path,"},{"line_number":4492,"context_line":"            timeout\u003dbackup_config.netapp_snapmirror_job_timeout"},{"line_number":4493,"context_line":"        )"},{"line_number":4494,"context_line":"        des_vserver, des_vol \u003d self._get_destination_vserver_and_vol("},{"line_number":4495,"context_line":"            src_vserver_client,"},{"line_number":4496,"context_line":"            source_path)"}],"source_content_type":"text/x-python","patch_set":3,"id":"30b01a1f_2aeae57d","line":4493,"range":{"start_line":4489,"start_character":8,"end_line":4493,"end_character":9},"in_reply_to":"5e7f828d_be474b27","updated":"2024-02-26 17:02:47.000000000","message":"yes, this is better idea. Made the changes as suggested","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":true,"context_lines":[{"line_number":4505,"context_line":"        LOG.debug(\"Destination path: %(des_path)s\", {\u0027des_path\u0027: des_path})"},{"line_number":4506,"context_line":"        snapmirror_info \u003d des_vserver_client.get_snapmirrors("},{"line_number":4507,"context_line":"            source_path\u003dsource_path, dest_path\u003ddes_path)"},{"line_number":4508,"context_line":"        progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4509,"context_line":"                                             TOTAL_PROGRESS_HUNDRED.value)"},{"line_number":4510,"context_line":"        if snapmirror_info[0].get(\"relationship-status\") !\u003d \"idle\":"},{"line_number":4511,"context_line":"            progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4512,"context_line":"                                                 TOTAL_PROGRESS_ZERO.value)"},{"line_number":4513,"context_line":"            return progress_status"},{"line_number":4514,"context_line":"        LOG.debug(\"Progress status: %(progress_status)s\","},{"line_number":4515,"context_line":"                  {\u0027progress_status\u0027: progress_status})"}],"source_content_type":"text/x-python","patch_set":3,"id":"d0d269c9_6e7dc639","line":4512,"range":{"start_line":4508,"start_character":0,"end_line":4512,"end_character":75},"updated":"2024-02-23 10:32:25.000000000","message":"so are we jumping from 0 to 100? Is there no parameter that shows you the percentage of data transferred?","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4f570f3bdd2904c53bffe94b4a5a0bf143026adc","unresolved":true,"context_lines":[{"line_number":4505,"context_line":"        LOG.debug(\"Destination path: %(des_path)s\", {\u0027des_path\u0027: des_path})"},{"line_number":4506,"context_line":"        snapmirror_info \u003d des_vserver_client.get_snapmirrors("},{"line_number":4507,"context_line":"            source_path\u003dsource_path, dest_path\u003ddes_path)"},{"line_number":4508,"context_line":"        progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4509,"context_line":"                                             TOTAL_PROGRESS_HUNDRED.value)"},{"line_number":4510,"context_line":"        if snapmirror_info[0].get(\"relationship-status\") !\u003d \"idle\":"},{"line_number":4511,"context_line":"            progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4512,"context_line":"                                                 TOTAL_PROGRESS_ZERO.value)"},{"line_number":4513,"context_line":"            return progress_status"},{"line_number":4514,"context_line":"        LOG.debug(\"Progress status: %(progress_status)s\","},{"line_number":4515,"context_line":"                  {\u0027progress_status\u0027: progress_status})"}],"source_content_type":"text/x-python","patch_set":3,"id":"23896f22_09cb7a82","line":4512,"range":{"start_line":4508,"start_character":0,"end_line":4512,"end_character":75},"in_reply_to":"0aed0053_e30afb62","updated":"2024-03-06 16:29:23.000000000","message":"thanks for your suggestion. Will implement this.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4505,"context_line":"        LOG.debug(\"Destination path: %(des_path)s\", {\u0027des_path\u0027: des_path})"},{"line_number":4506,"context_line":"        snapmirror_info \u003d des_vserver_client.get_snapmirrors("},{"line_number":4507,"context_line":"            source_path\u003dsource_path, dest_path\u003ddes_path)"},{"line_number":4508,"context_line":"        progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4509,"context_line":"                                             TOTAL_PROGRESS_HUNDRED.value)"},{"line_number":4510,"context_line":"        if snapmirror_info[0].get(\"relationship-status\") !\u003d \"idle\":"},{"line_number":4511,"context_line":"            progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4512,"context_line":"                                                 TOTAL_PROGRESS_ZERO.value)"},{"line_number":4513,"context_line":"            return progress_status"},{"line_number":4514,"context_line":"        LOG.debug(\"Progress status: %(progress_status)s\","},{"line_number":4515,"context_line":"                  {\u0027progress_status\u0027: progress_status})"}],"source_content_type":"text/x-python","patch_set":3,"id":"92a92579_12d9ccb4","line":4512,"range":{"start_line":4508,"start_character":0,"end_line":4512,"end_character":75},"in_reply_to":"23896f22_09cb7a82","updated":"2024-03-08 15:05:27.000000000","message":"I have added the logic to get the backup data transfer status. This is just for logging purpose as we can\u0027t get accurate data transfer % because data transfer incrementally. Main logic is once relationship move from transfer to idle state that mean transfer is completed.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":false,"context_lines":[{"line_number":4505,"context_line":"        LOG.debug(\"Destination path: %(des_path)s\", {\u0027des_path\u0027: des_path})"},{"line_number":4506,"context_line":"        snapmirror_info \u003d des_vserver_client.get_snapmirrors("},{"line_number":4507,"context_line":"            source_path\u003dsource_path, dest_path\u003ddes_path)"},{"line_number":4508,"context_line":"        progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4509,"context_line":"                                             TOTAL_PROGRESS_HUNDRED.value)"},{"line_number":4510,"context_line":"        if snapmirror_info[0].get(\"relationship-status\") !\u003d \"idle\":"},{"line_number":4511,"context_line":"            progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4512,"context_line":"                                                 TOTAL_PROGRESS_ZERO.value)"},{"line_number":4513,"context_line":"            return progress_status"},{"line_number":4514,"context_line":"        LOG.debug(\"Progress status: %(progress_status)s\","},{"line_number":4515,"context_line":"                  {\u0027progress_status\u0027: progress_status})"}],"source_content_type":"text/x-python","patch_set":3,"id":"77a5e43f_ee517d9c","line":4512,"range":{"start_line":4508,"start_character":0,"end_line":4512,"end_character":75},"in_reply_to":"92a92579_12d9ccb4","updated":"2024-03-08 21:11:35.000000000","message":"thank you; great improvement!","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":true,"context_lines":[{"line_number":4505,"context_line":"        LOG.debug(\"Destination path: %(des_path)s\", {\u0027des_path\u0027: des_path})"},{"line_number":4506,"context_line":"        snapmirror_info \u003d des_vserver_client.get_snapmirrors("},{"line_number":4507,"context_line":"            source_path\u003dsource_path, dest_path\u003ddes_path)"},{"line_number":4508,"context_line":"        progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4509,"context_line":"                                             TOTAL_PROGRESS_HUNDRED.value)"},{"line_number":4510,"context_line":"        if snapmirror_info[0].get(\"relationship-status\") !\u003d \"idle\":"},{"line_number":4511,"context_line":"            progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4512,"context_line":"                                                 TOTAL_PROGRESS_ZERO.value)"},{"line_number":4513,"context_line":"            return progress_status"},{"line_number":4514,"context_line":"        LOG.debug(\"Progress status: %(progress_status)s\","},{"line_number":4515,"context_line":"                  {\u0027progress_status\u0027: progress_status})"}],"source_content_type":"text/x-python","patch_set":3,"id":"f256a728_cb85d698","line":4512,"range":{"start_line":4508,"start_character":0,"end_line":4512,"end_character":75},"in_reply_to":"d0d269c9_6e7dc639","updated":"2024-02-26 17:02:47.000000000","message":"there is not parameter which say % data transferred. We have below attribute which say how many byte of data has transferred. To show the transfer % I need to write the one more logic to get this. let me know if it is require ..?\n\n\u0027relationship-progress\u0027: \u00275325926440\u0027, \u0027relationship-status\u0027: \u0027transferring\u0027,\n\n\nMy main logic is based on SnapMirror relationship status.If status is back to idle that mean data has transferred.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7fbc0b74c1f94ffff5f9784a5865dcdb39cf6594","unresolved":true,"context_lines":[{"line_number":4505,"context_line":"        LOG.debug(\"Destination path: %(des_path)s\", {\u0027des_path\u0027: des_path})"},{"line_number":4506,"context_line":"        snapmirror_info \u003d des_vserver_client.get_snapmirrors("},{"line_number":4507,"context_line":"            source_path\u003dsource_path, dest_path\u003ddes_path)"},{"line_number":4508,"context_line":"        progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4509,"context_line":"                                             TOTAL_PROGRESS_HUNDRED.value)"},{"line_number":4510,"context_line":"        if snapmirror_info[0].get(\"relationship-status\") !\u003d \"idle\":"},{"line_number":4511,"context_line":"            progress_status[\"total_progress\"] \u003d (Backup."},{"line_number":4512,"context_line":"                                                 TOTAL_PROGRESS_ZERO.value)"},{"line_number":4513,"context_line":"            return progress_status"},{"line_number":4514,"context_line":"        LOG.debug(\"Progress status: %(progress_status)s\","},{"line_number":4515,"context_line":"                  {\u0027progress_status\u0027: progress_status})"}],"source_content_type":"text/x-python","patch_set":3,"id":"0aed0053_e30afb62","line":4512,"range":{"start_line":4508,"start_character":0,"end_line":4512,"end_character":75},"in_reply_to":"f256a728_cb85d698","updated":"2024-02-29 14:09:26.000000000","message":"ideally we should do the calculation and determine the progress in percentage against simply jumping to 100. Migration and share backup data driver, does get progress based on transferred data only, so you need to replicate the same.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a65151c3fcc676df3b130ae3a0af6612d3333613","unresolved":true,"context_lines":[{"line_number":4713,"context_line":"        \"\"\"Get the destination vserver"},{"line_number":4714,"context_line":""},{"line_number":4715,"context_line":"        if vserver not provided we are creating the new one"},{"line_number":4716,"context_line":"        in case of dhhs_true"},{"line_number":4717,"context_line":"        \"\"\""},{"line_number":4718,"context_line":""},{"line_number":4719,"context_line":"        backup_type_config \u003d data_motion.get_backup_configuration("}],"source_content_type":"text/x-python","patch_set":3,"id":"36fa8714_2953e4bb","line":4716,"range":{"start_line":4716,"start_character":19,"end_line":4716,"end_character":28},"updated":"2024-02-22 21:29:20.000000000","message":"nit: dhss","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":false,"context_lines":[{"line_number":4713,"context_line":"        \"\"\"Get the destination vserver"},{"line_number":4714,"context_line":""},{"line_number":4715,"context_line":"        if vserver not provided we are creating the new one"},{"line_number":4716,"context_line":"        in case of dhhs_true"},{"line_number":4717,"context_line":"        \"\"\""},{"line_number":4718,"context_line":""},{"line_number":4719,"context_line":"        backup_type_config \u003d data_motion.get_backup_configuration("}],"source_content_type":"text/x-python","patch_set":3,"id":"0e690ec1_48ce9640","line":4716,"range":{"start_line":4716,"start_character":19,"end_line":4716,"end_character":28},"in_reply_to":"36fa8714_2953e4bb","updated":"2024-02-26 17:02:47.000000000","message":"done","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"89a1785e57e30b56f479ef6b7847ac092f93928a","unresolved":true,"context_lines":[{"line_number":4726,"context_line":"        des_vserver \u003d None"},{"line_number":4727,"context_line":"        if backup_type_config.get(Backup.DES_VSERVER.value):"},{"line_number":4728,"context_line":"            des_vserver \u003d backup_type_config.get(Backup.DES_VSERVER.value)"},{"line_number":4729,"context_line":"        elif not is_dhss:"},{"line_number":4730,"context_line":"            des_vserver \u003d backend_config.netapp_vserver"},{"line_number":4731,"context_line":"        elif is_dhss:"},{"line_number":4732,"context_line":"            vservers_list \u003d des_cluster_api_client.list_vservers()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7640269f_258147d9","line":4729,"updated":"2024-02-26 09:51:38.000000000","message":"SVM single and multi class are handling DHSS specific true/false logic. Can you move logic to appropriate sub class.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e6713f673630b22bf0aec7b46936e3141d1d3bc1","unresolved":false,"context_lines":[{"line_number":4726,"context_line":"        des_vserver \u003d None"},{"line_number":4727,"context_line":"        if backup_type_config.get(Backup.DES_VSERVER.value):"},{"line_number":4728,"context_line":"            des_vserver \u003d backup_type_config.get(Backup.DES_VSERVER.value)"},{"line_number":4729,"context_line":"        elif not is_dhss:"},{"line_number":4730,"context_line":"            des_vserver \u003d backend_config.netapp_vserver"},{"line_number":4731,"context_line":"        elif is_dhss:"},{"line_number":4732,"context_line":"            vservers_list \u003d des_cluster_api_client.list_vservers()"}],"source_content_type":"text/x-python","patch_set":3,"id":"50bc2fad_0892afe5","line":4729,"in_reply_to":"7640269f_258147d9","updated":"2024-02-28 16:48:19.000000000","message":"Removed the condition for dhss_true and move the require function to sub libs (lib_multi_svm and lib_single_svm).","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"89a1785e57e30b56f479ef6b7847ac092f93928a","unresolved":true,"context_lines":[{"line_number":4728,"context_line":"            des_vserver \u003d backup_type_config.get(Backup.DES_VSERVER.value)"},{"line_number":4729,"context_line":"        elif not is_dhss:"},{"line_number":4730,"context_line":"            des_vserver \u003d backend_config.netapp_vserver"},{"line_number":4731,"context_line":"        elif is_dhss:"},{"line_number":4732,"context_line":"            vservers_list \u003d des_cluster_api_client.list_vservers()"},{"line_number":4733,"context_line":"            vserver_prefix \u003d backend_config.netapp_vserver_name_template"},{"line_number":4734,"context_line":"            vserver_prefix \u003d vserver_prefix.replace(\u0027%s\u0027, \u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"b5da0170_6188ccc8","line":4731,"updated":"2024-02-26 09:51:38.000000000","message":"SVM single and multi class are handling DHSS specific true/false logic. Can you move logic to appropriate sub class.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e6713f673630b22bf0aec7b46936e3141d1d3bc1","unresolved":false,"context_lines":[{"line_number":4728,"context_line":"            des_vserver \u003d backup_type_config.get(Backup.DES_VSERVER.value)"},{"line_number":4729,"context_line":"        elif not is_dhss:"},{"line_number":4730,"context_line":"            des_vserver \u003d backend_config.netapp_vserver"},{"line_number":4731,"context_line":"        elif is_dhss:"},{"line_number":4732,"context_line":"            vservers_list \u003d des_cluster_api_client.list_vservers()"},{"line_number":4733,"context_line":"            vserver_prefix \u003d backend_config.netapp_vserver_name_template"},{"line_number":4734,"context_line":"            vserver_prefix \u003d vserver_prefix.replace(\u0027%s\u0027, \u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"4cf96d2f_0e785ace","line":4731,"in_reply_to":"b5da0170_6188ccc8","updated":"2024-02-28 16:48:19.000000000","message":"Remove the logic for dhss true/false and move the require method to sub libs (lib_single_svm and lib_multi_svm)","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c21dbeaeb5dcf4a89db56aa2f8c995f63265192b","unresolved":true,"context_lines":[{"line_number":4747,"context_line":"                    aggr_list \u003d aggr_matching_list"},{"line_number":4748,"context_line":"                des_vserver \u003d (f\"{Backup.DES_VSERVER_PREFIX.value}_\""},{"line_number":4749,"context_line":"                               f\"{share_instance[\u0027id\u0027]}\")"},{"line_number":4750,"context_line":"                des_cluster_api_client.__create_vserver(des_vserver, aggr_list)"},{"line_number":4751,"context_line":"        return des_vserver"},{"line_number":4752,"context_line":""},{"line_number":4753,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":3,"id":"0de5ff99_fd8b2544","line":4750,"updated":"2024-02-23 10:32:25.000000000","message":"this logic seems a bit weird to me; why not have a strict requirement to have a destination vserver configured in the backup type?\n\nI ask because we\u0027re duplicating the vserver creation code here; without LIFs or any other vserver configuration..","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"93d13ec41fb9fb71534b99740e9113f8435eea55","unresolved":true,"context_lines":[{"line_number":4747,"context_line":"                    aggr_list \u003d aggr_matching_list"},{"line_number":4748,"context_line":"                des_vserver \u003d (f\"{Backup.DES_VSERVER_PREFIX.value}_\""},{"line_number":4749,"context_line":"                               f\"{share_instance[\u0027id\u0027]}\")"},{"line_number":4750,"context_line":"                des_cluster_api_client.__create_vserver(des_vserver, aggr_list)"},{"line_number":4751,"context_line":"        return des_vserver"},{"line_number":4752,"context_line":""},{"line_number":4753,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":3,"id":"7336260c_3099b90e","line":4750,"in_reply_to":"0de5ff99_fd8b2544","updated":"2024-02-26 17:02:47.000000000","message":"- We are giving the flexibility to user if he is not providing any vserver then user will create the new vserver in case of dhss_true.\n- As vserver is only used for backup creation then no need to create the LIF and other things for this vsrever as backup volume will be only read only and we can\u0027t mount that volume to host.\n- Also, I have change the vserver creation logic, new logic will be \n1. For one source share server we will have one destination vserver. So all the share of that share server (vserver in ONTAP) will use single destination vserver in case of backup.\n2. If we backup a share which is belong to different share server in that case we will be creating new destination backup vserver.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5d3a19db2bfa6c14f14b3b104c0f274f8e640f61","unresolved":false,"context_lines":[{"line_number":4747,"context_line":"                    aggr_list \u003d aggr_matching_list"},{"line_number":4748,"context_line":"                des_vserver \u003d (f\"{Backup.DES_VSERVER_PREFIX.value}_\""},{"line_number":4749,"context_line":"                               f\"{share_instance[\u0027id\u0027]}\")"},{"line_number":4750,"context_line":"                des_cluster_api_client.__create_vserver(des_vserver, aggr_list)"},{"line_number":4751,"context_line":"        return des_vserver"},{"line_number":4752,"context_line":""},{"line_number":4753,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":3,"id":"ecd65401_959fa492","line":4750,"in_reply_to":"7336260c_3099b90e","updated":"2024-03-08 21:21:24.000000000","message":"Acknowledged; thanks.. if there\u0027s no netwrking/protocol related setup required on a backup vserver, i\u0027m okay with the way you\u0027re doing this","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"89a1785e57e30b56f479ef6b7847ac092f93928a","unresolved":true,"context_lines":[{"line_number":4884,"context_line":"                                                    des_vserver,"},{"line_number":4885,"context_line":"                                                    des_vol,"},{"line_number":4886,"context_line":"                                                    clear_checkpoint\u003dFalse)"},{"line_number":4887,"context_line":"        except netapp_api.NaApiError:"},{"line_number":4888,"context_line":"            pass"},{"line_number":4889,"context_line":"        try:"},{"line_number":4890,"context_line":"            des_vserver_client.delete_snapmirror_vol(src_vserver,"}],"source_content_type":"text/x-python","patch_set":3,"id":"d6926783_4dc0697d","line":4887,"updated":"2024-02-26 09:51:38.000000000","message":"Client code will handle API calls and Exceptions. Is it possible to move logic to Client.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e6713f673630b22bf0aec7b46936e3141d1d3bc1","unresolved":false,"context_lines":[{"line_number":4884,"context_line":"                                                    des_vserver,"},{"line_number":4885,"context_line":"                                                    des_vol,"},{"line_number":4886,"context_line":"                                                    clear_checkpoint\u003dFalse)"},{"line_number":4887,"context_line":"        except netapp_api.NaApiError:"},{"line_number":4888,"context_line":"            pass"},{"line_number":4889,"context_line":"        try:"},{"line_number":4890,"context_line":"            des_vserver_client.delete_snapmirror_vol(src_vserver,"}],"source_content_type":"text/x-python","patch_set":3,"id":"c81a179b_a16c393c","line":4887,"in_reply_to":"d6926783_4dc0697d","updated":"2024-02-28 16:48:19.000000000","message":"This is common workflow for dhss_true and dhss_false so it is better to keep this workflow in lib_base.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"89a1785e57e30b56f479ef6b7847ac092f93928a","unresolved":true,"context_lines":[{"line_number":4891,"context_line":"                                                     src_vol_name,"},{"line_number":4892,"context_line":"                                                     des_vserver,"},{"line_number":4893,"context_line":"                                                     des_vol)"},{"line_number":4894,"context_line":"        except netapp_api.NaApiError as e:"},{"line_number":4895,"context_line":"            with excutils.save_and_reraise_exception() as exc_context:"},{"line_number":4896,"context_line":"                if (e.code \u003d\u003d netapp_api.EOBJECTNOTFOUND or"},{"line_number":4897,"context_line":"                        e.code \u003d\u003d netapp_api.ESOURCE_IS_DIFFERENT or"}],"source_content_type":"text/x-python","patch_set":3,"id":"6cdf08e0_497f3338","line":4894,"updated":"2024-02-26 09:51:38.000000000","message":"SVM single and multi class are handling DHSS specific true/false logic. Can you move logic to appropriate sub class.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e6713f673630b22bf0aec7b46936e3141d1d3bc1","unresolved":false,"context_lines":[{"line_number":4891,"context_line":"                                                     src_vol_name,"},{"line_number":4892,"context_line":"                                                     des_vserver,"},{"line_number":4893,"context_line":"                                                     des_vol)"},{"line_number":4894,"context_line":"        except netapp_api.NaApiError as e:"},{"line_number":4895,"context_line":"            with excutils.save_and_reraise_exception() as exc_context:"},{"line_number":4896,"context_line":"                if (e.code \u003d\u003d netapp_api.EOBJECTNOTFOUND or"},{"line_number":4897,"context_line":"                        e.code \u003d\u003d netapp_api.ESOURCE_IS_DIFFERENT or"}],"source_content_type":"text/x-python","patch_set":3,"id":"93d5d577_f07b1083","line":4894,"in_reply_to":"6cdf08e0_497f3338","updated":"2024-02-28 16:48:19.000000000","message":"This is common workflow for dhss_true and dhss_false so it is better to keep this workflow in lib_base.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"89a1785e57e30b56f479ef6b7847ac092f93928a","unresolved":true,"context_lines":[{"line_number":4906,"context_line":"        try:"},{"line_number":4907,"context_line":"            policy_name \u003d f\"{Backup.SM_POLICY.value}_{share_instance[\u0027id\u0027]}\""},{"line_number":4908,"context_line":"            des_vserver_client.delete_snapmirror_policy(policy_name)"},{"line_number":4909,"context_line":"        except netapp_api.NaApiError:"},{"line_number":4910,"context_line":"            pass"},{"line_number":4911,"context_line":""},{"line_number":4912,"context_line":"        # Delete the vserver peering"}],"source_content_type":"text/x-python","patch_set":3,"id":"0d5b71dd_932f9801","line":4909,"updated":"2024-02-26 09:51:38.000000000","message":"SVM single and multi class are handling DHSS specific true/false logic. Can you move logic to appropriate sub class.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e6713f673630b22bf0aec7b46936e3141d1d3bc1","unresolved":false,"context_lines":[{"line_number":4906,"context_line":"        try:"},{"line_number":4907,"context_line":"            policy_name \u003d f\"{Backup.SM_POLICY.value}_{share_instance[\u0027id\u0027]}\""},{"line_number":4908,"context_line":"            des_vserver_client.delete_snapmirror_policy(policy_name)"},{"line_number":4909,"context_line":"        except netapp_api.NaApiError:"},{"line_number":4910,"context_line":"            pass"},{"line_number":4911,"context_line":""},{"line_number":4912,"context_line":"        # Delete the vserver peering"}],"source_content_type":"text/x-python","patch_set":3,"id":"e7a635eb_6499602c","line":4909,"in_reply_to":"0d5b71dd_932f9801","updated":"2024-02-28 16:48:19.000000000","message":"This is common workflow for dhss_true and dhss_false so it is better to keep this workflow in lib_base.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"89a1785e57e30b56f479ef6b7847ac092f93928a","unresolved":true,"context_lines":[{"line_number":4912,"context_line":"        # Delete the vserver peering"},{"line_number":4913,"context_line":"        try:"},{"line_number":4914,"context_line":"            src_vserver_client.delete_vserver_peer(src_vserver, des_vserver)"},{"line_number":4915,"context_line":"        except netapp_api.NaApiError:"},{"line_number":4916,"context_line":"            pass"},{"line_number":4917,"context_line":""},{"line_number":4918,"context_line":"        # Delete volume"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f95a1bc_0044962c","line":4915,"updated":"2024-02-26 09:51:38.000000000","message":"SVM single and multi class are handling DHSS specific true/false logic. Can you move logic to appropriate sub class.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e6713f673630b22bf0aec7b46936e3141d1d3bc1","unresolved":false,"context_lines":[{"line_number":4912,"context_line":"        # Delete the vserver peering"},{"line_number":4913,"context_line":"        try:"},{"line_number":4914,"context_line":"            src_vserver_client.delete_vserver_peer(src_vserver, des_vserver)"},{"line_number":4915,"context_line":"        except netapp_api.NaApiError:"},{"line_number":4916,"context_line":"            pass"},{"line_number":4917,"context_line":""},{"line_number":4918,"context_line":"        # Delete volume"}],"source_content_type":"text/x-python","patch_set":3,"id":"82fee527_4191193e","line":4915,"in_reply_to":"9f95a1bc_0044962c","updated":"2024-02-28 16:48:19.000000000","message":"This is common workflow for dhss_true and dhss_false so it is better to keep this workflow in lib_base.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"89a1785e57e30b56f479ef6b7847ac092f93928a","unresolved":true,"context_lines":[{"line_number":4920,"context_line":"            try:"},{"line_number":4921,"context_line":"                des_vserver_client.offline_volume(des_vol)"},{"line_number":4922,"context_line":"                des_vserver_client.delete_volume(des_vol)"},{"line_number":4923,"context_line":"            except netapp_api.NaApiError:"},{"line_number":4924,"context_line":"                pass"},{"line_number":4925,"context_line":""},{"line_number":4926,"context_line":"        # Delete Vserver"}],"source_content_type":"text/x-python","patch_set":3,"id":"5ce03f12_57f40eca","line":4923,"updated":"2024-02-26 09:51:38.000000000","message":"SVM single and multi class are handling DHSS specific true/false logic. Can you move logic to appropriate sub class.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e6713f673630b22bf0aec7b46936e3141d1d3bc1","unresolved":false,"context_lines":[{"line_number":4920,"context_line":"            try:"},{"line_number":4921,"context_line":"                des_vserver_client.offline_volume(des_vol)"},{"line_number":4922,"context_line":"                des_vserver_client.delete_volume(des_vol)"},{"line_number":4923,"context_line":"            except netapp_api.NaApiError:"},{"line_number":4924,"context_line":"                pass"},{"line_number":4925,"context_line":""},{"line_number":4926,"context_line":"        # Delete Vserver"}],"source_content_type":"text/x-python","patch_set":3,"id":"51170647_7fab970a","line":4923,"in_reply_to":"5ce03f12_57f40eca","updated":"2024-02-28 16:48:19.000000000","message":"This is common workflow for dhss_true and dhss_false so it is better to keep this workflow in lib_base.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"89a1785e57e30b56f479ef6b7847ac092f93928a","unresolved":true,"context_lines":[{"line_number":4934,"context_line":"                    backend_name)"},{"line_number":4935,"context_line":"                des_cluster_api_client.delete_vserver(des_vserver,"},{"line_number":4936,"context_line":"                                                      des_vserver_client)"},{"line_number":4937,"context_line":"            except netapp_api.NaApiError:"},{"line_number":4938,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"4a752615_c232c0b3","line":4937,"updated":"2024-02-26 09:51:38.000000000","message":"SVM single and multi class are handling DHSS specific true/false logic. Can you move logic to appropriate sub class.","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e6713f673630b22bf0aec7b46936e3141d1d3bc1","unresolved":false,"context_lines":[{"line_number":4934,"context_line":"                    backend_name)"},{"line_number":4935,"context_line":"                des_cluster_api_client.delete_vserver(des_vserver,"},{"line_number":4936,"context_line":"                                                      des_vserver_client)"},{"line_number":4937,"context_line":"            except netapp_api.NaApiError:"},{"line_number":4938,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"a66da996_92a25751","line":4937,"in_reply_to":"4a752615_c232c0b3","updated":"2024-02-28 16:48:19.000000000","message":"I moved this to lib_multi_svm.py file","commit_id":"92c05ecb62215d879967e82090815faea3d5b398"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7fbc0b74c1f94ffff5f9784a5865dcdb39cf6594","unresolved":true,"context_lines":[{"line_number":682,"context_line":"        \"\"\"Get/Create the vserver for backup \"\"\""},{"line_number":683,"context_line":"        raise NotImplementedError()"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":"    def _delete_vserver_backup(self, backup, des_vserver):"},{"line_number":686,"context_line":"        \"\"\"Delete the vserver for backup \"\"\""},{"line_number":687,"context_line":"        raise NotImplementedError()"},{"line_number":688,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"8449870b_b076a613","line":685,"updated":"2024-02-29 14:09:26.000000000","message":"_delete_bacup_vserver looks more appropriate name similar to get method","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4f570f3bdd2904c53bffe94b4a5a0bf143026adc","unresolved":false,"context_lines":[{"line_number":682,"context_line":"        \"\"\"Get/Create the vserver for backup \"\"\""},{"line_number":683,"context_line":"        raise NotImplementedError()"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":"    def _delete_vserver_backup(self, backup, des_vserver):"},{"line_number":686,"context_line":"        \"\"\"Delete the vserver for backup \"\"\""},{"line_number":687,"context_line":"        raise NotImplementedError()"},{"line_number":688,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9b3d3785_b5d2c2ef","line":685,"in_reply_to":"8449870b_b076a613","updated":"2024-03-06 16:29:23.000000000","message":"As suggested made the changes in all the places","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7fbc0b74c1f94ffff5f9784a5865dcdb39cf6594","unresolved":true,"context_lines":[{"line_number":4554,"context_line":"                  \" destination\", {\u0027snap_name\u0027: snap_name})"},{"line_number":4555,"context_line":"        # previously if volume was part of some relationship and if we delete"},{"line_number":4556,"context_line":"        # all the backup of share then last snapshot will be left on"},{"line_number":4557,"context_line":"        # destination volume, and we can delete that snapshot due to ONTAP"},{"line_number":4558,"context_line":"        # restriction. Next time if user create the first backup then we"},{"line_number":4559,"context_line":"        # update the destination volume with latest backup and delete the last"},{"line_number":4560,"context_line":"        # leftover snapshot"}],"source_content_type":"text/x-python","patch_set":5,"id":"d1a8b5da_c82a95c3","line":4557,"updated":"2024-02-29 14:09:26.000000000","message":"we can delete or we can not delete ??","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4f570f3bdd2904c53bffe94b4a5a0bf143026adc","unresolved":false,"context_lines":[{"line_number":4554,"context_line":"                  \" destination\", {\u0027snap_name\u0027: snap_name})"},{"line_number":4555,"context_line":"        # previously if volume was part of some relationship and if we delete"},{"line_number":4556,"context_line":"        # all the backup of share then last snapshot will be left on"},{"line_number":4557,"context_line":"        # destination volume, and we can delete that snapshot due to ONTAP"},{"line_number":4558,"context_line":"        # restriction. Next time if user create the first backup then we"},{"line_number":4559,"context_line":"        # update the destination volume with latest backup and delete the last"},{"line_number":4560,"context_line":"        # leftover snapshot"}],"source_content_type":"text/x-python","patch_set":5,"id":"8e50dd1b_008e3239","line":4557,"in_reply_to":"d1a8b5da_c82a95c3","updated":"2024-03-06 16:29:23.000000000","message":"We can not delete the last snapshot. Thanks for pointing this. I corrected the comment text.","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4411,"context_line":"                # Delete the vserver"},{"line_number":4412,"context_line":"                self._delete_backup_vserver(backup, des_vserver)"},{"line_number":4413,"context_line":""},{"line_number":4414,"context_line":"                msg \u003d _(\"Fail to create a volume for vserver %(des_vserver)s\")"},{"line_number":4415,"context_line":"                msg_args \u003d {\u0027des_vserver\u0027: des_vserver}"},{"line_number":4416,"context_line":"                raise exception.NetAppException(msg % msg_args)"},{"line_number":4417,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"fcae8496_7fe8d6ca","line":4414,"range":{"start_line":4414,"start_character":49,"end_line":4414,"end_character":52},"updated":"2024-03-07 14:20:01.000000000","message":"in","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4411,"context_line":"                # Delete the vserver"},{"line_number":4412,"context_line":"                self._delete_backup_vserver(backup, des_vserver)"},{"line_number":4413,"context_line":""},{"line_number":4414,"context_line":"                msg \u003d _(\"Fail to create a volume for vserver %(des_vserver)s\")"},{"line_number":4415,"context_line":"                msg_args \u003d {\u0027des_vserver\u0027: des_vserver}"},{"line_number":4416,"context_line":"                raise exception.NetAppException(msg % msg_args)"},{"line_number":4417,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"6563a5e4_e03f28bb","line":4414,"range":{"start_line":4414,"start_character":25,"end_line":4414,"end_character":29},"updated":"2024-03-07 14:20:01.000000000","message":"nit: Failed","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4411,"context_line":"                # Delete the vserver"},{"line_number":4412,"context_line":"                self._delete_backup_vserver(backup, des_vserver)"},{"line_number":4413,"context_line":""},{"line_number":4414,"context_line":"                msg \u003d _(\"Fail to create a volume for vserver %(des_vserver)s\")"},{"line_number":4415,"context_line":"                msg_args \u003d {\u0027des_vserver\u0027: des_vserver}"},{"line_number":4416,"context_line":"                raise exception.NetAppException(msg % msg_args)"},{"line_number":4417,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9e8411a6_f1728498","line":4414,"range":{"start_line":4414,"start_character":25,"end_line":4414,"end_character":29},"in_reply_to":"6563a5e4_e03f28bb","updated":"2024-03-08 15:05:27.000000000","message":"Done","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4411,"context_line":"                # Delete the vserver"},{"line_number":4412,"context_line":"                self._delete_backup_vserver(backup, des_vserver)"},{"line_number":4413,"context_line":""},{"line_number":4414,"context_line":"                msg \u003d _(\"Fail to create a volume for vserver %(des_vserver)s\")"},{"line_number":4415,"context_line":"                msg_args \u003d {\u0027des_vserver\u0027: des_vserver}"},{"line_number":4416,"context_line":"                raise exception.NetAppException(msg % msg_args)"},{"line_number":4417,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"30737f20_38680a83","line":4414,"range":{"start_line":4414,"start_character":49,"end_line":4414,"end_character":52},"in_reply_to":"fcae8496_7fe8d6ca","updated":"2024-03-08 15:05:27.000000000","message":"Done","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4425,"context_line":"                                                           src_vserver)"},{"line_number":4426,"context_line":"            des_snapshot_list \u003d (des_vserver_client."},{"line_number":4427,"context_line":"                                 list_volume_snapshots(des_volume))"},{"line_number":4428,"context_line":"            snap_list_with_backup \u003d [snap for snap in des_snapshot_list"},{"line_number":4429,"context_line":"                                     if snap.startswith(Backup.SM_LABEL.value)"},{"line_number":4430,"context_line":"                                     ]"},{"line_number":4431,"context_line":"            if len(snap_list_with_backup) \u003d\u003d 1:"}],"source_content_type":"text/x-python","patch_set":11,"id":"16edc8b2_05d3c410","line":4428,"range":{"start_line":4428,"start_character":36,"end_line":4428,"end_character":38},"updated":"2024-03-07 14:20:01.000000000","message":"nit: you could break the line here :)","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4425,"context_line":"                                                           src_vserver)"},{"line_number":4426,"context_line":"            des_snapshot_list \u003d (des_vserver_client."},{"line_number":4427,"context_line":"                                 list_volume_snapshots(des_volume))"},{"line_number":4428,"context_line":"            snap_list_with_backup \u003d [snap for snap in des_snapshot_list"},{"line_number":4429,"context_line":"                                     if snap.startswith(Backup.SM_LABEL.value)"},{"line_number":4430,"context_line":"                                     ]"},{"line_number":4431,"context_line":"            if len(snap_list_with_backup) \u003d\u003d 1:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ad32f4b2_c0eaf029","line":4428,"range":{"start_line":4428,"start_character":36,"end_line":4428,"end_character":38},"in_reply_to":"16edc8b2_05d3c410","updated":"2024-03-08 15:05:27.000000000","message":"Done","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4427,"context_line":"                                 list_volume_snapshots(des_volume))"},{"line_number":4428,"context_line":"            snap_list_with_backup \u003d [snap for snap in des_snapshot_list"},{"line_number":4429,"context_line":"                                     if snap.startswith(Backup.SM_LABEL.value)"},{"line_number":4430,"context_line":"                                     ]"},{"line_number":4431,"context_line":"            if len(snap_list_with_backup) \u003d\u003d 1:"},{"line_number":4432,"context_line":"                self.is_volume_backup_before \u003d True"},{"line_number":4433,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"73d2a8fa_800c027e","line":4430,"range":{"start_line":4430,"start_character":37,"end_line":4430,"end_character":38},"updated":"2024-03-07 14:20:01.000000000","message":"nit: this can be fitted in the line above","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4427,"context_line":"                                 list_volume_snapshots(des_volume))"},{"line_number":4428,"context_line":"            snap_list_with_backup \u003d [snap for snap in des_snapshot_list"},{"line_number":4429,"context_line":"                                     if snap.startswith(Backup.SM_LABEL.value)"},{"line_number":4430,"context_line":"                                     ]"},{"line_number":4431,"context_line":"            if len(snap_list_with_backup) \u003d\u003d 1:"},{"line_number":4432,"context_line":"                self.is_volume_backup_before \u003d True"},{"line_number":4433,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"a0b33f90_7033f2e4","line":4430,"range":{"start_line":4430,"start_character":37,"end_line":4430,"end_character":38},"in_reply_to":"73d2a8fa_800c027e","updated":"2024-03-08 15:05:27.000000000","message":"Changed the code as below to make it more readable. hope this will be fine. \n\nsnap_list_with_backup \u003d [\n   snap for snap in des_snapshot_list if snap.startswith(\n                    Backup.SM_LABEL.value)\n]","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4433,"context_line":""},{"line_number":4434,"context_line":"            policy_name \u003d f\"{Backup.SM_POLICY.value}_{share_instance[\u0027id\u0027]}\""},{"line_number":4435,"context_line":"            try:"},{"line_number":4436,"context_line":"                (des_vserver_client.create_snapmirror_policy("},{"line_number":4437,"context_line":"                    policy_name,"},{"line_number":4438,"context_line":"                    policy_type\u003d\"vault\","},{"line_number":4439,"context_line":"                    discard_network_info\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":11,"id":"dc88b9c6_970d39d2","line":4436,"range":{"start_line":4436,"start_character":16,"end_line":4436,"end_character":17},"updated":"2024-03-07 14:20:01.000000000","message":"this and its closing parenthesis is redundant, no?","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4433,"context_line":""},{"line_number":4434,"context_line":"            policy_name \u003d f\"{Backup.SM_POLICY.value}_{share_instance[\u0027id\u0027]}\""},{"line_number":4435,"context_line":"            try:"},{"line_number":4436,"context_line":"                (des_vserver_client.create_snapmirror_policy("},{"line_number":4437,"context_line":"                    policy_name,"},{"line_number":4438,"context_line":"                    policy_type\u003d\"vault\","},{"line_number":4439,"context_line":"                    discard_network_info\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9bcdcc4b_949e7df3","line":4436,"range":{"start_line":4436,"start_character":16,"end_line":4436,"end_character":17},"in_reply_to":"dc88b9c6_970d39d2","updated":"2024-03-08 15:05:27.000000000","message":"Thanks for pointing this. I removed that.","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4489,"context_line":"                                                 src_vol,"},{"line_number":4490,"context_line":"                                                 des_vserver,"},{"line_number":4491,"context_line":"                                                 des_volume)"},{"line_number":4492,"context_line":"        LOG.debug(\"SnapMirror relationship updated successfully\")"},{"line_number":4493,"context_line":""},{"line_number":4494,"context_line":"    @na_utils.trace"},{"line_number":4495,"context_line":"    def create_backup_continue(self, context, share_instance, backup,"}],"source_content_type":"text/x-python","patch_set":11,"id":"e9251e14_fd36047c","line":4492,"range":{"start_line":4492,"start_character":62,"end_line":4492,"end_character":63},"updated":"2024-03-07 14:20:01.000000000","message":"please add a period","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4489,"context_line":"                                                 src_vol,"},{"line_number":4490,"context_line":"                                                 des_vserver,"},{"line_number":4491,"context_line":"                                                 des_volume)"},{"line_number":4492,"context_line":"        LOG.debug(\"SnapMirror relationship updated successfully\")"},{"line_number":4493,"context_line":""},{"line_number":4494,"context_line":"    @na_utils.trace"},{"line_number":4495,"context_line":"    def create_backup_continue(self, context, share_instance, backup,"}],"source_content_type":"text/x-python","patch_set":11,"id":"a1c00710_3ad7150c","line":4492,"range":{"start_line":4492,"start_character":62,"end_line":4492,"end_character":63},"in_reply_to":"e9251e14_fd36047c","updated":"2024-03-08 15:05:27.000000000","message":"Done","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4502,"context_line":"        src_vol_name \u003d self._get_backend_share_name(share_instance[\u0027id\u0027])"},{"line_number":4503,"context_line":"        backend_name \u003d self._get_backend(backup)"},{"line_number":4504,"context_line":"        if backend_name is None:"},{"line_number":4505,"context_line":"            msg \u003d _(\"There is some issue while getting the backup \""},{"line_number":4506,"context_line":"                    \"configuration. Make sure correct backup type is \""},{"line_number":4507,"context_line":"                    \"provided while creating the backup.\")"},{"line_number":4508,"context_line":"            raise exception.BackupException(msg)"},{"line_number":4509,"context_line":"        source_path \u003d f\"{src_vserver}:{src_vol_name}\""},{"line_number":4510,"context_line":"        LOG.debug(\"SnapMirror source path: %s\", source_path)"}],"source_content_type":"text/x-python","patch_set":11,"id":"f8d50925_509b4759","line":4507,"range":{"start_line":4505,"start_character":20,"end_line":4507,"end_character":57},"updated":"2024-03-07 14:20:01.000000000","message":"I think we can rephrase this to something that actually reflects the backend name being unknown in this case, but would we actually end up in this situation?","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4503,"context_line":"        backend_name \u003d self._get_backend(backup)"},{"line_number":4504,"context_line":"        if backend_name is None:"},{"line_number":4505,"context_line":"            msg \u003d _(\"There is some issue while getting the backup \""},{"line_number":4506,"context_line":"                    \"configuration. Make sure correct backup type is \""},{"line_number":4507,"context_line":"                    \"provided while creating the backup.\")"},{"line_number":4508,"context_line":"            raise exception.BackupException(msg)"},{"line_number":4509,"context_line":"        source_path \u003d f\"{src_vserver}:{src_vol_name}\""},{"line_number":4510,"context_line":"        LOG.debug(\"SnapMirror source path: %s\", source_path)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ca5fbf9e_5f4643ca","line":4507,"range":{"start_line":4506,"start_character":54,"end_line":4507,"end_character":29},"updated":"2024-03-07 14:20:01.000000000","message":"haven\u0027t we done this validation when creating already?","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4503,"context_line":"        backend_name \u003d self._get_backend(backup)"},{"line_number":4504,"context_line":"        if backend_name is None:"},{"line_number":4505,"context_line":"            msg \u003d _(\"There is some issue while getting the backup \""},{"line_number":4506,"context_line":"                    \"configuration. Make sure correct backup type is \""},{"line_number":4507,"context_line":"                    \"provided while creating the backup.\")"},{"line_number":4508,"context_line":"            raise exception.BackupException(msg)"},{"line_number":4509,"context_line":"        source_path \u003d f\"{src_vserver}:{src_vol_name}\""},{"line_number":4510,"context_line":"        LOG.debug(\"SnapMirror source path: %s\", source_path)"}],"source_content_type":"text/x-python","patch_set":11,"id":"0bfe0e09_859560d9","line":4507,"range":{"start_line":4506,"start_character":54,"end_line":4507,"end_character":29},"in_reply_to":"ca5fbf9e_5f4643ca","updated":"2024-03-08 15:05:27.000000000","message":"Yes, we are doing this validation while creating the backup. Backup create will failed while user has given wrong backend/backup_type details in configuration file. We are throwing the exception in data_motion.get_backend_configuration method and it will failed the backup creation. The exception in get_backend_configuration method also provide proper details, why backup has failed due to config issue.\n\nAs we are doing this validation in create_backup then no need to add this. I am removing this validation from here.","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4502,"context_line":"        src_vol_name \u003d self._get_backend_share_name(share_instance[\u0027id\u0027])"},{"line_number":4503,"context_line":"        backend_name \u003d self._get_backend(backup)"},{"line_number":4504,"context_line":"        if backend_name is None:"},{"line_number":4505,"context_line":"            msg \u003d _(\"There is some issue while getting the backup \""},{"line_number":4506,"context_line":"                    \"configuration. Make sure correct backup type is \""},{"line_number":4507,"context_line":"                    \"provided while creating the backup.\")"},{"line_number":4508,"context_line":"            raise exception.BackupException(msg)"},{"line_number":4509,"context_line":"        source_path \u003d f\"{src_vserver}:{src_vol_name}\""},{"line_number":4510,"context_line":"        LOG.debug(\"SnapMirror source path: %s\", source_path)"}],"source_content_type":"text/x-python","patch_set":11,"id":"0193afb2_00742863","line":4507,"range":{"start_line":4505,"start_character":20,"end_line":4507,"end_character":57},"in_reply_to":"f8d50925_509b4759","updated":"2024-03-08 15:05:27.000000000","message":"Removed this code as validation is already done in create_backup method.","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4561,"context_line":"        # update the destination volume with latest backup and delete the last"},{"line_number":4562,"context_line":"        # leftover snapshot"},{"line_number":4563,"context_line":"        if (backup_config.get(Backup.DES_VOLUME.value) and"},{"line_number":4564,"context_line":"                progress_status[\"total_progress\"] \u003d\u003d"},{"line_number":4565,"context_line":"                Backup.TOTAL_PROGRESS_HUNDRED.value):"},{"line_number":4566,"context_line":"            snap_list_with_backup \u003d self._get_des_volume_backup_snapshots("},{"line_number":4567,"context_line":"                des_vserver_client,"},{"line_number":4568,"context_line":"                des_vol, share_instance[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"b50116fa_4ea23db8","line":4565,"range":{"start_line":4564,"start_character":16,"end_line":4565,"end_character":51},"updated":"2024-03-07 14:20:01.000000000","message":"one minor suggestion: can we assign this to a variable and make the comparison a bit more readable?\ni.e.:\n```\nbackup_is_complete \u003d (\nprogress_status[\"total_progress\"] \u003d\u003d Backup.TOTAL_PROGRESS_HUNDRED.value)\n\nif (backup_config.get(Backup.DES_VOLUME.value) and backup_is_complete):\n```","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4561,"context_line":"        # update the destination volume with latest backup and delete the last"},{"line_number":4562,"context_line":"        # leftover snapshot"},{"line_number":4563,"context_line":"        if (backup_config.get(Backup.DES_VOLUME.value) and"},{"line_number":4564,"context_line":"                progress_status[\"total_progress\"] \u003d\u003d"},{"line_number":4565,"context_line":"                Backup.TOTAL_PROGRESS_HUNDRED.value):"},{"line_number":4566,"context_line":"            snap_list_with_backup \u003d self._get_des_volume_backup_snapshots("},{"line_number":4567,"context_line":"                des_vserver_client,"},{"line_number":4568,"context_line":"                des_vol, share_instance[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5ca7e468_546dc296","line":4565,"range":{"start_line":4564,"start_character":16,"end_line":4565,"end_character":51},"in_reply_to":"b50116fa_4ea23db8","updated":"2024-03-08 15:05:27.000000000","message":"Yes, this looks better. I changed it.","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":4619,"context_line":"        source_path \u003d f\"{src_vserver}:{src_vol_name}\""},{"line_number":4620,"context_line":"        snapmirror_info \u003d src_vserver_client.get_snapmirrors("},{"line_number":4621,"context_line":"            dest_path\u003dsource_path)"},{"line_number":4622,"context_line":"        if snapmirror_info:"},{"line_number":4623,"context_line":"            progress_status \u003d {"},{"line_number":4624,"context_line":"                \"total_progress\": Backup.TOTAL_PROGRESS_ZERO.value"},{"line_number":4625,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":11,"id":"f656018f_a0bf5d5f","line":4622,"range":{"start_line":4622,"start_character":11,"end_line":4622,"end_character":27},"updated":"2024-03-07 14:20:01.000000000","message":"might be a dumb question, but shouldn\u0027t the snapmirror always exist?","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":4619,"context_line":"        source_path \u003d f\"{src_vserver}:{src_vol_name}\""},{"line_number":4620,"context_line":"        snapmirror_info \u003d src_vserver_client.get_snapmirrors("},{"line_number":4621,"context_line":"            dest_path\u003dsource_path)"},{"line_number":4622,"context_line":"        if snapmirror_info:"},{"line_number":4623,"context_line":"            progress_status \u003d {"},{"line_number":4624,"context_line":"                \"total_progress\": Backup.TOTAL_PROGRESS_ZERO.value"},{"line_number":4625,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":11,"id":"e7c6426b_803b542d","line":4622,"range":{"start_line":4622,"start_character":11,"end_line":4622,"end_character":27},"in_reply_to":"f656018f_a0bf5d5f","updated":"2024-03-08 15:05:27.000000000","message":"Yes, once user create the first backup for share, snapmirror will be created and will be there until user will be deleting last backup of the share. SnapMirror is the replication engine to transfer the snapshot from source to remote destination.","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4334,"context_line":""},{"line_number":4335,"context_line":"        # Check if valid backup type is provided"},{"line_number":4336,"context_line":"        if not backup_type:"},{"line_number":4337,"context_line":"            raise exception.BackupException(\"Driver needs a valid backup name\""},{"line_number":4338,"context_line":"                                            \" from command line or API.\")"},{"line_number":4339,"context_line":""},{"line_number":4340,"context_line":"        # check the backend is related to NetApp"}],"source_content_type":"text/x-python","patch_set":14,"id":"68935737_8eadc08f","line":4337,"range":{"start_line":4337,"start_character":73,"end_line":4337,"end_character":77},"updated":"2024-03-08 21:11:35.000000000","message":"should this be \"backup type\"?","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4334,"context_line":""},{"line_number":4335,"context_line":"        # Check if valid backup type is provided"},{"line_number":4336,"context_line":"        if not backup_type:"},{"line_number":4337,"context_line":"            raise exception.BackupException(\"Driver needs a valid backup name\""},{"line_number":4338,"context_line":"                                            \" from command line or API.\")"},{"line_number":4339,"context_line":""},{"line_number":4340,"context_line":"        # check the backend is related to NetApp"}],"source_content_type":"text/x-python","patch_set":14,"id":"771f69b6_bb230fe7","line":4337,"range":{"start_line":4337,"start_character":73,"end_line":4337,"end_character":77},"in_reply_to":"68935737_8eadc08f","updated":"2024-03-12 04:46:06.000000000","message":"Changed it to backup type","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4354,"context_line":"                    \"enabled_backup_types\")):"},{"line_number":4355,"context_line":"            err_msg \u003d _(\"Backup type \u0027%(backup_type)s\u0027 is not compatible with\""},{"line_number":4356,"context_line":"                        \" backend \u0027%(backend_name)s\u0027.\")"},{"line_number":4357,"context_line":"            msg_args \u003d {\u0027backup_type\u0027: backup_type,"},{"line_number":4358,"context_line":"                        \u0027backend_name\u0027: backend_name,"},{"line_number":4359,"context_line":"                        }"},{"line_number":4360,"context_line":"            raise exception.BackupException(err_msg % msg_args)"},{"line_number":4361,"context_line":""},{"line_number":4362,"context_line":"        # Verify that both source and destination cluster are peered"}],"source_content_type":"text/x-python","patch_set":14,"id":"1b14c34a_e1a48165","line":4359,"range":{"start_line":4357,"start_character":23,"end_line":4359,"end_character":25},"updated":"2024-03-08 21:11:35.000000000","message":"nit: please use proper dict formatting\n\nhttps://docs.openstack.org/hacking/latest/user/hacking.html#dictionaries-lists","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4354,"context_line":"                    \"enabled_backup_types\")):"},{"line_number":4355,"context_line":"            err_msg \u003d _(\"Backup type \u0027%(backup_type)s\u0027 is not compatible with\""},{"line_number":4356,"context_line":"                        \" backend \u0027%(backend_name)s\u0027.\")"},{"line_number":4357,"context_line":"            msg_args \u003d {\u0027backup_type\u0027: backup_type,"},{"line_number":4358,"context_line":"                        \u0027backend_name\u0027: backend_name,"},{"line_number":4359,"context_line":"                        }"},{"line_number":4360,"context_line":"            raise exception.BackupException(err_msg % msg_args)"},{"line_number":4361,"context_line":""},{"line_number":4362,"context_line":"        # Verify that both source and destination cluster are peered"}],"source_content_type":"text/x-python","patch_set":14,"id":"1cecc63a_d5b3338c","line":4359,"range":{"start_line":4357,"start_character":23,"end_line":4359,"end_character":25},"in_reply_to":"1b14c34a_e1a48165","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4370,"context_line":"                err_msg \u003d _(\"Source cluster \u0027%(src_cluster)s\u0027 and destination\""},{"line_number":4371,"context_line":"                            \" cluster \u0027%(des_cluster)s\u0027 are not peered\""},{"line_number":4372,"context_line":"                            \" backend %(backend_name)s.\")"},{"line_number":4373,"context_line":"                msg_args \u003d {\u0027src_cluster\u0027: src_cluster,"},{"line_number":4374,"context_line":"                            \u0027des_cluster\u0027: des_cluster,"},{"line_number":4375,"context_line":"                            \u0027backend_name\u0027: backend_name"},{"line_number":4376,"context_line":"                            }"},{"line_number":4377,"context_line":"                raise exception.NetAppException(err_msg % msg_args)"},{"line_number":4378,"context_line":""},{"line_number":4379,"context_line":"        # Get the destination vserver and volume for relationship"}],"source_content_type":"text/x-python","patch_set":14,"id":"c930fe8a_aef9b91f","line":4376,"range":{"start_line":4373,"start_character":27,"end_line":4376,"end_character":29},"updated":"2024-03-08 21:11:35.000000000","message":"https://docs.openstack.org/hacking/latest/user/hacking.html#dictionaries-lists","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4370,"context_line":"                err_msg \u003d _(\"Source cluster \u0027%(src_cluster)s\u0027 and destination\""},{"line_number":4371,"context_line":"                            \" cluster \u0027%(des_cluster)s\u0027 are not peered\""},{"line_number":4372,"context_line":"                            \" backend %(backend_name)s.\")"},{"line_number":4373,"context_line":"                msg_args \u003d {\u0027src_cluster\u0027: src_cluster,"},{"line_number":4374,"context_line":"                            \u0027des_cluster\u0027: des_cluster,"},{"line_number":4375,"context_line":"                            \u0027backend_name\u0027: backend_name"},{"line_number":4376,"context_line":"                            }"},{"line_number":4377,"context_line":"                raise exception.NetAppException(err_msg % msg_args)"},{"line_number":4378,"context_line":""},{"line_number":4379,"context_line":"        # Get the destination vserver and volume for relationship"}],"source_content_type":"text/x-python","patch_set":14,"id":"f15a8520_f4563e33","line":4376,"range":{"start_line":4373,"start_character":27,"end_line":4376,"end_character":29},"in_reply_to":"c930fe8a_aef9b91f","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4381,"context_line":"        snapmirror_info \u003d src_vserver_client.get_snapmirror_destinations("},{"line_number":4382,"context_line":"            source_path\u003dsource_path)"},{"line_number":4383,"context_line":"        if len(snapmirror_info) \u003e 1:"},{"line_number":4384,"context_line":"            err_msg \u003d _(\"Source path %(path)s has more than one relationships\")"},{"line_number":4385,"context_line":"            msg_args \u003d {\u0027path\u0027: source_path}"},{"line_number":4386,"context_line":"            raise exception.NetAppException(err_msg % msg_args)"},{"line_number":4387,"context_line":"        elif len(snapmirror_info) \u003d\u003d 1:"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a38b0c9_460fa55d","line":4384,"range":{"start_line":4384,"start_character":64,"end_line":4384,"end_character":77},"updated":"2024-03-08 21:11:35.000000000","message":"perhaps add a line about how an administrator should rectify this?\n\nCan they delete all the duplicate relationships using some command and retry?","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4381,"context_line":"        snapmirror_info \u003d src_vserver_client.get_snapmirror_destinations("},{"line_number":4382,"context_line":"            source_path\u003dsource_path)"},{"line_number":4383,"context_line":"        if len(snapmirror_info) \u003e 1:"},{"line_number":4384,"context_line":"            err_msg \u003d _(\"Source path %(path)s has more than one relationships\")"},{"line_number":4385,"context_line":"            msg_args \u003d {\u0027path\u0027: source_path}"},{"line_number":4386,"context_line":"            raise exception.NetAppException(err_msg % msg_args)"},{"line_number":4387,"context_line":"        elif len(snapmirror_info) \u003d\u003d 1:"}],"source_content_type":"text/x-python","patch_set":14,"id":"78aec952_0d33b99a","line":4384,"range":{"start_line":4384,"start_character":64,"end_line":4384,"end_character":77},"in_reply_to":"7a38b0c9_460fa55d","updated":"2024-03-12 04:46:06.000000000","message":"Added more details","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4464,"context_line":"                    timeout\u003dbackup_config.netapp_snapmirror_job_timeout"},{"line_number":4465,"context_line":"                )"},{"line_number":4466,"context_line":"            except netapp_api.NaApiError:"},{"line_number":4467,"context_line":"                self._resource_cleanup_for_backup(backup, share_instance,"},{"line_number":4468,"context_line":"                                                  des_vserver, des_volume,"},{"line_number":4469,"context_line":"                                                  share_server\u003dshare_server,"},{"line_number":4470,"context_line":"                                                  )"},{"line_number":4471,"context_line":"                msg \u003d _(\"SnapVault relationship creation or initialization\""},{"line_number":4472,"context_line":"                        \" failed between source %(source_vserver)s:\""},{"line_number":4473,"context_line":"                        \"%(source_volume)s and destination %(des_vserver)s:\""}],"source_content_type":"text/x-python","patch_set":14,"id":"1788c06c_71521493","line":4470,"range":{"start_line":4467,"start_character":0,"end_line":4470,"end_character":51},"updated":"2024-03-08 21:11:35.000000000","message":"nit:\n\nwhen formatting long lines into multiple lines, it\u0027d be nice to stick to one consistent formatting style:\n\n\n```\n\n                self._resource_cleanup_for_backup(backup, share_instance,\n                                                  des_vserver, des_volume,\n                                                  share_server\u003dshare_server)\n```         \n\nor:\n\n\n```\n                self._resource_cleanup_for_backup(\n                    backup, \n                    share_instance,\n                    des_vserver, \n                    des_volume,\n                    share_server\u003dshare_server,\n                )\n```","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4464,"context_line":"                    timeout\u003dbackup_config.netapp_snapmirror_job_timeout"},{"line_number":4465,"context_line":"                )"},{"line_number":4466,"context_line":"            except netapp_api.NaApiError:"},{"line_number":4467,"context_line":"                self._resource_cleanup_for_backup(backup, share_instance,"},{"line_number":4468,"context_line":"                                                  des_vserver, des_volume,"},{"line_number":4469,"context_line":"                                                  share_server\u003dshare_server,"},{"line_number":4470,"context_line":"                                                  )"},{"line_number":4471,"context_line":"                msg \u003d _(\"SnapVault relationship creation or initialization\""},{"line_number":4472,"context_line":"                        \" failed between source %(source_vserver)s:\""},{"line_number":4473,"context_line":"                        \"%(source_volume)s and destination %(des_vserver)s:\""}],"source_content_type":"text/x-python","patch_set":14,"id":"1992a70d_d9bcc11d","line":4470,"range":{"start_line":4467,"start_character":0,"end_line":4470,"end_character":51},"in_reply_to":"1788c06c_71521493","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4513,"context_line":"            source_path\u003dsource_path)"},{"line_number":4514,"context_line":"        if not snapmirror_info:"},{"line_number":4515,"context_line":"            LOG.warning(\"There is no SnapMirror relationship available for\""},{"line_number":4516,"context_line":"                        \" source path %s:\", source_path)"},{"line_number":4517,"context_line":"            return progress_status"},{"line_number":4518,"context_line":""},{"line_number":4519,"context_line":"        des_vserver, des_vol \u003d self._get_destination_vserver_and_vol("}],"source_content_type":"text/x-python","patch_set":14,"id":"0caca128_087aa9f9","line":4516,"range":{"start_line":4516,"start_character":33,"end_line":4516,"end_character":37},"updated":"2024-03-08 21:11:35.000000000","message":"add \"yet: %s. Will check again during the next periodic interval.\"\n\nso that someone reading the logs will see that this isn\u0027t an actionable warning..","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4513,"context_line":"            source_path\u003dsource_path)"},{"line_number":4514,"context_line":"        if not snapmirror_info:"},{"line_number":4515,"context_line":"            LOG.warning(\"There is no SnapMirror relationship available for\""},{"line_number":4516,"context_line":"                        \" source path %s:\", source_path)"},{"line_number":4517,"context_line":"            return progress_status"},{"line_number":4518,"context_line":""},{"line_number":4519,"context_line":"        des_vserver, des_vol \u003d self._get_destination_vserver_and_vol("}],"source_content_type":"text/x-python","patch_set":14,"id":"51ead037_274fc35d","line":4516,"range":{"start_line":4516,"start_character":33,"end_line":4516,"end_character":37},"in_reply_to":"0caca128_087aa9f9","updated":"2024-03-12 04:46:06.000000000","message":"yes right. Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4537,"context_line":"                \u0027des_path\u0027: des_path,"},{"line_number":4538,"context_line":"            }"},{"line_number":4539,"context_line":"            msg \u003d _(\"There is no SnapMirror relationship available for\""},{"line_number":4540,"context_line":"                    \" source path \u0027%(source_path)s\u0027 and destination path\""},{"line_number":4541,"context_line":"                    \" \u0027%(des_path)s\u0027.\") % msg_args"},{"line_number":4542,"context_line":"            LOG.warning(msg, msg_args)"},{"line_number":4543,"context_line":"            return progress_status"}],"source_content_type":"text/x-python","patch_set":14,"id":"0676878d_dcf2f25e","line":4540,"range":{"start_line":4540,"start_character":72,"end_line":4540,"end_character":73},"updated":"2024-03-08 21:11:35.000000000","message":"same comment as above","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4537,"context_line":"                \u0027des_path\u0027: des_path,"},{"line_number":4538,"context_line":"            }"},{"line_number":4539,"context_line":"            msg \u003d _(\"There is no SnapMirror relationship available for\""},{"line_number":4540,"context_line":"                    \" source path \u0027%(source_path)s\u0027 and destination path\""},{"line_number":4541,"context_line":"                    \" \u0027%(des_path)s\u0027.\") % msg_args"},{"line_number":4542,"context_line":"            LOG.warning(msg, msg_args)"},{"line_number":4543,"context_line":"            return progress_status"}],"source_content_type":"text/x-python","patch_set":14,"id":"9125a2f4_a0ed57a1","line":4540,"range":{"start_line":4540,"start_character":72,"end_line":4540,"end_character":73},"in_reply_to":"0676878d_dcf2f25e","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4645,"context_line":"                    Backup.TOTAL_PROGRESS_HUNDRED.value)"},{"line_number":4646,"context_line":"                return progress_status"},{"line_number":4647,"context_line":"        if not progress_status:"},{"line_number":4648,"context_line":"            err_msg \u003d _(\"Fail to restore the snapshot %s.\") % snap_name"},{"line_number":4649,"context_line":"            raise exception.NetAppException(err_msg)"},{"line_number":4650,"context_line":""},{"line_number":4651,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":14,"id":"f20ac43e_1ca0eeb5","line":4648,"range":{"start_line":4648,"start_character":25,"end_line":4648,"end_character":29},"updated":"2024-03-08 21:11:35.000000000","message":"Failed","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4645,"context_line":"                    Backup.TOTAL_PROGRESS_HUNDRED.value)"},{"line_number":4646,"context_line":"                return progress_status"},{"line_number":4647,"context_line":"        if not progress_status:"},{"line_number":4648,"context_line":"            err_msg \u003d _(\"Fail to restore the snapshot %s.\") % snap_name"},{"line_number":4649,"context_line":"            raise exception.NetAppException(err_msg)"},{"line_number":4650,"context_line":""},{"line_number":4651,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":14,"id":"4498a3a1_9a32e852","line":4648,"range":{"start_line":4648,"start_character":25,"end_line":4648,"end_character":29},"in_reply_to":"f20ac43e_1ca0eeb5","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4657,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver("},{"line_number":4658,"context_line":"                share_server\u003dshare_server)"},{"line_number":4659,"context_line":"        except exception.VserverNotFound:"},{"line_number":4660,"context_line":"            LOG.debug(\"Vserver not found\")"},{"line_number":4661,"context_line":"            return"},{"line_number":4662,"context_line":"        src_vol_name \u003d self._get_backend_share_name(share_instance[\u0027id\u0027])"},{"line_number":4663,"context_line":"        backend_name \u003d self._get_backend(backup)"}],"source_content_type":"text/x-python","patch_set":14,"id":"85a1318f_1231ec4a","line":4660,"range":{"start_line":4660,"start_character":16,"end_line":4660,"end_character":21},"updated":"2024-03-08 21:11:35.000000000","message":"\"warning\" is probably a better log level for this?","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4657,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver("},{"line_number":4658,"context_line":"                share_server\u003dshare_server)"},{"line_number":4659,"context_line":"        except exception.VserverNotFound:"},{"line_number":4660,"context_line":"            LOG.debug(\"Vserver not found\")"},{"line_number":4661,"context_line":"            return"},{"line_number":4662,"context_line":"        src_vol_name \u003d self._get_backend_share_name(share_instance[\u0027id\u0027])"},{"line_number":4663,"context_line":"        backend_name \u003d self._get_backend(backup)"}],"source_content_type":"text/x-python","patch_set":14,"id":"e5894e41_a9a31a71","line":4660,"range":{"start_line":4660,"start_character":40,"end_line":4660,"end_character":41},"updated":"2024-03-08 21:11:35.000000000","message":"Vserver associated with backup %s was not found. Not proceeding to look for backup.","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4657,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver("},{"line_number":4658,"context_line":"                share_server\u003dshare_server)"},{"line_number":4659,"context_line":"        except exception.VserverNotFound:"},{"line_number":4660,"context_line":"            LOG.debug(\"Vserver not found\")"},{"line_number":4661,"context_line":"            return"},{"line_number":4662,"context_line":"        src_vol_name \u003d self._get_backend_share_name(share_instance[\u0027id\u0027])"},{"line_number":4663,"context_line":"        backend_name \u003d self._get_backend(backup)"}],"source_content_type":"text/x-python","patch_set":14,"id":"015e4f15_52a1c4fb","line":4660,"range":{"start_line":4660,"start_character":16,"end_line":4660,"end_character":21},"in_reply_to":"85a1318f_1231ec4a","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4657,"context_line":"            src_vserver, src_vserver_client \u003d self._get_vserver("},{"line_number":4658,"context_line":"                share_server\u003dshare_server)"},{"line_number":4659,"context_line":"        except exception.VserverNotFound:"},{"line_number":4660,"context_line":"            LOG.debug(\"Vserver not found\")"},{"line_number":4661,"context_line":"            return"},{"line_number":4662,"context_line":"        src_vol_name \u003d self._get_backend_share_name(share_instance[\u0027id\u0027])"},{"line_number":4663,"context_line":"        backend_name \u003d self._get_backend(backup)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9610249f_77010e1e","line":4660,"range":{"start_line":4660,"start_character":40,"end_line":4660,"end_character":41},"in_reply_to":"e5894e41_a9a31a71","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4700,"context_line":"            self._resource_cleanup_for_backup(backup, share_instance,"},{"line_number":4701,"context_line":"                                              des_vserver, des_vol,"},{"line_number":4702,"context_line":"                                              share_server\u003dshare_server,"},{"line_number":4703,"context_line":"                                              )"},{"line_number":4704,"context_line":"        elif len(list_snapshots) \u003e 1:"},{"line_number":4705,"context_line":"            try:"},{"line_number":4706,"context_line":"                des_vserver_client.delete_snapshot(des_vol, snap_name, True)"}],"source_content_type":"text/x-python","patch_set":14,"id":"1c2e3212_4e1864b5","line":4703,"range":{"start_line":4703,"start_character":46,"end_line":4703,"end_character":47},"updated":"2024-03-08 21:11:35.000000000","message":"nit: see comment about how to format a method call spreading over multiple lines","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4700,"context_line":"            self._resource_cleanup_for_backup(backup, share_instance,"},{"line_number":4701,"context_line":"                                              des_vserver, des_vol,"},{"line_number":4702,"context_line":"                                              share_server\u003dshare_server,"},{"line_number":4703,"context_line":"                                              )"},{"line_number":4704,"context_line":"        elif len(list_snapshots) \u003e 1:"},{"line_number":4705,"context_line":"            try:"},{"line_number":4706,"context_line":"                des_vserver_client.delete_snapshot(des_vol, snap_name, True)"}],"source_content_type":"text/x-python","patch_set":14,"id":"879520c9_ba202842","line":4703,"range":{"start_line":4703,"start_character":46,"end_line":4703,"end_character":47},"in_reply_to":"1c2e3212_4e1864b5","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":4863,"context_line":"    def _resource_cleanup_for_backup(self, backup, share_instance,"},{"line_number":4864,"context_line":"                                     des_vserver, des_vol,"},{"line_number":4865,"context_line":"                                     share_server\u003dNone,"},{"line_number":4866,"context_line":"                                     ):"},{"line_number":4867,"context_line":"        \"\"\"Cleanup the created resources"},{"line_number":4868,"context_line":""},{"line_number":4869,"context_line":"        cleanup all created ONTAP resources when delete the last backup"}],"source_content_type":"text/x-python","patch_set":14,"id":"73790389_d1354769","line":4866,"range":{"start_line":4866,"start_character":37,"end_line":4866,"end_character":38},"updated":"2024-03-08 21:11:35.000000000","message":"nit: please move paranthesis to previous line","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":4863,"context_line":"    def _resource_cleanup_for_backup(self, backup, share_instance,"},{"line_number":4864,"context_line":"                                     des_vserver, des_vol,"},{"line_number":4865,"context_line":"                                     share_server\u003dNone,"},{"line_number":4866,"context_line":"                                     ):"},{"line_number":4867,"context_line":"        \"\"\"Cleanup the created resources"},{"line_number":4868,"context_line":""},{"line_number":4869,"context_line":"        cleanup all created ONTAP resources when delete the last backup"}],"source_content_type":"text/x-python","patch_set":14,"id":"80f76ede_ca955a43","line":4866,"range":{"start_line":4866,"start_character":37,"end_line":4866,"end_character":38},"in_reply_to":"73790389_d1354769","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"483d664b655a626083a43a7269a32f2c826f4cf1","unresolved":true,"context_lines":[{"line_number":4386,"context_line":"            err_msg \u003d _(\"Source path %(path)s has more than one relationships.\""},{"line_number":4387,"context_line":"                        \" To create the share backup, delete the all source\""},{"line_number":4388,"context_line":"                        \" volume\u0027s SnapMirror relationships using \u0027snapmirror\u0027\""},{"line_number":4389,"context_line":"                        \" ONTAP CLI or System Manger.\")"},{"line_number":4390,"context_line":"            msg_args \u003d {"},{"line_number":4391,"context_line":"                \u0027path\u0027: source_path"},{"line_number":4392,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":15,"id":"b8025c77_b0270053","line":4389,"range":{"start_line":4389,"start_character":46,"end_line":4389,"end_character":52},"updated":"2024-03-12 17:33:18.000000000","message":"Manager","commit_id":"dfbf51bafdaec7004104698ee0ef436a84e2e0ca"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"dec6fef7e97cfac011a50fae9e2fab0536e00793","unresolved":false,"context_lines":[{"line_number":4386,"context_line":"            err_msg \u003d _(\"Source path %(path)s has more than one relationships.\""},{"line_number":4387,"context_line":"                        \" To create the share backup, delete the all source\""},{"line_number":4388,"context_line":"                        \" volume\u0027s SnapMirror relationships using \u0027snapmirror\u0027\""},{"line_number":4389,"context_line":"                        \" ONTAP CLI or System Manger.\")"},{"line_number":4390,"context_line":"            msg_args \u003d {"},{"line_number":4391,"context_line":"                \u0027path\u0027: source_path"},{"line_number":4392,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":15,"id":"124db95c_e05fb8b1","line":4389,"range":{"start_line":4389,"start_character":46,"end_line":4389,"end_character":52},"in_reply_to":"b8025c77_b0270053","updated":"2024-03-26 04:05:09.000000000","message":"Fixed as part of https://review.opendev.org/c/openstack/manila/+/912059 patch","commit_id":"dfbf51bafdaec7004104698ee0ef436a84e2e0ca"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b414050462143dd9ba3a35e7c1476d3faa770fd","unresolved":true,"context_lines":[{"line_number":2387,"context_line":"        aggr_pattern \u003d (backend_config."},{"line_number":2388,"context_line":"                        netapp_aggregate_name_search_pattern)"},{"line_number":2389,"context_line":"        if aggr_pattern:"},{"line_number":2390,"context_line":"            aggr_matching_list \u003d [element for element in aggr_list"},{"line_number":2391,"context_line":"                                  if re.search(aggr_pattern, element)"},{"line_number":2392,"context_line":"                                  ]"},{"line_number":2393,"context_line":"            aggr_list \u003d aggr_matching_list"}],"source_content_type":"text/x-python","patch_set":11,"id":"16b6914d_c827563f","line":2390,"range":{"start_line":2390,"start_character":33,"end_line":2390,"end_character":35},"updated":"2024-03-07 14:20:01.000000000","message":"nit: same about the line break and readability for this","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"39c2f2413e32efad5c8b5d35f25b49afc4a9b174","unresolved":false,"context_lines":[{"line_number":2387,"context_line":"        aggr_pattern \u003d (backend_config."},{"line_number":2388,"context_line":"                        netapp_aggregate_name_search_pattern)"},{"line_number":2389,"context_line":"        if aggr_pattern:"},{"line_number":2390,"context_line":"            aggr_matching_list \u003d [element for element in aggr_list"},{"line_number":2391,"context_line":"                                  if re.search(aggr_pattern, element)"},{"line_number":2392,"context_line":"                                  ]"},{"line_number":2393,"context_line":"            aggr_list \u003d aggr_matching_list"}],"source_content_type":"text/x-python","patch_set":11,"id":"b7c1a526_eaa1b782","line":2390,"range":{"start_line":2390,"start_character":33,"end_line":2390,"end_character":35},"in_reply_to":"16b6914d_c827563f","updated":"2024-03-08 15:05:27.000000000","message":"Done","commit_id":"ba594b95025ef4cbbae887635333d7f92bdd5bbe"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":2406,"context_line":"            )"},{"line_number":2407,"context_line":"        except netapp_api.NaApiError as e:"},{"line_number":2408,"context_line":"            with excutils.save_and_reraise_exception() as exc_context:"},{"line_number":2409,"context_line":"                if (\u0027Vserver name is already used by another\u0027"},{"line_number":2410,"context_line":"                        \u0027 Vserver\u0027) in e.message:"},{"line_number":2411,"context_line":"                    exc_context.reraise \u003d False"},{"line_number":2412,"context_line":"        return des_vserver"}],"source_content_type":"text/x-python","patch_set":14,"id":"c4d9b0bc_ff821645","line":2409,"range":{"start_line":2409,"start_character":37,"end_line":2409,"end_character":49},"updated":"2024-03-08 21:11:35.000000000","message":"perhaps \"already used\" is sufficient to match the message.. in case ONTAP changes the message, the driver won\u0027t break if you rely on relevant portions of the error message","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":2406,"context_line":"            )"},{"line_number":2407,"context_line":"        except netapp_api.NaApiError as e:"},{"line_number":2408,"context_line":"            with excutils.save_and_reraise_exception() as exc_context:"},{"line_number":2409,"context_line":"                if (\u0027Vserver name is already used by another\u0027"},{"line_number":2410,"context_line":"                        \u0027 Vserver\u0027) in e.message:"},{"line_number":2411,"context_line":"                    exc_context.reraise \u003d False"},{"line_number":2412,"context_line":"        return des_vserver"}],"source_content_type":"text/x-python","patch_set":14,"id":"af4fce21_7bf1a2aa","line":2409,"range":{"start_line":2409,"start_character":37,"end_line":2409,"end_character":49},"in_reply_to":"c4d9b0bc_ff821645","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":2424,"context_line":"                                                  des_vserver_client)"},{"line_number":2425,"context_line":"        except exception.NetAppException as e:"},{"line_number":2426,"context_line":"            with excutils.save_and_reraise_exception() as exc_context:"},{"line_number":2427,"context_line":"                msg \u003d (f\"Cannot delete Vserver. Vserver {des_vserver} \""},{"line_number":2428,"context_line":"                       f\"has shares.\")"},{"line_number":2429,"context_line":"                if msg in e.msg:"},{"line_number":2430,"context_line":"                    exc_context.reraise \u003d False"}],"source_content_type":"text/x-python","patch_set":14,"id":"a222aefb_7e70d907","line":2428,"range":{"start_line":2427,"start_character":22,"end_line":2428,"end_character":38},"updated":"2024-03-08 21:11:35.000000000","message":"keep the message short; in case ONTAP decides to change the error message.. \n\n\"has shares\" is sufficient?","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":2424,"context_line":"                                                  des_vserver_client)"},{"line_number":2425,"context_line":"        except exception.NetAppException as e:"},{"line_number":2426,"context_line":"            with excutils.save_and_reraise_exception() as exc_context:"},{"line_number":2427,"context_line":"                msg \u003d (f\"Cannot delete Vserver. Vserver {des_vserver} \""},{"line_number":2428,"context_line":"                       f\"has shares.\")"},{"line_number":2429,"context_line":"                if msg in e.msg:"},{"line_number":2430,"context_line":"                    exc_context.reraise \u003d False"}],"source_content_type":"text/x-python","patch_set":14,"id":"ebc089ec_8a83a1d4","line":2428,"range":{"start_line":2427,"start_character":22,"end_line":2428,"end_character":38},"in_reply_to":"a222aefb_7e70d907","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"00e36c4a305e4c5ea030d3834f751491ea6d3cdd","unresolved":true,"context_lines":[{"line_number":2393,"context_line":"            ]"},{"line_number":2394,"context_line":"            aggr_list \u003d aggr_matching_list"},{"line_number":2395,"context_line":"        share_server_id \u003d share_server[\u0027id\u0027]"},{"line_number":2396,"context_line":"        des_vserver \u003d f\"backup_{share_server_id}\""},{"line_number":2397,"context_line":"        LOG.debug(\"Creating vserver %s:\", des_vserver)"},{"line_number":2398,"context_line":"        try:"},{"line_number":2399,"context_line":"            des_cluster_api_client.create_vserver("}],"source_content_type":"text/x-python","patch_set":15,"id":"8d48883a_eb1983b9","line":2396,"updated":"2024-03-12 08:11:14.000000000","message":"It would be nice if we can have it like \"backup_vserver_{share_server_id}\" here. Instead of hardcoding, we can use \" DES_VSERVER_PREFIX\" enum from  lib_base.py","commit_id":"dfbf51bafdaec7004104698ee0ef436a84e2e0ca"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"dec6fef7e97cfac011a50fae9e2fab0536e00793","unresolved":false,"context_lines":[{"line_number":2393,"context_line":"            ]"},{"line_number":2394,"context_line":"            aggr_list \u003d aggr_matching_list"},{"line_number":2395,"context_line":"        share_server_id \u003d share_server[\u0027id\u0027]"},{"line_number":2396,"context_line":"        des_vserver \u003d f\"backup_{share_server_id}\""},{"line_number":2397,"context_line":"        LOG.debug(\"Creating vserver %s:\", des_vserver)"},{"line_number":2398,"context_line":"        try:"},{"line_number":2399,"context_line":"            des_cluster_api_client.create_vserver("}],"source_content_type":"text/x-python","patch_set":15,"id":"ebd4281e_42266147","line":2396,"in_reply_to":"8d48883a_eb1983b9","updated":"2024-03-26 04:05:09.000000000","message":"Done","commit_id":"dfbf51bafdaec7004104698ee0ef436a84e2e0ca"}],"manila/share/drivers/netapp/options.py":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7fbc0b74c1f94ffff5f9784a5865dcdb39cf6594","unresolved":true,"context_lines":[{"line_number":304,"context_line":"    cfg.StrOpt(\u0027enabled_backup_types\u0027,"},{"line_number":305,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":306,"context_line":"               help\u003d\u0027Specify compatible backup for backend to provision\u0027"},{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"},{"line_number":308,"context_line":"                    \u0027provide multiple backup_type exp \u0027"},{"line_number":309,"context_line":"                    \u0027enabled_backup_types \u003d backup_type1\u0027),"},{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"0085353f_daff9acd","line":307,"updated":"2024-02-29 14:09:26.000000000","message":"compatible backup type ??","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4f570f3bdd2904c53bffe94b4a5a0bf143026adc","unresolved":false,"context_lines":[{"line_number":304,"context_line":"    cfg.StrOpt(\u0027enabled_backup_types\u0027,"},{"line_number":305,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":306,"context_line":"               help\u003d\u0027Specify compatible backup for backend to provision\u0027"},{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"},{"line_number":308,"context_line":"                    \u0027provide multiple backup_type exp \u0027"},{"line_number":309,"context_line":"                    \u0027enabled_backup_types \u003d backup_type1\u0027),"},{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"d821d86e_e045e3d9","line":307,"in_reply_to":"0085353f_daff9acd","updated":"2024-03-06 16:29:23.000000000","message":"For each backend stanza we will be providing this parameter. It will have value of backup_type that backend support. backup_type will be a stanza which have details of resources those require to create the backup. For more details please go through to below etherpad link.\nhttps://etherpad.opendev.org/p/manila-share-backup","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7fbc0b74c1f94ffff5f9784a5865dcdb39cf6594","unresolved":true,"context_lines":[{"line_number":305,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":306,"context_line":"               help\u003d\u0027Specify compatible backup for backend to provision\u0027"},{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"},{"line_number":308,"context_line":"                    \u0027provide multiple backup_type exp \u0027"},{"line_number":309,"context_line":"                    \u0027enabled_backup_types \u003d backup_type1\u0027),"},{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"},{"line_number":311,"context_line":"               default\u003d\u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"8df8348f_caff7faf","line":308,"updated":"2024-02-29 14:09:26.000000000","message":"exp ?? you mean example ?","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4f570f3bdd2904c53bffe94b4a5a0bf143026adc","unresolved":false,"context_lines":[{"line_number":305,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":306,"context_line":"               help\u003d\u0027Specify compatible backup for backend to provision\u0027"},{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"},{"line_number":308,"context_line":"                    \u0027provide multiple backup_type exp \u0027"},{"line_number":309,"context_line":"                    \u0027enabled_backup_types \u003d backup_type1\u0027),"},{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"},{"line_number":311,"context_line":"               default\u003d\u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"c31af4ee_164aefdf","line":308,"in_reply_to":"8df8348f_caff7faf","updated":"2024-03-06 16:29:23.000000000","message":"yes it is example. I have modify it to make it more clear.","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7fbc0b74c1f94ffff5f9784a5865dcdb39cf6594","unresolved":true,"context_lines":[{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"},{"line_number":308,"context_line":"                    \u0027provide multiple backup_type exp \u0027"},{"line_number":309,"context_line":"                    \u0027enabled_backup_types \u003d backup_type1\u0027),"},{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"},{"line_number":311,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":312,"context_line":"               help\u003d\u0027custom backup name, exp: finance_backup, eng_backup\u0027),"},{"line_number":313,"context_line":"    cfg.StrOpt(\u0027backend\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"25cc7816_aff23c13","line":310,"updated":"2024-02-29 14:09:26.000000000","message":"this is bit confusing ? it is backup name or backup type ?","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4f570f3bdd2904c53bffe94b4a5a0bf143026adc","unresolved":false,"context_lines":[{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"},{"line_number":308,"context_line":"                    \u0027provide multiple backup_type exp \u0027"},{"line_number":309,"context_line":"                    \u0027enabled_backup_types \u003d backup_type1\u0027),"},{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"},{"line_number":311,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":312,"context_line":"               help\u003d\u0027custom backup name, exp: finance_backup, eng_backup\u0027),"},{"line_number":313,"context_line":"    cfg.StrOpt(\u0027backend\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"0cddbb11_f2e6e880","line":310,"in_reply_to":"25cc7816_aff23c13","updated":"2024-03-06 16:29:23.000000000","message":"This is backup_type, for more details please go through to below page\nhttps://etherpad.opendev.org/p/manila-share-backup","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7fbc0b74c1f94ffff5f9784a5865dcdb39cf6594","unresolved":true,"context_lines":[{"line_number":321,"context_line":"                    \u0027 be created under this vserver \u0027),"},{"line_number":322,"context_line":"    cfg.StrOpt(\u0027backup_share\u0027,"},{"line_number":323,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":324,"context_line":"               help\u003d\u0027Specify backup share name in case user wanted to backup \u0027"},{"line_number":325,"context_line":"                    \u0027the share. Some case user has dedicated volume for backup\u0027"},{"line_number":326,"context_line":"                    \u0027 in this case use can provide dedicated volume. \u0027"},{"line_number":327,"context_line":"                    \u0027share_server must need to provide if backup_share\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"812c6ac1_3b056950","line":324,"updated":"2024-02-29 14:09:26.000000000","message":"In case user has dedicated volume to store the backup shares and user wants to backup shares in that dedicated volume only, this option is useful to provide the reference of that dedicate volume. Please note, \u0027share_server\u0027 must be specified if backup_share is provided. \n\nI am even inclined to rename this to backup_volume","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4f570f3bdd2904c53bffe94b4a5a0bf143026adc","unresolved":false,"context_lines":[{"line_number":321,"context_line":"                    \u0027 be created under this vserver \u0027),"},{"line_number":322,"context_line":"    cfg.StrOpt(\u0027backup_share\u0027,"},{"line_number":323,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":324,"context_line":"               help\u003d\u0027Specify backup share name in case user wanted to backup \u0027"},{"line_number":325,"context_line":"                    \u0027the share. Some case user has dedicated volume for backup\u0027"},{"line_number":326,"context_line":"                    \u0027 in this case use can provide dedicated volume. \u0027"},{"line_number":327,"context_line":"                    \u0027share_server must need to provide if backup_share\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5bdf8d57_66ae4382","line":324,"in_reply_to":"812c6ac1_3b056950","updated":"2024-03-06 16:29:23.000000000","message":"Backup volume is ONTAP term. Here we must use common terminology (openstack terminology) as in future other driver can also implement this feature and they might use different term for their storage object. \n\nThis is my understanding, please correct me if I am wrong.","commit_id":"84eff1548bfb2ed7d19b4e40d0f6af6042257ec9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":301,"context_line":"]"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"netapp_backup_opts \u003d ["},{"line_number":304,"context_line":"    cfg.StrOpt(\u0027enabled_backup_types\u0027,"},{"line_number":305,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":306,"context_line":"               help\u003d\u0027Specify compatible backup for backend to provision\u0027"},{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"794b3c78_34c2580d","line":304,"range":{"start_line":304,"start_character":16,"end_line":304,"end_character":36},"updated":"2024-03-08 21:11:35.000000000","message":"It\u0027s good practice to always have \"netapp_\" for driver specific config opts... the config structure is global, and an option name should be easily identifiable. \n\n\n\"netapp_enabled_backup_types\"","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":301,"context_line":"]"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"netapp_backup_opts \u003d ["},{"line_number":304,"context_line":"    cfg.StrOpt(\u0027enabled_backup_types\u0027,"},{"line_number":305,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":306,"context_line":"               help\u003d\u0027Specify compatible backup for backend to provision\u0027"},{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"0c1042f9_e1f261e2","line":304,"range":{"start_line":304,"start_character":8,"end_line":304,"end_character":14},"updated":"2024-03-08 21:11:35.000000000","message":"shouldn\u0027t this be a ListOpt..\n\nthe value of a listopt is specified as a Comma separated string like you desire:\n\n \"eng_backup, finance_backup\"","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":301,"context_line":"]"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"netapp_backup_opts \u003d ["},{"line_number":304,"context_line":"    cfg.StrOpt(\u0027enabled_backup_types\u0027,"},{"line_number":305,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":306,"context_line":"               help\u003d\u0027Specify compatible backup for backend to provision\u0027"},{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"7c6f2ab6_e3812fac","line":304,"range":{"start_line":304,"start_character":8,"end_line":304,"end_character":14},"in_reply_to":"0c1042f9_e1f261e2","updated":"2024-03-12 04:46:06.000000000","message":"thanks to pointing this, made the changes as suggested","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":301,"context_line":"]"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"netapp_backup_opts \u003d ["},{"line_number":304,"context_line":"    cfg.StrOpt(\u0027enabled_backup_types\u0027,"},{"line_number":305,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":306,"context_line":"               help\u003d\u0027Specify compatible backup for backend to provision\u0027"},{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"4dffc57d_490d1c16","line":304,"range":{"start_line":304,"start_character":16,"end_line":304,"end_character":36},"in_reply_to":"794b3c78_34c2580d","updated":"2024-03-12 04:46:06.000000000","message":"Done, made the changes to all the places","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":304,"context_line":"    cfg.StrOpt(\u0027enabled_backup_types\u0027,"},{"line_number":305,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":306,"context_line":"               help\u003d\u0027Specify compatible backup for backend to provision\u0027"},{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"},{"line_number":308,"context_line":"                    \u0027provide multiple backup_type. Example- \u0027"},{"line_number":309,"context_line":"                    \u0027enabled_backup_types \u003d eng_backup, finance_backup\u0027),"},{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"},{"line_number":311,"context_line":"               default\u003d\u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"4d7faa8c_d4137f24","line":308,"range":{"start_line":307,"start_character":62,"end_line":308,"end_character":49},"updated":"2024-03-08 21:11:35.000000000","message":"you mean something else that what this reads like... remember \"user\" is a short form for the end user. configuration files are manipulated by operators, deployers or administrators. \n\nPerhaps rewrite this as:\n\n\"Multiple backup_types can be provided\"\n\n\nAlso add:\n\nIf multiple backup types are enabled, create separate config sections for each backup type specifying the \"backup_type\", \"backup_backend_section_name\", \"backup_share_server\", \"backup_share\" and \"netapp_snapmirror_job_timeout\" as appropriate.","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":304,"context_line":"    cfg.StrOpt(\u0027enabled_backup_types\u0027,"},{"line_number":305,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":306,"context_line":"               help\u003d\u0027Specify compatible backup for backend to provision\u0027"},{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"},{"line_number":308,"context_line":"                    \u0027provide multiple backup_type. Example- \u0027"},{"line_number":309,"context_line":"                    \u0027enabled_backup_types \u003d eng_backup, finance_backup\u0027),"},{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"},{"line_number":311,"context_line":"               default\u003d\u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"191e74de_af165acf","line":308,"range":{"start_line":307,"start_character":62,"end_line":308,"end_character":49},"in_reply_to":"4d7faa8c_d4137f24","updated":"2024-03-12 04:46:06.000000000","message":"Thanks, I added the content suggested by you.","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"},{"line_number":308,"context_line":"                    \u0027provide multiple backup_type. Example- \u0027"},{"line_number":309,"context_line":"                    \u0027enabled_backup_types \u003d eng_backup, finance_backup\u0027),"},{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"},{"line_number":311,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":312,"context_line":"               help\u003d\u0027custom backup name, exp: finance_backup, eng_backup\u0027),"},{"line_number":313,"context_line":"    cfg.StrOpt(\u0027backend\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"c25a568c_a97fcaf8","line":310,"range":{"start_line":310,"start_character":16,"end_line":310,"end_character":20},"updated":"2024-03-08 21:11:35.000000000","message":"\"netapp_backup_type\"\n\n\njust having \"type\" is confusing","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":307,"context_line":"                    \u0027backup share for SnapVault relationship. user can \u0027"},{"line_number":308,"context_line":"                    \u0027provide multiple backup_type. Example- \u0027"},{"line_number":309,"context_line":"                    \u0027enabled_backup_types \u003d eng_backup, finance_backup\u0027),"},{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"},{"line_number":311,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":312,"context_line":"               help\u003d\u0027custom backup name, exp: finance_backup, eng_backup\u0027),"},{"line_number":313,"context_line":"    cfg.StrOpt(\u0027backend\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"2aad4778_e1d7b49b","line":310,"range":{"start_line":310,"start_character":16,"end_line":310,"end_character":20},"in_reply_to":"c25a568c_a97fcaf8","updated":"2024-03-12 04:46:06.000000000","message":"I remove this, we are not using this. we just added this for tagging purpose \nwe are not using this even in our program. So, I am removing this.","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"},{"line_number":311,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":312,"context_line":"               help\u003d\u0027custom backup name, exp: finance_backup, eng_backup\u0027),"},{"line_number":313,"context_line":"    cfg.StrOpt(\u0027backend\u0027,"},{"line_number":314,"context_line":"               help\u003d\u0027Backend (ONTAP cluster) name where backup volume will be \u0027"},{"line_number":315,"context_line":"                    \u0027provision. This is one of the backend which are enabled \u0027"},{"line_number":316,"context_line":"                    \u0027in manila.conf file.\u0027),"}],"source_content_type":"text/x-python","patch_set":14,"id":"322bf0f8_9e628107","line":313,"range":{"start_line":313,"start_character":16,"end_line":313,"end_character":23},"updated":"2024-03-08 21:11:35.000000000","message":"netapp_backup_backend_section_name","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":310,"context_line":"    cfg.StrOpt(\u0027type\u0027,"},{"line_number":311,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":312,"context_line":"               help\u003d\u0027custom backup name, exp: finance_backup, eng_backup\u0027),"},{"line_number":313,"context_line":"    cfg.StrOpt(\u0027backend\u0027,"},{"line_number":314,"context_line":"               help\u003d\u0027Backend (ONTAP cluster) name where backup volume will be \u0027"},{"line_number":315,"context_line":"                    \u0027provision. This is one of the backend which are enabled \u0027"},{"line_number":316,"context_line":"                    \u0027in manila.conf file.\u0027),"}],"source_content_type":"text/x-python","patch_set":14,"id":"65716668_3b6fd4bd","line":313,"range":{"start_line":313,"start_character":16,"end_line":313,"end_character":23},"in_reply_to":"322bf0f8_9e628107","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":312,"context_line":"               help\u003d\u0027custom backup name, exp: finance_backup, eng_backup\u0027),"},{"line_number":313,"context_line":"    cfg.StrOpt(\u0027backend\u0027,"},{"line_number":314,"context_line":"               help\u003d\u0027Backend (ONTAP cluster) name where backup volume will be \u0027"},{"line_number":315,"context_line":"                    \u0027provision. This is one of the backend which are enabled \u0027"},{"line_number":316,"context_line":"                    \u0027in manila.conf file.\u0027),"},{"line_number":317,"context_line":"    cfg.StrOpt(\u0027share_server\u0027,"},{"line_number":318,"context_line":"               default\u003d\u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"1c8e23e6_766e1e2f","line":315,"range":{"start_line":315,"start_character":21,"end_line":315,"end_character":30},"updated":"2024-03-08 21:11:35.000000000","message":"provisioned","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":312,"context_line":"               help\u003d\u0027custom backup name, exp: finance_backup, eng_backup\u0027),"},{"line_number":313,"context_line":"    cfg.StrOpt(\u0027backend\u0027,"},{"line_number":314,"context_line":"               help\u003d\u0027Backend (ONTAP cluster) name where backup volume will be \u0027"},{"line_number":315,"context_line":"                    \u0027provision. This is one of the backend which are enabled \u0027"},{"line_number":316,"context_line":"                    \u0027in manila.conf file.\u0027),"},{"line_number":317,"context_line":"    cfg.StrOpt(\u0027share_server\u0027,"},{"line_number":318,"context_line":"               default\u003d\u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"bb260b03_a528eb24","line":315,"range":{"start_line":315,"start_character":21,"end_line":315,"end_character":30},"in_reply_to":"1c8e23e6_766e1e2f","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":314,"context_line":"               help\u003d\u0027Backend (ONTAP cluster) name where backup volume will be \u0027"},{"line_number":315,"context_line":"                    \u0027provision. This is one of the backend which are enabled \u0027"},{"line_number":316,"context_line":"                    \u0027in manila.conf file.\u0027),"},{"line_number":317,"context_line":"    cfg.StrOpt(\u0027share_server\u0027,"},{"line_number":318,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":319,"context_line":"               help\u003d\u0027vserver name of backend that is use for backup the share.\u0027"},{"line_number":320,"context_line":"                    \u0027 When user provide vserver value then backup volume will \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"e937209c_f66e3661","line":317,"range":{"start_line":317,"start_character":16,"end_line":317,"end_character":28},"updated":"2024-03-08 21:11:35.000000000","message":"netapp_backup_share_server\n\n(perhaps call this \"netapp_backup_vserver\" to match with \"netapp_vserver\")","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":314,"context_line":"               help\u003d\u0027Backend (ONTAP cluster) name where backup volume will be \u0027"},{"line_number":315,"context_line":"                    \u0027provision. This is one of the backend which are enabled \u0027"},{"line_number":316,"context_line":"                    \u0027in manila.conf file.\u0027),"},{"line_number":317,"context_line":"    cfg.StrOpt(\u0027share_server\u0027,"},{"line_number":318,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":319,"context_line":"               help\u003d\u0027vserver name of backend that is use for backup the share.\u0027"},{"line_number":320,"context_line":"                    \u0027 When user provide vserver value then backup volume will \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"d83e441a_703ec8b3","line":317,"range":{"start_line":317,"start_character":16,"end_line":317,"end_character":28},"in_reply_to":"e937209c_f66e3661","updated":"2024-03-12 04:46:06.000000000","message":"I changed it to netapp_backup_vserver","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":319,"context_line":"               help\u003d\u0027vserver name of backend that is use for backup the share.\u0027"},{"line_number":320,"context_line":"                    \u0027 When user provide vserver value then backup volume will \u0027"},{"line_number":321,"context_line":"                    \u0027 be created under this vserver \u0027),"},{"line_number":322,"context_line":"    cfg.StrOpt(\u0027backup_share\u0027,"},{"line_number":323,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":324,"context_line":"               help\u003d\u0027Specify backup share name in case user wanted to backup \u0027"},{"line_number":325,"context_line":"                    \u0027the share. Some case user has dedicated volume for backup\u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"e21bd0c2_579a9324","line":322,"updated":"2024-03-08 21:11:35.000000000","message":"\"netapp_backup_share\"","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"483d664b655a626083a43a7269a32f2c826f4cf1","unresolved":true,"context_lines":[{"line_number":319,"context_line":"               help\u003d\u0027vserver name of backend that is use for backup the share.\u0027"},{"line_number":320,"context_line":"                    \u0027 When user provide vserver value then backup volume will \u0027"},{"line_number":321,"context_line":"                    \u0027 be created under this vserver \u0027),"},{"line_number":322,"context_line":"    cfg.StrOpt(\u0027backup_share\u0027,"},{"line_number":323,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":324,"context_line":"               help\u003d\u0027Specify backup share name in case user wanted to backup \u0027"},{"line_number":325,"context_line":"                    \u0027the share. Some case user has dedicated volume for backup\u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"e6600c2f_6a860bef","line":322,"in_reply_to":"69678683_4be230be","updated":"2024-03-12 17:33:18.000000000","message":"good point; its not really an NFS share? or maybe it doesn\u0027t make a difference..","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":true,"context_lines":[{"line_number":319,"context_line":"               help\u003d\u0027vserver name of backend that is use for backup the share.\u0027"},{"line_number":320,"context_line":"                    \u0027 When user provide vserver value then backup volume will \u0027"},{"line_number":321,"context_line":"                    \u0027 be created under this vserver \u0027),"},{"line_number":322,"context_line":"    cfg.StrOpt(\u0027backup_share\u0027,"},{"line_number":323,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":324,"context_line":"               help\u003d\u0027Specify backup share name in case user wanted to backup \u0027"},{"line_number":325,"context_line":"                    \u0027the share. Some case user has dedicated volume for backup\u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"69678683_4be230be","line":322,"in_reply_to":"e21bd0c2_579a9324","updated":"2024-03-12 04:46:06.000000000","message":"Shall I make it, netapp_backup_volume instead of netapp_backup_share..?","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"dec6fef7e97cfac011a50fae9e2fab0536e00793","unresolved":false,"context_lines":[{"line_number":319,"context_line":"               help\u003d\u0027vserver name of backend that is use for backup the share.\u0027"},{"line_number":320,"context_line":"                    \u0027 When user provide vserver value then backup volume will \u0027"},{"line_number":321,"context_line":"                    \u0027 be created under this vserver \u0027),"},{"line_number":322,"context_line":"    cfg.StrOpt(\u0027backup_share\u0027,"},{"line_number":323,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":324,"context_line":"               help\u003d\u0027Specify backup share name in case user wanted to backup \u0027"},{"line_number":325,"context_line":"                    \u0027the share. Some case user has dedicated volume for backup\u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"84d264bd_e08563e0","line":322,"in_reply_to":"e6600c2f_6a860bef","updated":"2024-03-26 04:05:09.000000000","message":"Fixed as part of https://review.opendev.org/c/openstack/manila/+/912059 patch","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":324,"context_line":"               help\u003d\u0027Specify backup share name in case user wanted to backup \u0027"},{"line_number":325,"context_line":"                    \u0027the share. Some case user has dedicated volume for backup\u0027"},{"line_number":326,"context_line":"                    \u0027 in this case use can provide dedicated volume. \u0027"},{"line_number":327,"context_line":"                    \u0027share_server must be specified if backup_share is\u0027"},{"line_number":328,"context_line":"                    \u0027 provided\u0027),"},{"line_number":329,"context_line":"    cfg.IntOpt(\u0027netapp_snapmirror_job_timeout\u0027,"},{"line_number":330,"context_line":"               min\u003d0,"}],"source_content_type":"text/x-python","patch_set":14,"id":"f24d860e_1a7ede5d","line":327,"range":{"start_line":327,"start_character":21,"end_line":327,"end_character":33},"updated":"2024-03-08 21:11:35.000000000","message":"backup_share_server","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":324,"context_line":"               help\u003d\u0027Specify backup share name in case user wanted to backup \u0027"},{"line_number":325,"context_line":"                    \u0027the share. Some case user has dedicated volume for backup\u0027"},{"line_number":326,"context_line":"                    \u0027 in this case use can provide dedicated volume. \u0027"},{"line_number":327,"context_line":"                    \u0027share_server must be specified if backup_share is\u0027"},{"line_number":328,"context_line":"                    \u0027 provided\u0027),"},{"line_number":329,"context_line":"    cfg.IntOpt(\u0027netapp_snapmirror_job_timeout\u0027,"},{"line_number":330,"context_line":"               min\u003d0,"}],"source_content_type":"text/x-python","patch_set":14,"id":"b671e6a5_3476b1a2","line":327,"range":{"start_line":327,"start_character":21,"end_line":327,"end_character":33},"in_reply_to":"f24d860e_1a7ede5d","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"}],"manila/share/manager.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"872fed58746f4d3df22012be6cb110187d970b12","unresolved":true,"context_lines":[{"line_number":163,"context_line":"# old/new path here to maintain backward compatibility."},{"line_number":164,"context_line":"MAPPING \u003d {"},{"line_number":165,"context_line":"    \u0027manila.share.drivers.netapp.cluster_mode.NetAppClusteredShareDriver\u0027:"},{"line_number":166,"context_line":"        \u0027manila.share.drivers.netapp.common.NetAppDriver\u0027,"},{"line_number":167,"context_line":"    \u0027manila.share.drivers.hp.hp_3par_driver.HP3ParShareDriver\u0027:"},{"line_number":168,"context_line":"        \u0027manila.share.drivers.hpe.hpe_3par_driver.HPE3ParShareDriver\u0027,"},{"line_number":169,"context_line":"    \u0027manila.share.drivers.hitachi.hds_hnas.HDSHNASDriver\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"16202f14_eb5b5e0a","line":166,"range":{"start_line":166,"start_character":4,"end_line":166,"end_character":8},"updated":"2024-02-16 20:35:56.000000000","message":"could you please rever all changes that are identation related or removing/adding a blank line?","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"8a8f9a9f53755b36be890cd0a773cabdfd72b4f8","unresolved":false,"context_lines":[{"line_number":163,"context_line":"# old/new path here to maintain backward compatibility."},{"line_number":164,"context_line":"MAPPING \u003d {"},{"line_number":165,"context_line":"    \u0027manila.share.drivers.netapp.cluster_mode.NetAppClusteredShareDriver\u0027:"},{"line_number":166,"context_line":"        \u0027manila.share.drivers.netapp.common.NetAppDriver\u0027,"},{"line_number":167,"context_line":"    \u0027manila.share.drivers.hp.hp_3par_driver.HP3ParShareDriver\u0027:"},{"line_number":168,"context_line":"        \u0027manila.share.drivers.hpe.hpe_3par_driver.HPE3ParShareDriver\u0027,"},{"line_number":169,"context_line":"    \u0027manila.share.drivers.hitachi.hds_hnas.HDSHNASDriver\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"6493de52_ad14bfbf","line":166,"range":{"start_line":166,"start_character":4,"end_line":166,"end_character":8},"in_reply_to":"16202f14_eb5b5e0a","updated":"2024-02-21 17:59:36.000000000","message":"Done.","commit_id":"59345eec9056b685ea1cbfed0683418a9d8d7803"}],"releasenotes/notes/share-backup-netapp-driver-8bbcf3fbc1d20614.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"c9cbf00e_00808d07","line":4,"range":{"start_line":4,"start_character":3,"end_line":4,"end_character":57},"updated":"2024-03-08 21:11:35.000000000","message":"Release notes must be written in past tense; because they\u0027re read after a release has hppened.\n\nPerhaps:\n\n\"The NetApp ONTAP driver now supports driver-advantaged share backup.\"","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"f071ff9e_6f27b2b8","line":4,"range":{"start_line":4,"start_character":3,"end_line":4,"end_character":57},"in_reply_to":"c9cbf00e_00808d07","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"},{"line_number":8,"context_line":"    link."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"358659d0_04913d55","line":5,"updated":"2024-03-08 21:11:35.000000000","message":"s/share/shares.","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"},{"line_number":8,"context_line":"    link."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"f1df5fde_4c1bb5ba","line":5,"range":{"start_line":5,"start_character":34,"end_line":5,"end_character":44},"updated":"2024-03-08 21:11:35.000000000","message":"s/the backup/backups","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"},{"line_number":8,"context_line":"    link."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"e400f586_5120cc96","line":5,"in_reply_to":"358659d0_04913d55","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"},{"line_number":8,"context_line":"    link."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"be6a50a2_c49810a2","line":5,"range":{"start_line":5,"start_character":34,"end_line":5,"end_character":44},"in_reply_to":"f1df5fde_4c1bb5ba","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"},{"line_number":8,"context_line":"    link."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"c7dad6e3_976f7c87","line":6,"range":{"start_line":6,"start_character":18,"end_line":6,"end_character":24},"updated":"2024-03-08 21:11:35.000000000","message":"deletes","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"},{"line_number":8,"context_line":"    link."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"0a4c39c9_20f5da55","line":6,"range":{"start_line":6,"start_character":18,"end_line":6,"end_character":24},"in_reply_to":"c7dad6e3_976f7c87","updated":"2024-03-12 04:46:06.000000000","message":"Done","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7359c691d2e2aec92c8b3456f0b4b18f6c0e0431","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"},{"line_number":8,"context_line":"    link."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3b77d9f7_c8c215b4","line":8,"range":{"start_line":6,"start_character":82,"end_line":8,"end_character":9},"updated":"2024-03-08 21:11:35.000000000","message":"No please add relevant documentation :) \n\nEtherpads are just \"ether\" pads... i.e., you can\u0027t rely on them to live on for perpetuity. \n\nI would suggest:\n\n```\nPlease refer to `NetApp\u0027s \nOpenStack Manila documentation site \u003chttps://netapp-openstack-dev.github.io/openstack-docs/draft/ch_manila.html#\u003e`_ \non how to configure and manage share backups.\n```","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"536c1aa406b294f76903130cf42fe2428ad595a0","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"},{"line_number":8,"context_line":"    link."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"e05fa974_9aa40dca","line":8,"range":{"start_line":6,"start_character":82,"end_line":8,"end_character":9},"in_reply_to":"3b77d9f7_c8c215b4","updated":"2024-03-12 04:46:06.000000000","message":"Will work on the doc and will push that to OpenStack Manila documentation site. Once doc is ready, will update this the doc link here","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"483d664b655a626083a43a7269a32f2c826f4cf1","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implement the share backup feature for NetApp driver. NetApp SnapVault technology"},{"line_number":5,"context_line":"    is used to create and restore the backup for NetApp ONTAP share. Backup delete"},{"line_number":6,"context_line":"    workflow just delete the transferred snapshot from destination backup volume. How to"},{"line_number":7,"context_line":"    get the config data for backup refer https://etherpad.opendev.org/p/manila-share-backup"},{"line_number":8,"context_line":"    link."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"399dd001_26930a92","line":8,"range":{"start_line":6,"start_character":82,"end_line":8,"end_character":9},"in_reply_to":"e05fa974_9aa40dca","updated":"2024-03-12 17:33:18.000000000","message":"Hmmm; release notes aren\u0027t meant to be updated after we ship a release.. if you update them, they become new notes.","commit_id":"6c2cadf0160661ba7111436a6616b56b37f03e69"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"483d664b655a626083a43a7269a32f2c826f4cf1","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    The NetApp ONTAP driver now supports driver-advantaged share backup. NetApp"},{"line_number":5,"context_line":"    SnapVault technology is used to create and restore backups for NetApp ONTAP"},{"line_number":6,"context_line":"    shares. Backup delete workflow just deletes the transferred snapshots from"},{"line_number":7,"context_line":"    destination backup volume. How to get the config data for backup, refer"},{"line_number":8,"context_line":"    https://etherpad.opendev.org/p/manila-share-backup link."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"adc5a932_d31bd496","line":7,"range":{"start_line":7,"start_character":31,"end_line":7,"end_character":69},"updated":"2024-03-12 17:33:18.000000000","message":"```\nPlease refer to the instructions `here \u003chttps://etherpad.opendev.org/p/manila-share-backup\u003e`_ to setup the configuration necessary to enable this feature. \n```","commit_id":"dfbf51bafdaec7004104698ee0ef436a84e2e0ca"}]}
