)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     agireesh \u003cgawasthi2010@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-02-29 22:24:37 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"core implementation for share backup for NetApp driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are supporting libs files for backup feature implemented for"},{"line_number":10,"context_line":"NetApp driver. NetApp SnapVault technology is used to create and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"31b06160_89e43517","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":2},"updated":"2024-03-04 14:37:16.000000000","message":"share backups enhancements","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     agireesh \u003cgawasthi2010@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-02-29 22:24:37 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"core implementation for share backup for NetApp driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are supporting libs files for backup feature implemented for"},{"line_number":10,"context_line":"NetApp driver. NetApp SnapVault technology is used to create and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"8f83b3dc_eff3fe37","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":2},"in_reply_to":"31b06160_89e43517","updated":"2024-03-06 08:43:08.000000000","message":"Thanks for suggestion. Changed as recommended","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"core implementation for share backup for NetApp driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are supporting libs files for backup feature implemented for"},{"line_number":10,"context_line":"NetApp driver. NetApp SnapVault technology is used to create and"},{"line_number":11,"context_line":"restore the backup for NetApp ONTAP share. Backup delete workflow"},{"line_number":12,"context_line":"just delete the transferred snapshot from destination backup volume."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ifb88ec096674ea8bc010c1c3f6dea1b51be3beaa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"53f39ea5_fda793f3","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":68},"updated":"2024-03-04 14:37:16.000000000","message":"I\u0027d recommend doing some changes to this commit message so it would reflect more what is being done on this change...","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e7637fd3cbf037faa1581853fc345b56ba425fb0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"core implementation for share backup for NetApp driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are supporting libs files for backup feature implemented for"},{"line_number":10,"context_line":"NetApp driver. NetApp SnapVault technology is used to create and"},{"line_number":11,"context_line":"restore the backup for NetApp ONTAP share. Backup delete workflow"},{"line_number":12,"context_line":"just delete the transferred snapshot from destination backup volume."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ifb88ec096674ea8bc010c1c3f6dea1b51be3beaa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f33cde7_0003b9aa","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":68},"in_reply_to":"3af84b87_f56ca271","updated":"2024-03-06 22:48:48.000000000","message":"Looking great, thank you Gireesh!","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"core implementation for share backup for NetApp driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are supporting libs files for backup feature implemented for"},{"line_number":10,"context_line":"NetApp driver. NetApp SnapVault technology is used to create and"},{"line_number":11,"context_line":"restore the backup for NetApp ONTAP share. Backup delete workflow"},{"line_number":12,"context_line":"just delete the transferred snapshot from destination backup volume."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ifb88ec096674ea8bc010c1c3f6dea1b51be3beaa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3af84b87_f56ca271","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":68},"in_reply_to":"53f39ea5_fda793f3","updated":"2024-03-06 08:43:08.000000000","message":"I have changed the commit message as suggested","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Added new column named \u0027backup_type\u0027 in \u0027share_backups\u0027 table"},{"line_number":10,"context_line":"and changes the share common api libs to support the dhss_true"},{"line_number":11,"context_line":"configuration for share backup creation"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ifb88ec096674ea8bc010c1c3f6dea1b51be3beaa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"23b90f5b_287164f5","line":12,"updated":"2024-03-08 20:11:14.000000000","message":"Please add this above Change-Id:\n\n```\nPartially-implements: bp/share-backup\n```\n\nso it can be tracked in https://blueprints.launchpad.net/manila/+spec/share-backup","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fa6cacb19e35406f7fc3858e9d487c08489e3a2a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Added new column named \u0027backup_type\u0027 in \u0027share_backups\u0027 table"},{"line_number":10,"context_line":"and changes the share common api libs to support the dhss_true"},{"line_number":11,"context_line":"configuration for share backup creation"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ifb88ec096674ea8bc010c1c3f6dea1b51be3beaa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"dfb95fa9_b6dbce8b","line":12,"in_reply_to":"23b90f5b_287164f5","updated":"2024-03-09 13:28:36.000000000","message":"Done","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fb4bc4b0178d531466ce730a6503bd7164df3487","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9dc8970f_675b85aa","updated":"2024-02-29 14:52:44.000000000","message":"Split main patch to core and driver.","commit_id":"6e1c315aaaf079dce8aa82aac2443352722f7fe9"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c12bff2c_c79db3af","updated":"2024-03-04 14:37:16.000000000","message":"Thank you for splitting the changes and working on this. I have one more question/suggestion: backup type will be returned alongside the other backup info, right? If so, I think you\u0027ll need to add a new version to the share backups API and also update its view, so the backup type only shows up in case the API version matches.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6e6c4c587cbd14a78ff9842371243432bccc5474","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"511d8ace_fe92927b","in_reply_to":"21212b51_7cff358a","updated":"2024-03-08 12:54:26.000000000","message":"Sorry I missed this reply. If it is returning a new field in the API, then I  we should add a new version, according to this doc [1], because it changes the expected behavior.\n\n[1] https://docs.openstack.org/manila/latest/contributor/api_microversion_dev.html#when-do-i-need-a-new-microversion","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"7278f7dae75bf53a0240e5c832dace0cc9f0b382","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0c0dff09_92a2d58d","in_reply_to":"4e85ac2e_e22b6c25","updated":"2024-03-11 17:16:03.000000000","message":"Thanks Goutham for all you help and support, with your help I don\u0027t think I can add backup_type field to API. Thanks you very much ..!","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fa6cacb19e35406f7fc3858e9d487c08489e3a2a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"dd861226_5c59316f","in_reply_to":"511d8ace_fe92927b","updated":"2024-03-09 13:28:36.000000000","message":"API we are not making any change, might be in next release we make the changes in api, if require. But we need to document this, while creating the backup for driver user has to provide backup_type as a key for backup_options.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"eb8cb887_7d25dec9","in_reply_to":"511d8ace_fe92927b","updated":"2024-03-08 20:11:14.000000000","message":"I don\u0027t see a change to this: https://github.com/openstack/manila/blob/master/manila/api/views/share_backups.py#L54-L75\n\nIt\u0027s a good question though.. maybe in D, when we formalize how a backup_type can be provided via share types, we can also add \"backup_type\" to the API (with an API microversion bump that we\u0027ll have to make anyway). The consequence of not doing it now is:\n\n\nAn admin tells the user to use \n\n\"--backup-options backup_type\u003dyadayada\"\n\nwhen creating a backup, but, there\u0027s no visibility to the user whatsoever:\n\n\n1) What\u0027s this \"backup_type\"? Why is my admin telling me to use this in my backup options? What does it do? What other \"backup_type\" values are possible?\n2) Okay, I used a \"backup_type\", but I\u0027ve no clue what it did, I can\u0027t see it in the share backup object itself; when I\u0027m creating a new backup of the same share, I __need__ to use the old \"backup_type\" for it to work properly. But, what if i forgot what i provided? :) \n\nAnd to an administrator as well:\n\n1) As an admin, i\u0027ve to somehow convey what backup_type the end user has to use out of band of manila. Maybe I can add a hint to the share-type or send the users an email on what option to use. \n2) When a user comes to me with some backup troubles, i\u0027ve no clue what backup_type they\u0027ve specified just by looking at the backup. I\u0027ll need to inspect debug logs or look in the database; not fun. \n\n\nI don\u0027t like these deficiencies; so i\u0027m all for adding the backup_type to the API in Dalmation.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"715270fcee9bc46703b9e92ec90a144743688c62","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ac88801b_7968089a","in_reply_to":"5305252a_bf70bec8","updated":"2024-03-09 23:16:15.000000000","message":"Yes, I can live with with punting this to Dalmation Gireesh... but its a small enough change to add \"backup_type\" to the backup API responses with a microversion bump. if you\u0027re making a lot more iterations of this patch, i would recommend doing that and closing atleast a part of the UX problem","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"74ccc4f7487c0fe5fe3cb9797fc03dd3ff4aad3d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4e85ac2e_e22b6c25","in_reply_to":"914f91ca_99131795","updated":"2024-03-10 17:58:12.000000000","message":"Hi Goutham, I have added the require file. Could you please review the changes. Please let me know if I missed anything here. I tested this in CLI and it is working fine.\n\nstack@scs000215254-1:~/devstack$ os backup show test1\n+-------------------+------------------------------------------------+\n| Field             | Value                                          |\n+-------------------+------------------------------------------------+\n| availability_zone | manila-zone-0                                  |\n| backup_type       | backup_type1                                   |\n| created_at        | 2024-03-10T14:19:34.000000                     |\n| description       | None                                           |\n| host              | scs000215254-1.nb.openenglab.netapp.com@ontap1 |\n| id                | 725626de-0c4c-4b3d-a59c-2a5d83c4996e           |\n| name              | test1                                          |\n| progress          | 100                                            |\n| restore_progress  | 0                                              |\n| share_id          | 983c6dd5-ef93-4c73-9359-ef02fe3bbce7           |\n| size              | 1                                              |\n| status            | available                                      |\n| topic             | manila-share                                   |\n| updated_at        | 2024-03-10T14:21:14.000000                     |\n+-------------------+------------------------------------------------+","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e42cb21cb24b7f8a16e2a44a7cffe747da61b1a2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"914f91ca_99131795","in_reply_to":"ac88801b_7968089a","updated":"2024-03-10 12:34:07.000000000","message":"Hi Goutham, sorry I missed reading your previous note. I don\u0027t have much hands on to API code but if we need to change only one file https://github.com/openstack/manila/blob/master/manila/api/views/share_backups.py#L54-L75, will make the changes in this.\n\nSo here we need to list the backup_type for each backup using API and CLI..?\nWill explore this part and will update the code soon.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d1672a56_b8cee98c","in_reply_to":"c12bff2c_c79db3af","updated":"2024-03-06 08:43:08.000000000","message":"I just added one extra column in existing database table. I have not created extra table for backup related information, that we might do in next release. This release we have put all the backup details in config file.\n\nI have not idea if we need to add API version in case we are adding one extra column in exiting database table.? please suggest ..? if need to add will do that.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4b6a1385635a515244826d293765dda4cab6d3dd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"21212b51_7cff358a","in_reply_to":"d1672a56_b8cee98c","updated":"2024-03-07 14:57:44.000000000","message":"Done","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"cc235b8e44591808c0a725c76e0bb4e41c41a024","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5305252a_bf70bec8","in_reply_to":"dd861226_5c59316f","updated":"2024-03-09 13:38:27.000000000","message":"Thanks Goutham for your valuable review comments, I incorporated those, if you are not agree on my reply, please reopen the comment. I need to incorporate the review comments on driver code also, once that is done, will do one round of integration testing (core + driver) before merging this patch.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e9b174858d08283c8d3ecffe0337c90c043111c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"fcb4338a_c297a0f6","updated":"2024-03-06 14:59:36.000000000","message":"recheck","commit_id":"46e90f8b4d8a1f3af1f3b0591b138d5a3eeaa6f0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e7637fd3cbf037faa1581853fc345b56ba425fb0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"51e0df8b_e801128b","updated":"2024-03-06 22:48:48.000000000","message":"So the dummy driver is failing with one thing [1].\n\nYou should add the share server parameter to the dummy driver implementation. After that, I believe the dummy driver implementation should work :)\n\n[1] https://paste.opendev.org/show/bBkjxk0uxv8buTgIcDlP/","commit_id":"8efd3cec46746dc81bff721808b578b45b5ad6eb"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"d9f094ed5053aa565e16e54b5ad5d67edde38450","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a0274a2b_53f8089c","in_reply_to":"51e0df8b_e801128b","updated":"2024-03-06 22:49:47.000000000","message":"more details in the job run: https://zuul.opendev.org/t/openstack/build/8f5fce21252a44b2bc42d84ea045eeef/log/controller/logs/screen-m-shr.txt?severity\u003d4#3010-3034","commit_id":"8efd3cec46746dc81bff721808b578b45b5ad6eb"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"36a19b57b507f157fbe5ed223ee1b10f1c73052f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5c34c839_a4dabf8f","in_reply_to":"a0274a2b_53f8089c","updated":"2024-03-07 09:00:14.000000000","message":"Thanks for pointing this, I fixed the same.","commit_id":"8efd3cec46746dc81bff721808b578b45b5ad6eb"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"0406333ffe8218b7931df1a07eda8e53f05122c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"ac802f69_2d11a54b","updated":"2024-03-07 13:30:18.000000000","message":"LGTM, thank you for your hard work on this change Gireesh! :)","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"5578a23d_e329d2d4","updated":"2024-03-08 20:11:14.000000000","message":"Thank you Gireesh; i\u0027ve some comments inline...","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fafb502278f1d88398e6daf824272a9f9a478494","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"66ea536c_72859b10","updated":"2024-03-08 05:33:04.000000000","message":"recheck","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"de4ccf26e8e5d091503d35f4ec3fe1550808aa0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"3b961dad_bdacc0fd","updated":"2024-03-07 16:17:40.000000000","message":"recheck\nKnown issue in the dummy driver job","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"65b71b09_7e903be5","updated":"2024-03-10 23:30:04.000000000","message":"Thanks; please see further comments inline","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a173c088a11b081a38c8c0784e4e422ea82c5a7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"67b8761e_c5f3ef4f","updated":"2024-03-11 15:59:58.000000000","message":"Looks like we have one further issue","commit_id":"56e16169c4f163db2b60f6121575f60e31176ff0"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"9955d7ba81f47950c7bb60681ce0a676107d5e88","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"b596553b_300342c5","updated":"2024-03-11 15:22:05.000000000","message":"One of the backup tempest test is failing. I fixed that and raise the patch \nhttps://review.opendev.org/c/openstack/manila-tempest-plugin/+/912466","commit_id":"56e16169c4f163db2b60f6121575f60e31176ff0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"829a9c919ff4cfed698a847a3acc97ebe65138b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"5db428cb_80fbf0c9","updated":"2024-03-12 20:43:14.000000000","message":"LGTM, thank you for your hard work on this change and for posting the manual testing results. That is really helpful. Let\u0027s get this in!","commit_id":"6909a7c213eb3f453bb8de0410da71b0c32d84d2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"745f37f1746e3a6b567dd94262dfe09bc88fb0a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"e8967fba_3b681fcb","updated":"2024-03-12 17:34:46.000000000","message":"LGTM; thanks Gireesh","commit_id":"6909a7c213eb3f453bb8de0410da71b0c32d84d2"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"2199d80c817483433174451ca819f60c6e6aa5a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"e235a1dc_3dfe905d","updated":"2024-03-12 14:51:45.000000000","message":"recheck","commit_id":"6909a7c213eb3f453bb8de0410da71b0c32d84d2"}],"manila/api/views/share_backups.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":66,"context_line":"            \u0027availability_zone\u0027: backup.get(\u0027availability_zone\u0027),"},{"line_number":67,"context_line":"            \u0027progress\u0027: backup.get(\u0027progress\u0027),"},{"line_number":68,"context_line":"            \u0027restore_progress\u0027: backup.get(\u0027restore_progress\u0027),"},{"line_number":69,"context_line":"            \u0027backup_type\u0027: backup.get(\u0027backup_type\u0027),"},{"line_number":70,"context_line":"        }"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        if policy.check_is_host_admin(context):"}],"source_content_type":"text/x-python","patch_set":14,"id":"beddc942_41a3c18f","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":53},"updated":"2024-03-10 23:30:04.000000000","message":"you\u0027ll need to create a new versioned method like this: https://github.com/openstack/manila/blob/master/manila/api/views/shares.py#L210-L212\n\n\nadd your new method\u0027s name to the class\u0027s version modifier: https://github.com/openstack/manila/blob/master/manila/api/views/shares.py#L25C5-L25C30","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            \u0027availability_zone\u0027: backup.get(\u0027availability_zone\u0027),"},{"line_number":67,"context_line":"            \u0027progress\u0027: backup.get(\u0027progress\u0027),"},{"line_number":68,"context_line":"            \u0027restore_progress\u0027: backup.get(\u0027restore_progress\u0027),"},{"line_number":69,"context_line":"            \u0027backup_type\u0027: backup.get(\u0027backup_type\u0027),"},{"line_number":70,"context_line":"        }"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        if policy.check_is_host_admin(context):"}],"source_content_type":"text/x-python","patch_set":14,"id":"a411ae6b_d1f54af7","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":53},"in_reply_to":"beddc942_41a3c18f","updated":"2024-03-11 09:16:04.000000000","message":"Thanks for these details, I made the changes as you suggested. Please review once again to make sure if anything is missing here.","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a173c088a11b081a38c8c0784e4e422ea82c5a7","unresolved":true,"context_lines":[{"line_number":70,"context_line":"            \u0027availability_zone\u0027: backup.get(\u0027availability_zone\u0027),"},{"line_number":71,"context_line":"            \u0027progress\u0027: backup.get(\u0027progress\u0027),"},{"line_number":72,"context_line":"            \u0027restore_progress\u0027: backup.get(\u0027restore_progress\u0027),"},{"line_number":73,"context_line":"            \u0027backup_type\u0027: backup.get(\u0027backup_type\u0027),"},{"line_number":74,"context_line":"        }"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        if policy.check_is_host_admin(context):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7c4ad654_775f8bc1","line":73,"updated":"2024-03-11 15:59:58.000000000","message":"this line should be removed; the idea of using a versioned method is defeated otherwise..","commit_id":"56e16169c4f163db2b60f6121575f60e31176ff0"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"7278f7dae75bf53a0240e5c832dace0cc9f0b382","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            \u0027availability_zone\u0027: backup.get(\u0027availability_zone\u0027),"},{"line_number":71,"context_line":"            \u0027progress\u0027: backup.get(\u0027progress\u0027),"},{"line_number":72,"context_line":"            \u0027restore_progress\u0027: backup.get(\u0027restore_progress\u0027),"},{"line_number":73,"context_line":"            \u0027backup_type\u0027: backup.get(\u0027backup_type\u0027),"},{"line_number":74,"context_line":"        }"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        if policy.check_is_host_admin(context):"}],"source_content_type":"text/x-python","patch_set":15,"id":"5d3c49f6_01549d26","line":73,"in_reply_to":"7c4ad654_775f8bc1","updated":"2024-03-11 17:16:03.000000000","message":"Done","commit_id":"56e16169c4f163db2b60f6121575f60e31176ff0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c0d32bdc3b145269452ded6358916058a913889e","unresolved":true,"context_lines":[{"line_number":73,"context_line":"        }"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        self.update_versioned_resource_dict(request, backup_dict, backup)"},{"line_number":76,"context_line":"        "},{"line_number":77,"context_line":"        if policy.check_is_host_admin(context):"},{"line_number":78,"context_line":"            backup_dict[\u0027host\u0027] \u003d backup.get(\u0027host\u0027)"},{"line_number":79,"context_line":"            backup_dict[\u0027topic\u0027] \u003d backup.get(\u0027topic\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"359e35df_80db431d","line":76,"updated":"2024-03-11 18:45:12.000000000","message":"please remove whitespace on this line","commit_id":"71a0465eec1a5fc7dc58c33893a88ae75834f38d"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"ab3610490a6c9c377635ab870d2a534b01eb3fbf","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        }"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        self.update_versioned_resource_dict(request, backup_dict, backup)"},{"line_number":76,"context_line":"        "},{"line_number":77,"context_line":"        if policy.check_is_host_admin(context):"},{"line_number":78,"context_line":"            backup_dict[\u0027host\u0027] \u003d backup.get(\u0027host\u0027)"},{"line_number":79,"context_line":"            backup_dict[\u0027topic\u0027] \u003d backup.get(\u0027topic\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"02a582d8_76aaf576","line":76,"in_reply_to":"359e35df_80db431d","updated":"2024-03-12 11:19:44.000000000","message":"Done","commit_id":"71a0465eec1a5fc7dc58c33893a88ae75834f38d"}],"manila/db/migrations/alembic/versions/1ab0338d610f_add_backup_type_column.py":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"839c1d29aa6d3feb2eb1e3248a94467d7ba30afd","unresolved":true,"context_lines":[{"line_number":38,"context_line":"                                                          sa.String(32),"},{"line_number":39,"context_line":"                                                          default\u003dNone))"},{"line_number":40,"context_line":"    except Exception:"},{"line_number":41,"context_line":"        LOG.error(\"Column backup_type not created!\")"},{"line_number":42,"context_line":"        raise"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"2102d160_193b94f7","line":41,"updated":"2024-03-01 12:06:45.000000000","message":"Column \u0027backup_type\u0027 not created","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                                                          sa.String(32),"},{"line_number":39,"context_line":"                                                          default\u003dNone))"},{"line_number":40,"context_line":"    except Exception:"},{"line_number":41,"context_line":"        LOG.error(\"Column backup_type not created!\")"},{"line_number":42,"context_line":"        raise"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"70cbd1f1_a9115292","line":41,"in_reply_to":"2102d160_193b94f7","updated":"2024-03-06 08:43:08.000000000","message":"Done","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"05868579691ada5ff533b00e837d14e210a35360","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# revision identifiers, used by Alembic."},{"line_number":22,"context_line":"revision \u003d \u00271ab0338d610f\u0027"},{"line_number":23,"context_line":"down_revision \u003d \u002799d328f0a3d2\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from alembic import op"},{"line_number":26,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":11,"id":"13e9114b_218d7e26","line":23,"range":{"start_line":23,"start_character":17,"end_line":23,"end_character":29},"updated":"2024-03-08 18:10:04.000000000","message":"human readable export locations is in the gate now. could you please update this?","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fa6cacb19e35406f7fc3858e9d487c08489e3a2a","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# revision identifiers, used by Alembic."},{"line_number":22,"context_line":"revision \u003d \u00271ab0338d610f\u0027"},{"line_number":23,"context_line":"down_revision \u003d \u002799d328f0a3d2\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from alembic import op"},{"line_number":26,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":11,"id":"732726a2_cbc26f5a","line":23,"range":{"start_line":23,"start_character":17,"end_line":23,"end_character":29},"in_reply_to":"13e9114b_218d7e26","updated":"2024-03-09 13:28:36.000000000","message":"Done","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"715270fcee9bc46703b9e92ec90a144743688c62","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# revision identifiers, used by Alembic."},{"line_number":22,"context_line":"revision \u003d \u00271ab0338d610f\u0027"},{"line_number":23,"context_line":"down_revision \u003d \u002799d328f0a3d2\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from alembic import op"},{"line_number":26,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":11,"id":"889e90af_2c6c360d","line":23,"range":{"start_line":23,"start_character":17,"end_line":23,"end_character":29},"in_reply_to":"732726a2_cbc26f5a","updated":"2024-03-09 23:16:15.000000000","message":"you updated the wrong hash; you\u0027ll need to update the down_revision to \"6e32091979e0\";","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e42cb21cb24b7f8a16e2a44a7cffe747da61b1a2","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# revision identifiers, used by Alembic."},{"line_number":22,"context_line":"revision \u003d \u00271ab0338d610f\u0027"},{"line_number":23,"context_line":"down_revision \u003d \u002799d328f0a3d2\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from alembic import op"},{"line_number":26,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":11,"id":"55eb0d2a_1e7b4e85","line":23,"range":{"start_line":23,"start_character":17,"end_line":23,"end_character":29},"in_reply_to":"889e90af_2c6c360d","updated":"2024-03-10 12:34:07.000000000","message":"Thanks for pointing this.","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    try:"},{"line_number":37,"context_line":"        op.add_column(share_backups_table_name, sa.Column(column_name,"},{"line_number":38,"context_line":"                                                          sa.String(32),"},{"line_number":39,"context_line":"                                                          default\u003dNone))"},{"line_number":40,"context_line":"    except Exception:"},{"line_number":41,"context_line":"        LOG.error(\"Column \u0027backup_type\u0027 not created!\")"},{"line_number":42,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":11,"id":"294c852c_b98e5aba","line":39,"range":{"start_line":39,"start_character":58,"end_line":39,"end_character":65},"updated":"2024-03-08 20:11:14.000000000","message":"please use:\n\nnullable\u003dTrue instead..","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fa6cacb19e35406f7fc3858e9d487c08489e3a2a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    try:"},{"line_number":37,"context_line":"        op.add_column(share_backups_table_name, sa.Column(column_name,"},{"line_number":38,"context_line":"                                                          sa.String(32),"},{"line_number":39,"context_line":"                                                          default\u003dNone))"},{"line_number":40,"context_line":"    except Exception:"},{"line_number":41,"context_line":"        LOG.error(\"Column \u0027backup_type\u0027 not created!\")"},{"line_number":42,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":11,"id":"528102d4_7d374d34","line":39,"range":{"start_line":39,"start_character":58,"end_line":39,"end_character":65},"in_reply_to":"294c852c_b98e5aba","updated":"2024-03-09 13:28:36.000000000","message":"Changed as suggested.","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"}],"manila/db/migrations/alembic/versions/2f27d904214c_add_backup_type_column.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"add_backup_type_column"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Revision ID: 2f27d904214c"},{"line_number":16,"context_line":"Revises: 6e32091979e0"},{"line_number":17,"context_line":"Create Date: 2024-03-10 23:16:18.130654"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9a539270_8d3d7c70","line":15,"range":{"start_line":15,"start_character":13,"end_line":15,"end_character":25},"updated":"2024-03-10 23:30:04.000000000","message":"for future reference, this revision ID doesn\u0027t need to change... its a hash, it can stay the same (with no risk of collision) even when you modify the \"down_revision\"","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"add_backup_type_column"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Revision ID: 2f27d904214c"},{"line_number":16,"context_line":"Revises: 6e32091979e0"},{"line_number":17,"context_line":"Create Date: 2024-03-10 23:16:18.130654"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"d9aa3fac_e3b65099","line":15,"range":{"start_line":15,"start_character":13,"end_line":15,"end_character":25},"in_reply_to":"9a539270_8d3d7c70","updated":"2024-03-11 09:16:04.000000000","message":"Last time I generated this file using old code due to that \u0027down_revision\u0027 was not updated properly but this time, I first rebase my code (get the master and on top of that cherry-pick my changes) and then generate this file. As I am generating this from latest code then hope so there is no issue. So instead of updating the hash manually I thought it better to generate the new file from latest code. \nPlease correct me if I am wrong here","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7a173c088a11b081a38c8c0784e4e422ea82c5a7","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"add_backup_type_column"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Revision ID: 2f27d904214c"},{"line_number":16,"context_line":"Revises: 6e32091979e0"},{"line_number":17,"context_line":"Create Date: 2024-03-10 23:16:18.130654"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"8cc5a2c1_98d8dddd","line":15,"range":{"start_line":15,"start_character":13,"end_line":15,"end_character":25},"in_reply_to":"d9aa3fac_e3b65099","updated":"2024-03-11 15:59:58.000000000","message":"nope, not wrong :) That\u0027s a good approach... but, a bit of heavy lifting; i\u0027d just update the down_revision (and the file name) and be done with it.. but your method does the same thing, with the added advantage of adding a sane \"Create Date\"","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"}],"manila/share/api.py":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"839c1d29aa6d3feb2eb1e3248a94467d7ba30afd","unresolved":true,"context_lines":[{"line_number":3881,"context_line":"        try:"},{"line_number":3882,"context_line":"            backup_type \u003d None"},{"line_number":3883,"context_line":"            if backup.get(\u0027backup_options\u0027):"},{"line_number":3884,"context_line":"                backup_type \u003d backup.get(\u0027backup_options\u0027, {}"},{"line_number":3885,"context_line":"                                         ).get(constants.BACKUP_TYPE)"},{"line_number":3886,"context_line":"            backup_ref \u003d self.db.share_backup_create("},{"line_number":3887,"context_line":"                context, share[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"c94a15ba_02ecd67b","line":3884,"updated":"2024-03-01 12:06:45.000000000","message":"Inside if check no need to provide {} i.e. backup.get(\u0027backup_options\u0027).get.. should be correct","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","unresolved":true,"context_lines":[{"line_number":3881,"context_line":"        try:"},{"line_number":3882,"context_line":"            backup_type \u003d None"},{"line_number":3883,"context_line":"            if backup.get(\u0027backup_options\u0027):"},{"line_number":3884,"context_line":"                backup_type \u003d backup.get(\u0027backup_options\u0027, {}"},{"line_number":3885,"context_line":"                                         ).get(constants.BACKUP_TYPE)"},{"line_number":3886,"context_line":"            backup_ref \u003d self.db.share_backup_create("},{"line_number":3887,"context_line":"                context, share[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"d221e824_ded14f40","line":3884,"in_reply_to":"c94a15ba_02ecd67b","updated":"2024-03-04 14:37:16.000000000","message":"IMHO Gireesh is doing it the correct way. Keeping with the dictionary as a default can ensure that if the backup options is an empty dictionary, we\u0027ll still not fail.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":false,"context_lines":[{"line_number":3881,"context_line":"        try:"},{"line_number":3882,"context_line":"            backup_type \u003d None"},{"line_number":3883,"context_line":"            if backup.get(\u0027backup_options\u0027):"},{"line_number":3884,"context_line":"                backup_type \u003d backup.get(\u0027backup_options\u0027, {}"},{"line_number":3885,"context_line":"                                         ).get(constants.BACKUP_TYPE)"},{"line_number":3886,"context_line":"            backup_ref \u003d self.db.share_backup_create("},{"line_number":3887,"context_line":"                context, share[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"0841e1cd_23f7409e","line":3884,"in_reply_to":"d221e824_ded14f40","updated":"2024-03-06 08:43:08.000000000","message":"Kiran agree with you point but there is no harm to adding extra validation so going with carlos suggestion","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","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_type \u003d None"},{"line_number":3883,"context_line":"            if backup.get(\u0027backup_options\u0027):"},{"line_number":3884,"context_line":"                backup_type \u003d backup.get(\u0027backup_options\u0027, {}"},{"line_number":3885,"context_line":"                                         ).get(constants.BACKUP_TYPE)"},{"line_number":3886,"context_line":"            backup_ref \u003d self.db.share_backup_create("},{"line_number":3887,"context_line":"                context, share[\u0027id\u0027],"},{"line_number":3888,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":11,"id":"5caae5d3_8aa11256","line":3885,"range":{"start_line":3882,"start_character":0,"end_line":3885,"end_character":69},"updated":"2024-03-08 20:11:14.000000000","message":"simply:\n\n```\n   backup_type \u003d (backup.get(\u0027backup_options\u0027) \n                 or {})).get(constants.BACKUP_TYPE)\n```","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fa6cacb19e35406f7fc3858e9d487c08489e3a2a","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_type \u003d None"},{"line_number":3883,"context_line":"            if backup.get(\u0027backup_options\u0027):"},{"line_number":3884,"context_line":"                backup_type \u003d backup.get(\u0027backup_options\u0027, {}"},{"line_number":3885,"context_line":"                                         ).get(constants.BACKUP_TYPE)"},{"line_number":3886,"context_line":"            backup_ref \u003d self.db.share_backup_create("},{"line_number":3887,"context_line":"                context, share[\u0027id\u0027],"},{"line_number":3888,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":11,"id":"2bd491f2_53833ada","line":3885,"range":{"start_line":3882,"start_character":0,"end_line":3885,"end_character":69},"in_reply_to":"5caae5d3_8aa11256","updated":"2024-03-09 13:28:36.000000000","message":"This giving some error but I change the code as below and it is working fine \nbackup_type \u003d backup.get(\u0027backup_options\u0027) and backup.get(\n                \u0027backup_options\u0027).get(constants.BACKUP_TYPE)\n \n In this case if backup.get(\u0027backup_options\u0027) returns None then backup_type \n is None else it will move to other condition and get that value.","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":3934,"context_line":"        backup_ref \u003d {}"},{"line_number":3935,"context_line":"        try:"},{"line_number":3936,"context_line":"            backup_type \u003d backup.get(\u0027backup_options\u0027) and backup.get("},{"line_number":3937,"context_line":"                \u0027backup_options\u0027).get(constants.BACKUP_TYPE)"},{"line_number":3938,"context_line":"            backup_ref \u003d self.db.share_backup_create("},{"line_number":3939,"context_line":"                context, share[\u0027id\u0027],"},{"line_number":3940,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":14,"id":"e3f7152e_31f687cf","line":3937,"range":{"start_line":3937,"start_character":59,"end_line":3937,"end_character":60},"updated":"2024-03-10 23:30:04.000000000","message":"Can you move the \"backup_type\" validation here?\nyou don\u0027t need to rollback the share\u0027s status, or create a backup db entry if an incorrect backup_type was used.\n\n\nAlso, only the backup creation in the database, and the quota operation need to be inside the try..except block.","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":3934,"context_line":"        backup_ref \u003d {}"},{"line_number":3935,"context_line":"        try:"},{"line_number":3936,"context_line":"            backup_type \u003d backup.get(\u0027backup_options\u0027) and backup.get("},{"line_number":3937,"context_line":"                \u0027backup_options\u0027).get(constants.BACKUP_TYPE)"},{"line_number":3938,"context_line":"            backup_ref \u003d self.db.share_backup_create("},{"line_number":3939,"context_line":"                context, share[\u0027id\u0027],"},{"line_number":3940,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":14,"id":"55ac4d75_5aa909a5","line":3937,"range":{"start_line":3937,"start_character":59,"end_line":3937,"end_character":60},"in_reply_to":"e3f7152e_31f687cf","updated":"2024-03-11 09:16:04.000000000","message":"Thanks, nice, this is right approach, Moved the code before before try block or before adding the entry to db.","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":3988,"context_line":"                if previous_backup_type !\u003d current_backup_type:"},{"line_number":3989,"context_line":"                    err_msg \u003d (\"Wrong backup type \u0027%(backup_type)s\u0027 \""},{"line_number":3990,"context_line":"                               \"provided while creating the backup. \""},{"line_number":3991,"context_line":"                               \"Please provide the correct backup type \""},{"line_number":3992,"context_line":"                               \"\u0027%(correct_backup_type)s\u0027.\""},{"line_number":3993,"context_line":"                               % {\u0027backup_type\u0027: current_backup_type,"},{"line_number":3994,"context_line":"                                  \u0027correct_backup_type\u0027: previous_backup_type})"}],"source_content_type":"text/x-python","patch_set":14,"id":"679593a5_f6d5937d","line":3991,"range":{"start_line":3991,"start_character":32,"end_line":3991,"end_character":38},"updated":"2024-03-10 23:30:04.000000000","message":"do not use \"Please\" in the error message.\n\nMaybe:\n\n\"Share %(share)s has existing backups with backup_type: %(correct_backup_type)s. You must delete these backups to schedule a backup with a different backup_type, or re-use the same backup_type\".","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":3988,"context_line":"                if previous_backup_type !\u003d current_backup_type:"},{"line_number":3989,"context_line":"                    err_msg \u003d (\"Wrong backup type \u0027%(backup_type)s\u0027 \""},{"line_number":3990,"context_line":"                               \"provided while creating the backup. \""},{"line_number":3991,"context_line":"                               \"Please provide the correct backup type \""},{"line_number":3992,"context_line":"                               \"\u0027%(correct_backup_type)s\u0027.\""},{"line_number":3993,"context_line":"                               % {\u0027backup_type\u0027: current_backup_type,"},{"line_number":3994,"context_line":"                                  \u0027correct_backup_type\u0027: previous_backup_type})"}],"source_content_type":"text/x-python","patch_set":14,"id":"ddf515f8_33eb6fb0","line":3991,"range":{"start_line":3991,"start_character":32,"end_line":3991,"end_character":38},"in_reply_to":"679593a5_f6d5937d","updated":"2024-03-11 09:16:04.000000000","message":"Sure. I put this message.","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":4001,"context_line":"                            \u0027status\u0027: constants.STATUS_ERROR,"},{"line_number":4002,"context_line":"                            \u0027fail_reason\u0027: err_msg,"},{"line_number":4003,"context_line":"                        }"},{"line_number":4004,"context_line":"                    )"},{"line_number":4005,"context_line":"            self.share_rpcapi.create_backup(context, backup_ref)"},{"line_number":4006,"context_line":"        elif topic \u003d\u003d CONF.data_topic:"},{"line_number":4007,"context_line":"            data_rpc \u003d data_rpcapi.DataAPI()"}],"source_content_type":"text/x-python","patch_set":14,"id":"8589edee_72ff4fa1","line":4004,"range":{"start_line":4004,"start_character":20,"end_line":4004,"end_character":21},"updated":"2024-03-10 23:30:04.000000000","message":"this error needs to raise an HTTPBadRequest? Currently, you\u0027re setting the backup_type to error, share to available, but continuing to create the backup","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":4001,"context_line":"                            \u0027status\u0027: constants.STATUS_ERROR,"},{"line_number":4002,"context_line":"                            \u0027fail_reason\u0027: err_msg,"},{"line_number":4003,"context_line":"                        }"},{"line_number":4004,"context_line":"                    )"},{"line_number":4005,"context_line":"            self.share_rpcapi.create_backup(context, backup_ref)"},{"line_number":4006,"context_line":"        elif topic \u003d\u003d CONF.data_topic:"},{"line_number":4007,"context_line":"            data_rpc \u003d data_rpcapi.DataAPI()"}],"source_content_type":"text/x-python","patch_set":14,"id":"ef613d2e_3bf6c017","line":4004,"range":{"start_line":4004,"start_character":20,"end_line":4004,"end_character":21},"in_reply_to":"8589edee_72ff4fa1","updated":"2024-03-11 09:16:04.000000000","message":"Throwing raise exc.HTTPBadRequest(explanation\u003derr_msg % msg_args) exception","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"}],"manila/share/manager.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","unresolved":true,"context_lines":[{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"},{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"},{"line_number":5113,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027)"},{"line_number":5114,"context_line":"            current_backup_type \u003d backup_options.get(constants.BACKUP_TYPE)"},{"line_number":5115,"context_line":"            if previous_backup_type !\u003d current_backup_type:"}],"source_content_type":"text/x-python","patch_set":5,"id":"721cee31_26887172","line":5112,"range":{"start_line":5112,"start_character":12,"end_line":5112,"end_character":68},"updated":"2024-03-04 14:37:16.000000000","message":"what if there\u0027s more than one? How would we go about choosing?","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":false,"context_lines":[{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"},{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"},{"line_number":5113,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027)"},{"line_number":5114,"context_line":"            current_backup_type \u003d backup_options.get(constants.BACKUP_TYPE)"},{"line_number":5115,"context_line":"            if previous_backup_type !\u003d current_backup_type:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5940664d_d4f39667","line":5112,"range":{"start_line":5112,"start_character":12,"end_line":5112,"end_character":68},"in_reply_to":"721cee31_26887172","updated":"2024-03-06 08:43:08.000000000","message":"we will always have same backup type for one share. so even we have multiple backups all will have the same backup type. so logic here is \n- for first backup it will not go inside this condition and backup created.\n- for second backup it will check what if the previous backup type is different then current backup type then we will throw the exception, if current and previous backup type are same we go ahead and create the second backup. So in this case will always have same backup type.\nso we can choose any but if we chose other then backup[0] so my program can failed at line no 5112 (index 0 is out of bounds) while creating the second backup.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"839c1d29aa6d3feb2eb1e3248a94467d7ba30afd","unresolved":true,"context_lines":[{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"},{"line_number":5113,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027)"},{"line_number":5114,"context_line":"            current_backup_type \u003d backup_options.get(constants.BACKUP_TYPE)"},{"line_number":5115,"context_line":"            if previous_backup_type !\u003d current_backup_type:"},{"line_number":5116,"context_line":"                err_msg \u003d (\"Wrong backup type \u0027%(backup_type)s\u0027 provided\""}],"source_content_type":"text/x-python","patch_set":5,"id":"8df9b924_ed54a1fa","line":5113,"updated":"2024-03-01 12:06:45.000000000","message":"This can be None ??\n\nAlso this means, if backup is created for share X of backup_type \u0027ABC\u0027, all next/consecutive backups must also be of type \u0027ABC\u0027?? Otherwise Manila wont allow to create backup. Is this assumption correct ?","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":false,"context_lines":[{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"},{"line_number":5113,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027)"},{"line_number":5114,"context_line":"            current_backup_type \u003d backup_options.get(constants.BACKUP_TYPE)"},{"line_number":5115,"context_line":"            if previous_backup_type !\u003d current_backup_type:"},{"line_number":5116,"context_line":"                err_msg \u003d (\"Wrong backup type \u0027%(backup_type)s\u0027 provided\""}],"source_content_type":"text/x-python","patch_set":5,"id":"3506654c_4d66379e","line":5113,"in_reply_to":"6f803f06_f6806216","updated":"2024-03-06 08:43:08.000000000","message":"Yes kiran that is right.\n\nin line 5113, I didn\u0027t validate this as we are already validating this in share/api. From share/api we call share/manager and this part of code will be only execute when  backup.get(\u0027backup_options\u0027) is not None api.\nPlease refer code in share/api.py file, starting with line no 3913.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","unresolved":true,"context_lines":[{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"},{"line_number":5113,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027)"},{"line_number":5114,"context_line":"            current_backup_type \u003d backup_options.get(constants.BACKUP_TYPE)"},{"line_number":5115,"context_line":"            if previous_backup_type !\u003d current_backup_type:"},{"line_number":5116,"context_line":"                err_msg \u003d (\"Wrong backup type \u0027%(backup_type)s\u0027 provided\""}],"source_content_type":"text/x-python","patch_set":5,"id":"6f803f06_f6806216","line":5113,"in_reply_to":"8df9b924_ed54a1fa","updated":"2024-03-04 14:37:16.000000000","message":"++ on the possibility of this being None","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","unresolved":true,"context_lines":[{"line_number":5156,"context_line":"            share_instance \u003d self._get_share_instance(context, share)"},{"line_number":5157,"context_line":"            result \u003d {}"},{"line_number":5158,"context_line":"            try:"},{"line_number":5159,"context_line":"                share_server \u003d self._get_share_server(context, share)"},{"line_number":5160,"context_line":"                result \u003d self.driver.create_backup_continue("},{"line_number":5161,"context_line":"                    context, share_instance, backup, share_server\u003dshare_server)"},{"line_number":5162,"context_line":"                progress \u003d result.get(\u0027total_progress\u0027, \u00270\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"f959c413_b6ded04f","line":5159,"range":{"start_line":5159,"start_character":63,"end_line":5159,"end_character":68},"updated":"2024-03-04 14:37:16.000000000","message":"shouldn\u0027t we be sending the share instance here as a parameter?","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":false,"context_lines":[{"line_number":5156,"context_line":"            share_instance \u003d self._get_share_instance(context, share)"},{"line_number":5157,"context_line":"            result \u003d {}"},{"line_number":5158,"context_line":"            try:"},{"line_number":5159,"context_line":"                share_server \u003d self._get_share_server(context, share)"},{"line_number":5160,"context_line":"                result \u003d self.driver.create_backup_continue("},{"line_number":5161,"context_line":"                    context, share_instance, backup, share_server\u003dshare_server)"},{"line_number":5162,"context_line":"                progress \u003d result.get(\u0027total_progress\u0027, \u00270\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f8a013d_81990c88","line":5159,"range":{"start_line":5159,"start_character":63,"end_line":5159,"end_character":68},"in_reply_to":"f959c413_b6ded04f","updated":"2024-03-06 08:43:08.000000000","message":"yes it is better to provide the instance, changed as suggested.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","unresolved":true,"context_lines":[{"line_number":5191,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":5192,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":5193,"context_line":"        try:"},{"line_number":5194,"context_line":"            share_server \u003d self._get_share_server(context, share)"},{"line_number":5195,"context_line":"            self.driver.delete_backup(context, backup, share_instance,"},{"line_number":5196,"context_line":"                                      share_server\u003dshare_server)"},{"line_number":5197,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":5,"id":"48bcc9db_f60f2ba9","line":5194,"range":{"start_line":5194,"start_character":59,"end_line":5194,"end_character":64},"updated":"2024-03-04 14:37:16.000000000","message":"shouldn\u0027t we be sending the share instance here as a parameter?","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":false,"context_lines":[{"line_number":5191,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":5192,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":5193,"context_line":"        try:"},{"line_number":5194,"context_line":"            share_server \u003d self._get_share_server(context, share)"},{"line_number":5195,"context_line":"            self.driver.delete_backup(context, backup, share_instance,"},{"line_number":5196,"context_line":"                                      share_server\u003dshare_server)"},{"line_number":5197,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf91cc55_10c6fb92","line":5194,"range":{"start_line":5194,"start_character":59,"end_line":5194,"end_character":64},"in_reply_to":"48bcc9db_f60f2ba9","updated":"2024-03-06 08:43:08.000000000","message":"done","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","unresolved":true,"context_lines":[{"line_number":5229,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":5230,"context_line":""},{"line_number":5231,"context_line":"        try:"},{"line_number":5232,"context_line":"            share_server \u003d self._get_share_server(context, share)"},{"line_number":5233,"context_line":"            self.driver.restore_backup(context, backup, share_instance,"},{"line_number":5234,"context_line":"                                       share_server\u003dshare_server)"},{"line_number":5235,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":5,"id":"0f44d2a7_a211fa7e","line":5232,"range":{"start_line":5232,"start_character":59,"end_line":5232,"end_character":64},"updated":"2024-03-04 14:37:16.000000000","message":"shouldn\u0027t we be sending the share instance here as a parameter?","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":false,"context_lines":[{"line_number":5229,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":5230,"context_line":""},{"line_number":5231,"context_line":"        try:"},{"line_number":5232,"context_line":"            share_server \u003d self._get_share_server(context, share)"},{"line_number":5233,"context_line":"            self.driver.restore_backup(context, backup, share_instance,"},{"line_number":5234,"context_line":"                                       share_server\u003dshare_server)"},{"line_number":5235,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":5,"id":"6b950c26_26f39bf9","line":5232,"range":{"start_line":5232,"start_character":59,"end_line":5232,"end_character":64},"in_reply_to":"0f44d2a7_a211fa7e","updated":"2024-03-06 08:43:08.000000000","message":"Done","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","unresolved":true,"context_lines":[{"line_number":5270,"context_line":"                share_id \u003d share[\u0027id\u0027]"},{"line_number":5271,"context_line":"                share_instance \u003d self._get_share_instance(context, share)"},{"line_number":5272,"context_line":"                try:"},{"line_number":5273,"context_line":"                    share_server \u003d self._get_share_server(context, share)"},{"line_number":5274,"context_line":"                    result \u003d self.driver.restore_backup_continue("},{"line_number":5275,"context_line":"                        context, backup, share_instance,"},{"line_number":5276,"context_line":"                        share_server\u003dshare_server)"}],"source_content_type":"text/x-python","patch_set":5,"id":"f8a5afd3_3dc041ac","line":5273,"range":{"start_line":5273,"start_character":67,"end_line":5273,"end_character":72},"updated":"2024-03-04 14:37:16.000000000","message":"shouldn\u0027t we be sending the share instance here as a parameter?","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","unresolved":false,"context_lines":[{"line_number":5270,"context_line":"                share_id \u003d share[\u0027id\u0027]"},{"line_number":5271,"context_line":"                share_instance \u003d self._get_share_instance(context, share)"},{"line_number":5272,"context_line":"                try:"},{"line_number":5273,"context_line":"                    share_server \u003d self._get_share_server(context, share)"},{"line_number":5274,"context_line":"                    result \u003d self.driver.restore_backup_continue("},{"line_number":5275,"context_line":"                        context, backup, share_instance,"},{"line_number":5276,"context_line":"                        share_server\u003dshare_server)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3965ae55_559e2fef","line":5273,"range":{"start_line":5273,"start_character":67,"end_line":5273,"end_character":72},"in_reply_to":"f8a5afd3_3dc041ac","updated":"2024-03-06 08:43:08.000000000","message":"done, changes as suggested","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8bfeead059f7938beeb27acf3da7a95d31aee370","unresolved":true,"context_lines":[{"line_number":5103,"context_line":""},{"line_number":5104,"context_line":"        LOG.info(\u0027Create backup started, backup: %(backup)s share: \u0027"},{"line_number":5105,"context_line":"                 \u0027%(share)s.\u0027, {\u0027backup\u0027: backup_id, \u0027share\u0027: share_id})"},{"line_number":5106,"context_line":"        # Validate right backup type is provided"},{"line_number":5107,"context_line":"        filters \u003d {\u0027status\u0027: constants.STATUS_AVAILABLE,"},{"line_number":5108,"context_line":"                   \u0027share_id\u0027: share_id,"},{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"}],"source_content_type":"text/x-python","patch_set":9,"id":"143223f9_1a32ab61","line":5106,"updated":"2024-03-07 10:23:26.000000000","message":"If this is generic code (checking for previous backup type) and applicable to both data manager and share manager, can we move it to manila/share/api.py ?","commit_id":"0869b388403c8bd8c75c3dff489412a9a62d21ec"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"87af095d7e021cd9b04b8728b15c0fb653c0becc","unresolved":false,"context_lines":[{"line_number":5103,"context_line":""},{"line_number":5104,"context_line":"        LOG.info(\u0027Create backup started, backup: %(backup)s share: \u0027"},{"line_number":5105,"context_line":"                 \u0027%(share)s.\u0027, {\u0027backup\u0027: backup_id, \u0027share\u0027: share_id})"},{"line_number":5106,"context_line":"        # Validate right backup type is provided"},{"line_number":5107,"context_line":"        filters \u003d {\u0027status\u0027: constants.STATUS_AVAILABLE,"},{"line_number":5108,"context_line":"                   \u0027share_id\u0027: share_id,"},{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"}],"source_content_type":"text/x-python","patch_set":9,"id":"86908f48_dfd76a4f","line":5106,"in_reply_to":"143223f9_1a32ab61","updated":"2024-03-07 13:12:35.000000000","message":"This is specific to share manager, backup_type is not required for normal backup operation.","commit_id":"0869b388403c8bd8c75c3dff489412a9a62d21ec"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","unresolved":false,"context_lines":[{"line_number":5103,"context_line":""},{"line_number":5104,"context_line":"        LOG.info(\u0027Create backup started, backup: %(backup)s share: \u0027"},{"line_number":5105,"context_line":"                 \u0027%(share)s.\u0027, {\u0027backup\u0027: backup_id, \u0027share\u0027: share_id})"},{"line_number":5106,"context_line":"        # Validate right backup type is provided"},{"line_number":5107,"context_line":"        filters \u003d {\u0027status\u0027: constants.STATUS_AVAILABLE,"},{"line_number":5108,"context_line":"                   \u0027share_id\u0027: share_id,"},{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fcb00d8_63b1458c","line":5106,"in_reply_to":"86908f48_dfd76a4f","updated":"2024-03-08 20:11:14.000000000","message":"I don\u0027t agree with this; and have pointed it out in my comment. \n\nwhile backup_type is neither required or supported for generic backup, if one is provided, we know its a driver-driven backup, and we can just check it in the API","commit_id":"0869b388403c8bd8c75c3dff489412a9a62d21ec"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","unresolved":true,"context_lines":[{"line_number":5104,"context_line":"        LOG.info(\u0027Create backup started, backup: %(backup)s share: \u0027"},{"line_number":5105,"context_line":"                 \u0027%(share)s.\u0027, {\u0027backup\u0027: backup_id, \u0027share\u0027: share_id})"},{"line_number":5106,"context_line":"        # Validate right backup type is provided"},{"line_number":5107,"context_line":"        filters \u003d {\u0027status\u0027: constants.STATUS_AVAILABLE,"},{"line_number":5108,"context_line":"                   \u0027share_id\u0027: share_id,"},{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"},{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"}],"source_content_type":"text/x-python","patch_set":11,"id":"de7a6172_485cb6f6","line":5109,"range":{"start_line":5107,"start_character":0,"end_line":5109,"end_character":45},"updated":"2024-03-08 20:11:14.000000000","message":"nit:\n\nplease format this correctly: https://docs.openstack.org/hacking/latest/user/hacking.html#dictionaries-lists","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fa6cacb19e35406f7fc3858e9d487c08489e3a2a","unresolved":false,"context_lines":[{"line_number":5104,"context_line":"        LOG.info(\u0027Create backup started, backup: %(backup)s share: \u0027"},{"line_number":5105,"context_line":"                 \u0027%(share)s.\u0027, {\u0027backup\u0027: backup_id, \u0027share\u0027: share_id})"},{"line_number":5106,"context_line":"        # Validate right backup type is provided"},{"line_number":5107,"context_line":"        filters \u003d {\u0027status\u0027: constants.STATUS_AVAILABLE,"},{"line_number":5108,"context_line":"                   \u0027share_id\u0027: share_id,"},{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"},{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"}],"source_content_type":"text/x-python","patch_set":11,"id":"eb08cd3e_fc15d044","line":5109,"range":{"start_line":5107,"start_character":0,"end_line":5109,"end_character":45},"in_reply_to":"de7a6172_485cb6f6","updated":"2024-03-09 13:28:36.000000000","message":"Done. Thanks for sharing this. Will apply this other places also","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","unresolved":true,"context_lines":[{"line_number":5107,"context_line":"        filters \u003d {\u0027status\u0027: constants.STATUS_AVAILABLE,"},{"line_number":5108,"context_line":"                   \u0027share_id\u0027: share_id,"},{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"},{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"},{"line_number":5113,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027)"},{"line_number":5114,"context_line":"            current_backup_type \u003d backup_options.get(constants.BACKUP_TYPE)"},{"line_number":5115,"context_line":"            if previous_backup_type !\u003d current_backup_type:"},{"line_number":5116,"context_line":"                err_msg \u003d (\"Wrong backup type \u0027%(backup_type)s\u0027 provided\""},{"line_number":5117,"context_line":"                           \" while creating the backup. Please provide the\""},{"line_number":5118,"context_line":"                           \" correct backup type \u0027%(correct_backup_type)s\u0027.\""},{"line_number":5119,"context_line":"                           % {\u0027backup_type\u0027: current_backup_type,"},{"line_number":5120,"context_line":"                              \u0027correct_backup_type\u0027: previous_backup_type})"},{"line_number":5121,"context_line":"                self.db.share_update("},{"line_number":5122,"context_line":"                    context, share_id,"},{"line_number":5123,"context_line":"                    {\u0027status\u0027: constants.STATUS_AVAILABLE})"},{"line_number":5124,"context_line":"                self.db.share_backup_update("},{"line_number":5125,"context_line":"                    context, backup_id,"},{"line_number":5126,"context_line":"                    {\u0027status\u0027: constants.STATUS_ERROR, \u0027fail_reason\u0027: err_msg})"},{"line_number":5127,"context_line":"                raise exception.BackupException(err_msg)"},{"line_number":5128,"context_line":"        try:"},{"line_number":5129,"context_line":"            share_server \u003d self._get_share_server(context, share)"},{"line_number":5130,"context_line":"            self.driver.create_backup(context, share_instance, backup,"}],"source_content_type":"text/x-python","patch_set":11,"id":"e1a3ead2_c337a885","line":5127,"range":{"start_line":5110,"start_character":0,"end_line":5127,"end_character":56},"updated":"2024-03-08 20:11:14.000000000","message":"why are we not doing this in the API?\n\nLogging this will not help surface the issue to an end user that\u0027s initiating this..","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"e42cb21cb24b7f8a16e2a44a7cffe747da61b1a2","unresolved":false,"context_lines":[{"line_number":5107,"context_line":"        filters \u003d {\u0027status\u0027: constants.STATUS_AVAILABLE,"},{"line_number":5108,"context_line":"                   \u0027share_id\u0027: share_id,"},{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"},{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"},{"line_number":5113,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027)"},{"line_number":5114,"context_line":"            current_backup_type \u003d backup_options.get(constants.BACKUP_TYPE)"},{"line_number":5115,"context_line":"            if previous_backup_type !\u003d current_backup_type:"},{"line_number":5116,"context_line":"                err_msg \u003d (\"Wrong backup type \u0027%(backup_type)s\u0027 provided\""},{"line_number":5117,"context_line":"                           \" while creating the backup. Please provide the\""},{"line_number":5118,"context_line":"                           \" correct backup type \u0027%(correct_backup_type)s\u0027.\""},{"line_number":5119,"context_line":"                           % {\u0027backup_type\u0027: current_backup_type,"},{"line_number":5120,"context_line":"                              \u0027correct_backup_type\u0027: previous_backup_type})"},{"line_number":5121,"context_line":"                self.db.share_update("},{"line_number":5122,"context_line":"                    context, share_id,"},{"line_number":5123,"context_line":"                    {\u0027status\u0027: constants.STATUS_AVAILABLE})"},{"line_number":5124,"context_line":"                self.db.share_backup_update("},{"line_number":5125,"context_line":"                    context, backup_id,"},{"line_number":5126,"context_line":"                    {\u0027status\u0027: constants.STATUS_ERROR, \u0027fail_reason\u0027: err_msg})"},{"line_number":5127,"context_line":"                raise exception.BackupException(err_msg)"},{"line_number":5128,"context_line":"        try:"},{"line_number":5129,"context_line":"            share_server \u003d self._get_share_server(context, share)"},{"line_number":5130,"context_line":"            self.driver.create_backup(context, share_instance, backup,"}],"source_content_type":"text/x-python","patch_set":11,"id":"ca90ff08_9d9e5c8d","line":5127,"range":{"start_line":5110,"start_character":0,"end_line":5127,"end_character":56},"in_reply_to":"5d2c6b21_e836a6c4","updated":"2024-03-10 12:34:07.000000000","message":"As suggested move the code to share/api.py file","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"715270fcee9bc46703b9e92ec90a144743688c62","unresolved":true,"context_lines":[{"line_number":5107,"context_line":"        filters \u003d {\u0027status\u0027: constants.STATUS_AVAILABLE,"},{"line_number":5108,"context_line":"                   \u0027share_id\u0027: share_id,"},{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"},{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"},{"line_number":5113,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027)"},{"line_number":5114,"context_line":"            current_backup_type \u003d backup_options.get(constants.BACKUP_TYPE)"},{"line_number":5115,"context_line":"            if previous_backup_type !\u003d current_backup_type:"},{"line_number":5116,"context_line":"                err_msg \u003d (\"Wrong backup type \u0027%(backup_type)s\u0027 provided\""},{"line_number":5117,"context_line":"                           \" while creating the backup. Please provide the\""},{"line_number":5118,"context_line":"                           \" correct backup type \u0027%(correct_backup_type)s\u0027.\""},{"line_number":5119,"context_line":"                           % {\u0027backup_type\u0027: current_backup_type,"},{"line_number":5120,"context_line":"                              \u0027correct_backup_type\u0027: previous_backup_type})"},{"line_number":5121,"context_line":"                self.db.share_update("},{"line_number":5122,"context_line":"                    context, share_id,"},{"line_number":5123,"context_line":"                    {\u0027status\u0027: constants.STATUS_AVAILABLE})"},{"line_number":5124,"context_line":"                self.db.share_backup_update("},{"line_number":5125,"context_line":"                    context, backup_id,"},{"line_number":5126,"context_line":"                    {\u0027status\u0027: constants.STATUS_ERROR, \u0027fail_reason\u0027: err_msg})"},{"line_number":5127,"context_line":"                raise exception.BackupException(err_msg)"},{"line_number":5128,"context_line":"        try:"},{"line_number":5129,"context_line":"            share_server \u003d self._get_share_server(context, share)"},{"line_number":5130,"context_line":"            self.driver.create_backup(context, share_instance, backup,"}],"source_content_type":"text/x-python","patch_set":11,"id":"5d2c6b21_e836a6c4","line":5127,"range":{"start_line":5110,"start_character":0,"end_line":5127,"end_character":56},"in_reply_to":"d884f0be_11d6cd83","updated":"2024-03-09 23:16:15.000000000","message":"I disagree with this;\n\nmaybe i dont understand why this is specific to the share/driver implementation?  \n\nif a user sends a \"backup\" JSON object with backup_options containing a backup_type you can enforce this validation in the API... \nBy adding it here in the share manager, this is already a common implementation across all share drivers as well... like i mentioned, erroring out a backup here will not provide the end user with any visibility to an option that they can correct the \"backup_type\" and retry..","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fa6cacb19e35406f7fc3858e9d487c08489e3a2a","unresolved":false,"context_lines":[{"line_number":5107,"context_line":"        filters \u003d {\u0027status\u0027: constants.STATUS_AVAILABLE,"},{"line_number":5108,"context_line":"                   \u0027share_id\u0027: share_id,"},{"line_number":5109,"context_line":"                   \u0027topic\u0027: CONF.share_topic}"},{"line_number":5110,"context_line":"        backups \u003d self.db.share_backups_get_all(context, filters)"},{"line_number":5111,"context_line":"        if len(backups) \u003e 0:"},{"line_number":5112,"context_line":"            previous_backup_type \u003d backups[0][constants.BACKUP_TYPE]"},{"line_number":5113,"context_line":"            backup_options \u003d backup.get(\u0027backup_options\u0027)"},{"line_number":5114,"context_line":"            current_backup_type \u003d backup_options.get(constants.BACKUP_TYPE)"},{"line_number":5115,"context_line":"            if previous_backup_type !\u003d current_backup_type:"},{"line_number":5116,"context_line":"                err_msg \u003d (\"Wrong backup type \u0027%(backup_type)s\u0027 provided\""},{"line_number":5117,"context_line":"                           \" while creating the backup. Please provide the\""},{"line_number":5118,"context_line":"                           \" correct backup type \u0027%(correct_backup_type)s\u0027.\""},{"line_number":5119,"context_line":"                           % {\u0027backup_type\u0027: current_backup_type,"},{"line_number":5120,"context_line":"                              \u0027correct_backup_type\u0027: previous_backup_type})"},{"line_number":5121,"context_line":"                self.db.share_update("},{"line_number":5122,"context_line":"                    context, share_id,"},{"line_number":5123,"context_line":"                    {\u0027status\u0027: constants.STATUS_AVAILABLE})"},{"line_number":5124,"context_line":"                self.db.share_backup_update("},{"line_number":5125,"context_line":"                    context, backup_id,"},{"line_number":5126,"context_line":"                    {\u0027status\u0027: constants.STATUS_ERROR, \u0027fail_reason\u0027: err_msg})"},{"line_number":5127,"context_line":"                raise exception.BackupException(err_msg)"},{"line_number":5128,"context_line":"        try:"},{"line_number":5129,"context_line":"            share_server \u003d self._get_share_server(context, share)"},{"line_number":5130,"context_line":"            self.driver.create_backup(context, share_instance, backup,"}],"source_content_type":"text/x-python","patch_set":11,"id":"d884f0be_11d6cd83","line":5127,"range":{"start_line":5110,"start_character":0,"end_line":5127,"end_character":56},"in_reply_to":"e1a3ead2_c337a885","updated":"2024-03-09 13:28:36.000000000","message":"in API layer, we just validating common things like share should not have replica or snapshot etc and base on backup option provided by user we are calling share or data service. \nThis code is specific to share/driver so I keep it here instead in API.","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"}],"manila/tests/api/v2/test_share_backups.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c0d32bdc3b145269452ded6358916058a913889e","unresolved":true,"context_lines":[{"line_number":36,"context_line":"        super(ShareBackupsApiTest, self).setUp()"},{"line_number":37,"context_line":"        self.controller \u003d share_backups.ShareBackupController()"},{"line_number":38,"context_line":"        self.resource_name \u003d self.controller.resource_name"},{"line_number":39,"context_line":"        self.api_version \u003d share_backups.MIN_SUPPORTED_API_VERSION"},{"line_number":40,"context_line":"        self.backups_req \u003d fakes.HTTPRequest.blank("},{"line_number":41,"context_line":"            \u0027/share-backups\u0027, version\u003dself.api_version,"},{"line_number":42,"context_line":"            experimental\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":16,"id":"4aff76ca_a0fc9856","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":66},"updated":"2024-03-11 18:45:12.000000000","message":"the API version is pinned for these tests.. so adding \"backup_type\" to the expected o/p like you do on line 88 will make things fail now, since \"backup_type\" is only included in api version 2.85 and beyond. I suggest adding this option conditionally:\n\n```\n\n  if self.is_microversion_ge(req_version, \u00272.85\u0027):\n       expected_backup[\u0027backup_type\u0027] \u003d None\n       \n```\n\n\nYou can add a new test case that","commit_id":"71a0465eec1a5fc7dc58c33893a88ae75834f38d"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"ab3610490a6c9c377635ab870d2a534b01eb3fbf","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        super(ShareBackupsApiTest, self).setUp()"},{"line_number":37,"context_line":"        self.controller \u003d share_backups.ShareBackupController()"},{"line_number":38,"context_line":"        self.resource_name \u003d self.controller.resource_name"},{"line_number":39,"context_line":"        self.api_version \u003d share_backups.MIN_SUPPORTED_API_VERSION"},{"line_number":40,"context_line":"        self.backups_req \u003d fakes.HTTPRequest.blank("},{"line_number":41,"context_line":"            \u0027/share-backups\u0027, version\u003dself.api_version,"},{"line_number":42,"context_line":"            experimental\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":16,"id":"196cd8d8_3a55f5c6","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":66},"in_reply_to":"4aff76ca_a0fc9856","updated":"2024-03-12 11:19:44.000000000","message":"Added this condition.","commit_id":"71a0465eec1a5fc7dc58c33893a88ae75834f38d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c0d32bdc3b145269452ded6358916058a913889e","unresolved":true,"context_lines":[{"line_number":189,"context_line":"        self.assertFalse(mock__view_builder_call.called)"},{"line_number":190,"context_line":"        self.mock_policy_check.assert_called_once_with("},{"line_number":191,"context_line":"            self.member_context, self.resource_name, \u0027get_all\u0027)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def test_list_share_backups_detail(self):"},{"line_number":194,"context_line":"        fake_backup, expected_backup \u003d self._get_fake_backup()"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        self.mock_object(share.API, \u0027get\u0027,"},{"line_number":197,"context_line":"                         mock.Mock(return_value\u003d{\u0027id\u0027: \u0027FAKE_SHAREID\u0027}))"},{"line_number":198,"context_line":"        self.mock_object(share_backups.db, \u0027share_backups_get_all\u0027,"},{"line_number":199,"context_line":"                         mock.Mock(return_value\u003d[fake_backup]))"},{"line_number":200,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":201,"context_line":"            \u0027/share-backups?share_id\u003dFAKE_SHARE_ID\u0027,"},{"line_number":202,"context_line":"            version\u003dself.api_version, experimental\u003dTrue)"},{"line_number":203,"context_line":"        req.environ[\u0027manila.context\u0027] \u003d ("},{"line_number":204,"context_line":"            self.member_context)"},{"line_number":205,"context_line":"        req_context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        res_dict \u003d self.controller.detail(req)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        self.assertEqual([expected_backup], res_dict[\u0027share_backups\u0027])"},{"line_number":210,"context_line":"        self.mock_policy_check.assert_called_once_with("},{"line_number":211,"context_line":"            req_context, self.resource_name, \u0027get_all\u0027)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def test_list_share_backups_with_limit(self):"},{"line_number":214,"context_line":"        fake_backup_1, expected_backup_1 \u003d self._get_fake_backup()"}],"source_content_type":"text/x-python","patch_set":16,"id":"13068b83_e6e9357a","line":211,"range":{"start_line":192,"start_character":0,"end_line":211,"end_character":55},"updated":"2024-03-11 18:45:12.000000000","message":"You can use ddt on this test to test with version 2.85 (or really, the LATEST_MICROVERSION)\n\n\n\n    @ddt.data(share_backups.MIN_SUPPORTED_API_VERSION,\n              api_version._MAX_API_VERSION)\n    def test_list_share_backups_detail(self, apiversion):\n        fake_backup, expected_backup \u003d self._get_fake_backup()\n\n        self.mock_object(share.API, \u0027get\u0027,\n                         mock.Mock(return_value\u003d{\u0027id\u0027: \u0027FAKE_SHAREID\u0027}))\n        self.mock_object(share_backups.db, \u0027share_backups_get_all\u0027,\n                         mock.Mock(return_value\u003d[fake_backup]))\n        req \u003d fakes.HTTPRequest.blank(\n            \u0027/share-backups?share_id\u003dFAKE_SHARE_ID\u0027,\n            version\u003dapiversion, experimental\u003dTrue)\n        req.environ[\u0027manila.context\u0027] \u003d (\n            self.member_context)\n        req_context \u003d req.environ[\u0027manila.context\u0027]\n\n        res_dict \u003d self.controller.detail(req)\n\n        self.assertEqual([expected_backup], res_dict[\u0027share_backups\u0027])\n        self.mock_policy_check.assert_called_once_with(\n            req_context, self.resource_name, \u0027get_all\u0027)","commit_id":"71a0465eec1a5fc7dc58c33893a88ae75834f38d"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"ab3610490a6c9c377635ab870d2a534b01eb3fbf","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        self.assertFalse(mock__view_builder_call.called)"},{"line_number":190,"context_line":"        self.mock_policy_check.assert_called_once_with("},{"line_number":191,"context_line":"            self.member_context, self.resource_name, \u0027get_all\u0027)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def test_list_share_backups_detail(self):"},{"line_number":194,"context_line":"        fake_backup, expected_backup \u003d self._get_fake_backup()"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        self.mock_object(share.API, \u0027get\u0027,"},{"line_number":197,"context_line":"                         mock.Mock(return_value\u003d{\u0027id\u0027: \u0027FAKE_SHAREID\u0027}))"},{"line_number":198,"context_line":"        self.mock_object(share_backups.db, \u0027share_backups_get_all\u0027,"},{"line_number":199,"context_line":"                         mock.Mock(return_value\u003d[fake_backup]))"},{"line_number":200,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":201,"context_line":"            \u0027/share-backups?share_id\u003dFAKE_SHARE_ID\u0027,"},{"line_number":202,"context_line":"            version\u003dself.api_version, experimental\u003dTrue)"},{"line_number":203,"context_line":"        req.environ[\u0027manila.context\u0027] \u003d ("},{"line_number":204,"context_line":"            self.member_context)"},{"line_number":205,"context_line":"        req_context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        res_dict \u003d self.controller.detail(req)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        self.assertEqual([expected_backup], res_dict[\u0027share_backups\u0027])"},{"line_number":210,"context_line":"        self.mock_policy_check.assert_called_once_with("},{"line_number":211,"context_line":"            req_context, self.resource_name, \u0027get_all\u0027)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def test_list_share_backups_with_limit(self):"},{"line_number":214,"context_line":"        fake_backup_1, expected_backup_1 \u003d self._get_fake_backup()"}],"source_content_type":"text/x-python","patch_set":16,"id":"7b2c26d4_e03d4a55","line":211,"range":{"start_line":192,"start_character":0,"end_line":211,"end_character":55},"in_reply_to":"13068b83_e6e9357a","updated":"2024-03-12 11:19:44.000000000","message":"Done","commit_id":"71a0465eec1a5fc7dc58c33893a88ae75834f38d"}],"manila/tests/share/test_api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":7250,"context_line":"        backup \u003d {"},{"line_number":7251,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7252,"context_line":"            \u0027backup_options\u0027: backup_opts,"},{"line_number":7253,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7254,"context_line":"        }"},{"line_number":7255,"context_line":"        self.api.create_share_backup(self.context, share, backup)"},{"line_number":7256,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"4bc12d94_9b2a5451","line":7253,"range":{"start_line":7253,"start_character":55,"end_line":7253,"end_character":56},"updated":"2024-03-10 23:30:04.000000000","message":"trailing comma","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":7250,"context_line":"        backup \u003d {"},{"line_number":7251,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7252,"context_line":"            \u0027backup_options\u0027: backup_opts,"},{"line_number":7253,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7254,"context_line":"        }"},{"line_number":7255,"context_line":"        self.api.create_share_backup(self.context, share, backup)"},{"line_number":7256,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"920cebed_87ee9d9e","line":7253,"range":{"start_line":7253,"start_character":55,"end_line":7253,"end_character":56},"in_reply_to":"4bc12d94_9b2a5451","updated":"2024-03-11 09:16:04.000000000","message":"Done","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":7269,"context_line":"        share \u003d db_utils.create_share(is_public\u003dTrue, status\u003d\u0027error\u0027)"},{"line_number":7270,"context_line":"        backup \u003d {"},{"line_number":7271,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7272,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7273,"context_line":"        }"},{"line_number":7274,"context_line":"        self.assertRaises(exception.InvalidShare,"},{"line_number":7275,"context_line":"                          self.api.create_share_backup,"}],"source_content_type":"text/x-python","patch_set":14,"id":"42ec7c65_e7f5375a","line":7272,"range":{"start_line":7272,"start_character":55,"end_line":7272,"end_character":56},"updated":"2024-03-10 23:30:04.000000000","message":"trailing comma","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":7269,"context_line":"        share \u003d db_utils.create_share(is_public\u003dTrue, status\u003d\u0027error\u0027)"},{"line_number":7270,"context_line":"        backup \u003d {"},{"line_number":7271,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7272,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7273,"context_line":"        }"},{"line_number":7274,"context_line":"        self.assertRaises(exception.InvalidShare,"},{"line_number":7275,"context_line":"                          self.api.create_share_backup,"}],"source_content_type":"text/x-python","patch_set":14,"id":"b33b13b6_0a98d197","line":7272,"range":{"start_line":7272,"start_character":55,"end_line":7272,"end_character":56},"in_reply_to":"42ec7c65_e7f5375a","updated":"2024-03-11 09:16:04.000000000","message":"Done","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":7280,"context_line":"            is_public\u003dTrue, task_state\u003d\u0027data_copying_in_progress\u0027)"},{"line_number":7281,"context_line":"        backup \u003d {"},{"line_number":7282,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7283,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7284,"context_line":"        }"},{"line_number":7285,"context_line":""},{"line_number":7286,"context_line":"        self.assertRaises(exception.ShareBusyException,"}],"source_content_type":"text/x-python","patch_set":14,"id":"cddd9671_c41d9de4","line":7283,"range":{"start_line":7283,"start_character":54,"end_line":7283,"end_character":56},"updated":"2024-03-10 23:30:04.000000000","message":"trailing comma","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":7280,"context_line":"            is_public\u003dTrue, task_state\u003d\u0027data_copying_in_progress\u0027)"},{"line_number":7281,"context_line":"        backup \u003d {"},{"line_number":7282,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7283,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7284,"context_line":"        }"},{"line_number":7285,"context_line":""},{"line_number":7286,"context_line":"        self.assertRaises(exception.ShareBusyException,"}],"source_content_type":"text/x-python","patch_set":14,"id":"0e9a2bcb_9f2ff507","line":7283,"range":{"start_line":7283,"start_character":54,"end_line":7283,"end_character":56},"in_reply_to":"cddd9671_c41d9de4","updated":"2024-03-11 09:16:04.000000000","message":"Done","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":7295,"context_line":""},{"line_number":7296,"context_line":"        backup \u003d {"},{"line_number":7297,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7298,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7299,"context_line":"        }"},{"line_number":7300,"context_line":""},{"line_number":7301,"context_line":"        self.mock_object(db_api, \u0027share_snapshot_get_all_for_share\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"011fa27c_abea4b35","line":7298,"range":{"start_line":7298,"start_character":54,"end_line":7298,"end_character":56},"updated":"2024-03-10 23:30:04.000000000","message":"trailing comma","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":7295,"context_line":""},{"line_number":7296,"context_line":"        backup \u003d {"},{"line_number":7297,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7298,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7299,"context_line":"        }"},{"line_number":7300,"context_line":""},{"line_number":7301,"context_line":"        self.mock_object(db_api, \u0027share_snapshot_get_all_for_share\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"597c0b0d_c7e2cc0d","line":7298,"range":{"start_line":7298,"start_character":54,"end_line":7298,"end_character":56},"in_reply_to":"011fa27c_abea4b35","updated":"2024-03-11 09:16:04.000000000","message":"Done","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":7312,"context_line":"                                 is_soft_deleted\u003dFalse)"},{"line_number":7313,"context_line":"        backup \u003d {"},{"line_number":7314,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7315,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7316,"context_line":"        }"},{"line_number":7317,"context_line":""},{"line_number":7318,"context_line":"        self.assertRaises(exception.InvalidShare,"}],"source_content_type":"text/x-python","patch_set":14,"id":"1f3c11af_20fde6ec","line":7315,"range":{"start_line":7315,"start_character":55,"end_line":7315,"end_character":56},"updated":"2024-03-10 23:30:04.000000000","message":"trailing comma","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":7312,"context_line":"                                 is_soft_deleted\u003dFalse)"},{"line_number":7313,"context_line":"        backup \u003d {"},{"line_number":7314,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7315,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7316,"context_line":"        }"},{"line_number":7317,"context_line":""},{"line_number":7318,"context_line":"        self.assertRaises(exception.InvalidShare,"}],"source_content_type":"text/x-python","patch_set":14,"id":"1f4b2a1c_0a3acd58","line":7315,"range":{"start_line":7315,"start_character":55,"end_line":7315,"end_character":56},"in_reply_to":"1f3c11af_20fde6ec","updated":"2024-03-11 09:16:04.000000000","message":"Done","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":7331,"context_line":"                                 is_soft_deleted\u003dFalse, size\u003d5)"},{"line_number":7332,"context_line":"        backup \u003d {"},{"line_number":7333,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7334,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7335,"context_line":"        }"},{"line_number":7336,"context_line":""},{"line_number":7337,"context_line":"        usages \u003d {\u0027backup_gigabytes\u0027: {\u0027reserved\u0027: 5, \u0027in_use\u0027: 5},"}],"source_content_type":"text/x-python","patch_set":14,"id":"2e8c6e0a_5149539d","line":7334,"range":{"start_line":7334,"start_character":55,"end_line":7334,"end_character":56},"updated":"2024-03-10 23:30:04.000000000","message":"trailing comma","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":7331,"context_line":"                                 is_soft_deleted\u003dFalse, size\u003d5)"},{"line_number":7332,"context_line":"        backup \u003d {"},{"line_number":7333,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7334,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7335,"context_line":"        }"},{"line_number":7336,"context_line":""},{"line_number":7337,"context_line":"        usages \u003d {\u0027backup_gigabytes\u0027: {\u0027reserved\u0027: 5, \u0027in_use\u0027: 5},"}],"source_content_type":"text/x-python","patch_set":14,"id":"d2c2f458_ea46ac89","line":7334,"range":{"start_line":7334,"start_character":55,"end_line":7334,"end_character":56},"in_reply_to":"2e8c6e0a_5149539d","updated":"2024-03-11 09:16:04.000000000","message":"Done","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"34ded300a5f8942b6bf1f9a3c220b8eb36db283a","unresolved":true,"context_lines":[{"line_number":7362,"context_line":""},{"line_number":7363,"context_line":"        backup \u003d {"},{"line_number":7364,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7365,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7366,"context_line":"        }"},{"line_number":7367,"context_line":"        self.assertRaises(exception.ManilaException,"},{"line_number":7368,"context_line":"                          self.api.create_share_backup,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9c51bb78_7f91a88a","line":7365,"range":{"start_line":7365,"start_character":55,"end_line":7365,"end_character":56},"updated":"2024-03-10 23:30:04.000000000","message":"trailing comma","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1deab9c8b8fefb73d8e4d6205fbb47352169ad20","unresolved":false,"context_lines":[{"line_number":7362,"context_line":""},{"line_number":7363,"context_line":"        backup \u003d {"},{"line_number":7364,"context_line":"            \u0027display_name\u0027: \u0027tmp_backup\u0027,"},{"line_number":7365,"context_line":"            \u0027id\u0027: \u0027dbe28dff-ce7d-4c3d-a795-c31f6fee31ab\u0027"},{"line_number":7366,"context_line":"        }"},{"line_number":7367,"context_line":"        self.assertRaises(exception.ManilaException,"},{"line_number":7368,"context_line":"                          self.api.create_share_backup,"}],"source_content_type":"text/x-python","patch_set":14,"id":"62e556ba_e7c1daad","line":7365,"range":{"start_line":7365,"start_character":55,"end_line":7365,"end_character":56},"in_reply_to":"9c51bb78_7f91a88a","updated":"2024-03-11 09:16:04.000000000","message":"Done","commit_id":"aa6c362c17c1ba66a84c4c76b882a3acb09e6f73"}],"releasenotes/notes/share-backup-netapp-driver-core-6a2328756b14f541.yaml":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"839c1d29aa6d3feb2eb1e3248a94467d7ba30afd","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":"    There are supporting libs files for backup feature implemented for NetApp driver."},{"line_number":5,"context_line":"    NetApp SnapVault technology is used to create and restore the backup for NetApp"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9b9a61a5_efbfc2c0","line":2,"updated":"2024-03-01 12:06:45.000000000","message":"you should better use fixes section. Also since this is core change, no need to mention NetApp things.","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"45bff2c63d059d11257bca7b6c01a9ed2c6bd3df","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":"    There are supporting libs files for backup feature implemented for NetApp driver."},{"line_number":5,"context_line":"    NetApp SnapVault technology is used to create and restore the backup for NetApp"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"be60bc44_6e1dc29a","line":2,"in_reply_to":"0d498c5a_4cc7a703","updated":"2024-03-06 08:43:08.000000000","message":"Make the changes as suggested","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eaaa1c2d88b246c09f79728c324f545d27cf773e","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":"    There are supporting libs files for backup feature implemented for NetApp driver."},{"line_number":5,"context_line":"    NetApp SnapVault technology is used to create and restore the backup for NetApp"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"0d498c5a_4cc7a703","line":2,"in_reply_to":"9b9a61a5_efbfc2c0","updated":"2024-03-04 14:37:16.000000000","message":"+1","commit_id":"63a11480a16ad6931c004eaeae539ce9d64ac131"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8c9730f8b69d7c6f528ac1ce82ace0722f740261","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added new column named \u0027backup_type\u0027 in share_backup table and changes"},{"line_number":5,"context_line":"    the share common api libs to support the dhss_true configuration for"},{"line_number":6,"context_line":"    share backup creation."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"6e10f327_9c893647","line":4,"updated":"2024-03-06 15:58:52.000000000","message":"Added new column \u0027backup_type\u0027 in \u0027share_backups\u0027 table. This helps to create backup of specific type for given share.\n\nHow about ?\n1. introduce new table \u0027backup_types\u0027\n2. add relation between \u0027backups\u0027 and \u0027backup_types\u0027 table. then introduce backup_type_id in \u0027backups\u0027 table.\n\nthis will looks like more clear approach and allow to share backup_types uniquely across various backups.","commit_id":"8efd3cec46746dc81bff721808b578b45b5ad6eb"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"edfea07142e3b33ea884f0cf870fcf527df1f791","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added new column named \u0027backup_type\u0027 in share_backup table and changes"},{"line_number":5,"context_line":"    the share common api libs to support the dhss_true configuration for"},{"line_number":6,"context_line":"    share backup creation."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"cf6a6836_6fd11829","line":4,"in_reply_to":"48a0e859_e9dcae60","updated":"2024-03-06 22:59:18.000000000","message":"+1 on it being a part of future enhancements. I understand we are doing a db migration and touching the share backups table already, but I don\u0027t think it would be the best timing to implement this. If we just add the table + the relationship and leave it be, there would be no tests touching it, no backup type api implementation, no cli or anything that would be actually consuming it, so it could be confusing in the future. I think introducing the entire backup type implementation in a single change would be the ideal scenario.","commit_id":"8efd3cec46746dc81bff721808b578b45b5ad6eb"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"c70bc988cebe5ae17370ac4c8d307c22c694000a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added new column named \u0027backup_type\u0027 in share_backup table and changes"},{"line_number":5,"context_line":"    the share common api libs to support the dhss_true configuration for"},{"line_number":6,"context_line":"    share backup creation."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"48a0e859_e9dcae60","line":4,"in_reply_to":"6e10f327_9c893647","updated":"2024-03-06 17:11:53.000000000","message":"That is plan for next release. we will have one more table that will have all the details of backup which we are putting in this release in config file. We will have one more api/cli that will create the backup_type, same as share type and that api/cli will add the entry in new backup_type table.","commit_id":"8efd3cec46746dc81bff721808b578b45b5ad6eb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8bfeead059f7938beeb27acf3da7a95d31aee370","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added new column named \u0027backup_type\u0027 in share_backup table and changes"},{"line_number":5,"context_line":"    the share common api libs to support the dhss_true configuration for"},{"line_number":6,"context_line":"    share backup creation."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ce708b9b_dfb4cc68","line":4,"updated":"2024-03-07 10:23:26.000000000","message":"I would rewrite as \n\nAdded new column \u0027backup_type\u0027 in \u0027share_backups\u0027 table. This allows to validate that all backups of given share are of same type. Added share server reference to backup driver APIs to support dhss_true configuration.","commit_id":"0869b388403c8bd8c75c3dff489412a9a62d21ec"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"87af095d7e021cd9b04b8728b15c0fb653c0becc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added new column named \u0027backup_type\u0027 in share_backup table and changes"},{"line_number":5,"context_line":"    the share common api libs to support the dhss_true configuration for"},{"line_number":6,"context_line":"    share backup creation."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"e44045a3_0f98b8e4","line":4,"in_reply_to":"3826892e_40efd12a","updated":"2024-03-07 13:12:35.000000000","message":"Thanks Kiran and carlos. I added below text in release note.\n\nShare backups will now have a backup type.\nIt is now possible to create share backups in environments that support multi-tenancy.","commit_id":"0869b388403c8bd8c75c3dff489412a9a62d21ec"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"61eb4da877ea8d71df0a141962a5123734be515a","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added new column named \u0027backup_type\u0027 in share_backup table and changes"},{"line_number":5,"context_line":"    the share common api libs to support the dhss_true configuration for"},{"line_number":6,"context_line":"    share backup creation."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3826892e_40efd12a","line":4,"in_reply_to":"ce708b9b_dfb4cc68","updated":"2024-03-07 11:58:20.000000000","message":"Good catch on the release notes, Kiran... I think I like the idea of this refactor that Kiran suggested, but we can make it have less implementation details IMHO... In the release notes, we should always be reminding that we are communicating to the users, so what will the users see in this case?\n\nShare backups will now have a backup type.\nIt is now possible to create share backups in environments that support multitenancy.\n\nIf we mention table columns and changes to the drivers base class implementation, we will be giving too many details of the code to end users and administrators, and they likely do not know the code, so it can be difficult for them to understand what this change actually means for them in practical terms.","commit_id":"0869b388403c8bd8c75c3dff489412a9a62d21ec"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Share backups will now have a backup type."},{"line_number":5,"context_line":"    It is now possible to create share backups in environments"},{"line_number":6,"context_line":"    that support multi-tenancy."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"fe292189_b36021c2","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":46},"updated":"2024-03-08 20:11:14.000000000","message":"Driver-advantaged share backups can now have a \"backup_type\"","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fa6cacb19e35406f7fc3858e9d487c08489e3a2a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Share backups will now have a backup type."},{"line_number":5,"context_line":"    It is now possible to create share backups in environments"},{"line_number":6,"context_line":"    that support multi-tenancy."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"e38735a8_10f7e306","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":46},"in_reply_to":"fe292189_b36021c2","updated":"2024-03-09 13:28:36.000000000","message":"Done","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Share backups will now have a backup type."},{"line_number":5,"context_line":"    It is now possible to create share backups in environments"},{"line_number":6,"context_line":"    that support multi-tenancy."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"40e5f87d_b1dcfacc","line":5,"range":{"start_line":5,"start_character":10,"end_line":5,"end_character":13},"updated":"2024-03-08 20:11:14.000000000","message":"also","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fa6cacb19e35406f7fc3858e9d487c08489e3a2a","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Share backups will now have a backup type."},{"line_number":5,"context_line":"    It is now possible to create share backups in environments"},{"line_number":6,"context_line":"    that support multi-tenancy."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7a0f5b8d_e2443257","line":5,"range":{"start_line":5,"start_character":10,"end_line":5,"end_character":13},"in_reply_to":"40e5f87d_b1dcfacc","updated":"2024-03-09 13:28:36.000000000","message":"Done","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8758464b1086782f347146242ddd963d7931c14b","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Share backups will now have a backup type."},{"line_number":5,"context_line":"    It is now possible to create share backups in environments"},{"line_number":6,"context_line":"    that support multi-tenancy."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"57e64c4f_ef4baae1","line":6,"range":{"start_line":6,"start_character":17,"end_line":6,"end_character":31},"updated":"2024-03-08 20:11:14.000000000","message":"hard multi-tenancy (``driver_handles_share_servers\u003dTrue``)","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fa6cacb19e35406f7fc3858e9d487c08489e3a2a","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Share backups will now have a backup type."},{"line_number":5,"context_line":"    It is now possible to create share backups in environments"},{"line_number":6,"context_line":"    that support multi-tenancy."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"4903ff59_649403f2","line":6,"range":{"start_line":6,"start_character":17,"end_line":6,"end_character":31},"in_reply_to":"57e64c4f_ef4baae1","updated":"2024-03-09 13:28:36.000000000","message":"Done","commit_id":"0d8d765eeca8c49987d6c0105a5ea770f4d69c26"}]}
