)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"38f5314e898c748c53c64b6227964700168fc2d1","unresolved":true,"context_lines":[{"line_number":16,"context_line":"5. Get share stats."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Ofer Koren \u003cofer.koren@vastdata.com\u003e"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I7e8f81694183210b146d60a132a933eabd8b1eb1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"57f8b49b_e2e36e0b","line":19,"updated":"2024-04-10 17:56:34.000000000","message":"Can you report a blueprint here: https://blueprints.launchpad.net/manila\n\nDoesn\u0027t need to have a lot of detail at the moment; here\u0027s an example concerning another driver: https://blueprints.launchpad.net/manila/+spec/pure-storage-flasharray-driver\n\nYou\u0027ll need to reference that blueprint in this commit message like this:\n\n```\nImplements: bp \u003cblueprint name\u003e\n```\n\nExample:\n\n```\nImplements: bp vast-data-driver\n```","commit_id":"0bc66c27a2ecb1f7a0ec9171ec35f0ea1860534c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":16,"context_line":"5. Get share stats."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Ofer Koren \u003cofer.koren@vastdata.com\u003e"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I7e8f81694183210b146d60a132a933eabd8b1eb1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"330603e8_de44919f","line":19,"in_reply_to":"57f8b49b_e2e36e0b","updated":"2024-06-14 22:27:13.000000000","message":"Can you please address this. You\u0027ll need to create a new blueprint - a blueprint is just a tracker on Launchpad for features..","commit_id":"0bc66c27a2ecb1f7a0ec9171ec35f0ea1860534c"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"5. Get share stats."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Ofer Koren \u003cofer.koren@vastdata.com\u003e"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I7e8f81694183210b146d60a132a933eabd8b1eb1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"4fd92e49_4b10669e","line":19,"in_reply_to":"57f8b49b_e2e36e0b","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"0bc66c27a2ecb1f7a0ec9171ec35f0ea1860534c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":16,"context_line":"5. Get share stats."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Ofer Koren \u003cofer.koren@vastdata.com\u003e"},{"line_number":19,"context_line":"Implements: bp tests_and_pep8"},{"line_number":20,"context_line":"Change-Id: I7e8f81694183210b146d60a132a933eabd8b1eb1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"883aa644_422aeaf8","line":19,"range":{"start_line":19,"start_character":16,"end_line":19,"end_character":29},"updated":"2024-06-14 22:27:13.000000000","message":"this isn\u0027t a valid blueprint.. create one as indicated above, and replace this","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"5. Get share stats."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Ofer Koren \u003cofer.koren@vastdata.com\u003e"},{"line_number":19,"context_line":"Implements: bp tests_and_pep8"},{"line_number":20,"context_line":"Change-Id: I7e8f81694183210b146d60a132a933eabd8b1eb1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"b2d396d2_9e7b5ae5","line":19,"range":{"start_line":19,"start_character":16,"end_line":19,"end_character":29},"in_reply_to":"883aa644_422aeaf8","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":16,"context_line":"5. Get share stats."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Ofer Koren \u003cofer.koren@vastdata.com\u003e"},{"line_number":19,"context_line":"Implements: bp/vastdata-driver"},{"line_number":20,"context_line":"Change-Id: I7e8f81694183210b146d60a132a933eabd8b1eb1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"b0eb5adb_b548e91b","line":19,"range":{"start_line":19,"start_character":12,"end_line":19,"end_character":30},"updated":"2024-07-13 00:59:04.000000000","message":"nit: \n\nsyntax expects: \"bp vastdata-driver\"\n\nFixing this will allow tooling to update the right blueprint: https://blueprints.launchpad.net/manila/+spec/vastdata-driver","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":16,"context_line":"5. Get share stats."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Ofer Koren \u003cofer.koren@vastdata.com\u003e"},{"line_number":19,"context_line":"Implements: bp/vastdata-driver"},{"line_number":20,"context_line":"Change-Id: I7e8f81694183210b146d60a132a933eabd8b1eb1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"104d1243_73ba5a95","line":19,"range":{"start_line":19,"start_character":12,"end_line":19,"end_character":30},"in_reply_to":"b0eb5adb_b548e91b","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a17ee4bb36c91bd33812db4f2d1b5e3199741a05","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"fbef9046_fc9e5426","updated":"2024-04-15 16:10:03.000000000","message":"recheck\n\nZuul builds are missing","commit_id":"695088be518cff80b6accd1bd0cb21c50e17a5bb"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"47f5db4be360f249af4b952cd37adf02cfb51f23","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f01276cb_ecbb1a6d","in_reply_to":"fbef9046_fc9e5426","updated":"2024-04-15 16:15:45.000000000","message":"Hi Volodomyr, \n\nsince you\u0027re new to the community, I thought i\u0027d clarify this sort of comment. \"recheck\" in a separate line by itself invokes our CI system (\"Zuul\") to re-run test jobs... _sometimes_, failures in test jobs aren\u0027t caused by the patch in question; in this case, I was looking at the \"openstack-tox-cover\" test job that seems to have failed... I wasn\u0027t able to see the logs since they probably didn\u0027t get uploaded; weird issue, but when you see a job failure, the way to go about it is to examine the logs, and if you\u0027re certain the failure wasn\u0027t due to something introduced by your change, you can issue such a comment and have the CI system re-qualify the change. \n\n\nIn the manila project, we have several CI systems - the community CI system is called \"Zuul\"; however, you may see many vendor storage system CI systems run against your change. Prior to merging a change, reviewers will pay attention to test runs from all these CI systems and look for any regressions that your patch may be introducing.","commit_id":"695088be518cff80b6accd1bd0cb21c50e17a5bb"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"c0ce9763_a4f0c06f","updated":"2024-06-14 22:27:13.000000000","message":"Thank you for the updates Volodymyr. Please take a look at the comments inline.. Also, please add the driver\u0027s configuraton documentation either in this change, or with a follow-up change.\n\nYou\u0027re also missing a release note: https://docs.openstack.org/manila/latest/contributor/adding_release_notes.html#how-do-i-add-a-release-note","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"993a58f6_61fe13c9","updated":"2024-06-21 17:05:17.000000000","message":"Thanks for proposing this driver... Added a few comments inline. Please take a look","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"ca90bfa6_445d265d","updated":"2024-07-13 00:59:04.000000000","message":"Hi Volodymr, \n\nthank you for your patience with the reviews here. The latest patch looks to be in good shape; i\u0027ve a few more comments - many of these are minor and warrant quick fixes. Can you please take a look?","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52244a24e89fd85a36cb725e0d1f4667d3ffbf7e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"66d50469_dae823af","updated":"2024-07-15 21:49:32.000000000","message":"LGTM; thank you for iterating and improving the code over these patches. \n\n\nCan you please edit https://wiki.openstack.org/wiki/ThirdPartySystems and include your CI system, the trigger words to run it and the drive maintainer information? Once this change merges, Manila folks will look there to report any issues, or use the contact information to get in touch with you.\n\nI see that your CI  run includes https://review.opendev.org/c/openstack/manila-tempest-plugin/+/921419; we\u0027ll have to get that in as well; and hopefully you\u0027ll be able to start running your CI against all manila changes in the future.","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ed3070ea769dd671fdeb64e214373119160c6241","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"6319f869_936aaf95","updated":"2024-07-17 20:51:01.000000000","message":"Looks good for the most part. Added a couple of suggestions inline. Please take a look :)","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a238f8e4bd1e7908238efe6ab58e9c53cad74d69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"c57a20b3_b323310e","updated":"2024-07-18 11:38:39.000000000","message":"Hi Volodymyr,\nThanks for resolving all the comments. I have also added few comments","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"912451512a5d1c1ef7b73c51285857d85e9a2eec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"c5f9ab28_d5bb7787","updated":"2024-07-18 12:20:42.000000000","message":"recheck\nissue in the dummy driver with replication test is unrelated to the VastData driver addition.","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e922698fb52180bb646e953a6f26f88f55293596","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"edc20f17_83433e5c","updated":"2024-07-18 21:17:00.000000000","message":"Sorry; don\u0027t agree with the latest rewrite in the share driver.. please see comments inline","commit_id":"c0bed9230bd938f7ac4aac79e06fe75747f047c9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6da753cc0321a65bb8b257044e5c72b81a4a045e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"1921dfbf_d6df04a4","updated":"2024-07-18 22:52:29.000000000","message":"@volodymyr.boiko@vastdata.com: Can you add the trigger to re-run your CI system to the bottom of this page: https://wiki.openstack.org/wiki/ThirdPartySystems/VASTData_Manila_CI\n\n\nSee https://wiki.openstack.org/wiki/ThirdPartySystems/NetApp_CI for example","commit_id":"ff7072f7786966a1d30cfcbc37d8bd62fb56a427"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"438756d2238086aa0925e483632cafb05341e244","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"497c5639_45ecfddc","updated":"2024-07-18 22:25:30.000000000","message":"Waiting on CI results","commit_id":"ff7072f7786966a1d30cfcbc37d8bd62fb56a427"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"37306c967a4b97bc7d7950bc01fd28178fe088c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"da693f2d_73deaa5f","in_reply_to":"1921dfbf_d6df04a4","updated":"2024-07-19 15:50:10.000000000","message":"I will add. But for this moment it doesn\u0027t work properly. I will try to fix it tomorrow.","commit_id":"ff7072f7786966a1d30cfcbc37d8bd62fb56a427"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"37306c967a4b97bc7d7950bc01fd28178fe088c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"97e9f8a2_bd6a0ee2","in_reply_to":"497c5639_45ecfddc","updated":"2024-07-19 15:50:10.000000000","message":"Internal error of vast-manila-ci. Restarted","commit_id":"ff7072f7786966a1d30cfcbc37d8bd62fb56a427"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f00e1e482535fa8db766b2c50998bcbade1db1e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"ec30873f_ea83ab0b","updated":"2024-07-19 11:15:27.000000000","message":"Great job, Volodymyr! LGTM","commit_id":"9c5cdb3de9934c074d40d48a9e4446f1d4288d3a"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"10912cb8db6193d9f075f7e92022c5f80833fa99","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"e75abccd_45cc6c24","updated":"2024-07-19 10:29:50.000000000","message":"looks good for me","commit_id":"9c5cdb3de9934c074d40d48a9e4446f1d4288d3a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"db9763a28fdeb8645500cb2c06defdd8741c9519","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"7db08280_750c2d76","updated":"2024-07-19 10:09:38.000000000","message":"looks good. \ndoc/source/configuration/shared-file-systems/drivers/vastdata_driver.rst \u003c-- make sure content is indented correctly if needed.","commit_id":"9c5cdb3de9934c074d40d48a9e4446f1d4288d3a"}],"doc/source/admin/index.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":104,"context_line":"   nexentastor5_driver"},{"line_number":105,"context_line":"   ../configuration/shared-file-systems/drivers/windows-smb-driver"},{"line_number":106,"context_line":"   zadara_driver"},{"line_number":107,"context_line":"   vastdata_driver"}],"source_content_type":"text/x-rst","patch_set":22,"id":"2c119cb0_fc487baf","line":107,"range":{"start_line":107,"start_character":3,"end_line":107,"end_character":18},"updated":"2024-07-13 00:59:04.000000000","message":"looking at this file, it doesn\u0027t seem to be a whole lot different from the config guide you\u0027ve added in \n\n```\n../configuration/shared-file-systems/drivers/vastdata_driver.rst\n```\n\nSo if you\u0027d like to deduplicate, delete this and just link to the file above..","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":104,"context_line":"   nexentastor5_driver"},{"line_number":105,"context_line":"   ../configuration/shared-file-systems/drivers/windows-smb-driver"},{"line_number":106,"context_line":"   zadara_driver"},{"line_number":107,"context_line":"   vastdata_driver"}],"source_content_type":"text/x-rst","patch_set":22,"id":"423499c7_4b072753","line":107,"range":{"start_line":107,"start_character":3,"end_line":107,"end_character":18},"in_reply_to":"2c119cb0_fc487baf","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"}],"doc/source/admin/share_back_ends_feature_support_mapping.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":22,"context_line":"Here we provide information on support of different share features by different"},{"line_number":23,"context_line":"share drivers."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Column values contain the OpenStack release letter when a feature was added"},{"line_number":26,"context_line":"to the driver."},{"line_number":27,"context_line":"Column value \"?\" means that this field requires an update with current"},{"line_number":28,"context_line":"information."},{"line_number":29,"context_line":"Column value \"-\" means that this feature is not currently supported."}],"source_content_type":"text/x-rst","patch_set":22,"id":"3ea34916_667aed42","line":26,"range":{"start_line":25,"start_character":0,"end_line":26,"end_character":14},"updated":"2024-07-13 00:59:04.000000000","message":"See this","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Here we provide information on support of different share features by different"},{"line_number":23,"context_line":"share drivers."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Column values contain the OpenStack release letter when a feature was added"},{"line_number":26,"context_line":"to the driver."},{"line_number":27,"context_line":"Column value \"?\" means that this field requires an update with current"},{"line_number":28,"context_line":"information."},{"line_number":29,"context_line":"Column value \"-\" means that this feature is not currently supported."}],"source_content_type":"text/x-rst","patch_set":22,"id":"ef408fde_2eca92c6","line":26,"range":{"start_line":25,"start_character":0,"end_line":26,"end_character":14},"in_reply_to":"3ea34916_667aed42","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":103,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------------------+--------------------------+------------------------+-----------------------------------+--------------------------+--------------------+--------------------+"},{"line_number":104,"context_line":"|         Pure Storage FlashBlade        |           X           |          \\-           |             X            |             X            |            X           |                \\-                 |            \\-            |           X        |          \\-        |"},{"line_number":105,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------------------+--------------------------+------------------------+-----------------------------------+--------------------------+--------------------+--------------------+"},{"line_number":106,"context_line":"|              Vastdata                  |           X           |          \\-           |             X            |             X            |            X           |                \\-                 |            \\-            |           \\-       |          \\-        |"},{"line_number":107,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------------------+--------------------------+------------------------+-----------------------------------+--------------------------+--------------------+--------------------+"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Mapping of share drivers and share access rules support"}],"source_content_type":"text/x-rst","patch_set":22,"id":"0e8f57b9_ef24e322","line":106,"range":{"start_line":106,"start_character":130,"end_line":106,"end_character":131},"updated":"2024-07-13 00:59:04.000000000","message":"The letter here indicates the release alphabet; so this should be \"D\".","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":103,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------------------+--------------------------+------------------------+-----------------------------------+--------------------------+--------------------+--------------------+"},{"line_number":104,"context_line":"|         Pure Storage FlashBlade        |           X           |          \\-           |             X            |             X            |            X           |                \\-                 |            \\-            |           X        |          \\-        |"},{"line_number":105,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------------------+--------------------------+------------------------+-----------------------------------+--------------------------+--------------------+--------------------+"},{"line_number":106,"context_line":"|              Vastdata                  |           X           |          \\-           |             X            |             X            |            X           |                \\-                 |            \\-            |           \\-       |          \\-        |"},{"line_number":107,"context_line":"+----------------------------------------+-----------------------+-----------------------+--------------------------+--------------------------+------------------------+-----------------------------------+--------------------------+--------------------+--------------------+"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Mapping of share drivers and share access rules support"}],"source_content_type":"text/x-rst","patch_set":22,"id":"8f1d52cf_fc039d1d","line":106,"range":{"start_line":106,"start_character":130,"end_line":106,"end_character":131},"in_reply_to":"0e8f57b9_ef24e322","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":182,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":183,"context_line":"|        Pure Storage FlashBlade         |    NFS (X)   |      \\-      |      \\-        |     \\-     |      \\-      |    NFS (X)   |      \\-      |       \\-       |     \\-     |     \\-     |"},{"line_number":184,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":185,"context_line":"|            Vastdata                    |    NFS (X)   |      \\-      |      \\-        |     \\-     |      \\-      |    NFS (X)   |      \\-      |       \\-       |     \\-     |     \\-     |"},{"line_number":186,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Mapping of share drivers and security services support"}],"source_content_type":"text/x-rst","patch_set":22,"id":"82ec8df6_92c28b46","line":185,"range":{"start_line":185,"start_character":51,"end_line":185,"end_character":52},"updated":"2024-07-13 00:59:04.000000000","message":"D","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":182,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":183,"context_line":"|        Pure Storage FlashBlade         |    NFS (X)   |      \\-      |      \\-        |     \\-     |      \\-      |    NFS (X)   |      \\-      |       \\-       |     \\-     |     \\-     |"},{"line_number":184,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":185,"context_line":"|            Vastdata                    |    NFS (X)   |      \\-      |      \\-        |     \\-     |      \\-      |    NFS (X)   |      \\-      |       \\-       |     \\-     |     \\-     |"},{"line_number":186,"context_line":"+----------------------------------------+--------------+--------------+----------------+------------+--------------+--------------+--------------+----------------+------------+------------+"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Mapping of share drivers and security services support"}],"source_content_type":"text/x-rst","patch_set":22,"id":"8db81815_20f49522","line":185,"range":{"start_line":185,"start_character":51,"end_line":185,"end_character":52},"in_reply_to":"82ec8df6_92c28b46","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":338,"context_line":"+----------------------------------------+-----------+------------+--------+-------------+-------------------+--------------------+-----+----------------------------+--------------------+--------------------+--------------+--------------+-------------------------+--------------------------+"},{"line_number":339,"context_line":"|         Pure Storage FlashBlade        |     \\-    |      X     |  \\-    |     \\-      |        X          |         \\-         | \\-  |             \\-             |           X        |          \\-        |       X      |      \\-      |           \\-            |           \\-             |"},{"line_number":340,"context_line":"+----------------------------------------+-----------+------------+--------+-------------+-------------------+--------------------+-----+----------------------------+--------------------+--------------------+--------------+--------------+-------------------------+--------------------------+"},{"line_number":341,"context_line":"|             Vastdata                   |     \\-    |      X     |  \\-    |     \\-      |        \\-         |         \\-         | \\-  |             \\-             |           \\-       |          \\-        |       X      |      \\-      |           \\-            |           \\-             |"},{"line_number":342,"context_line":"+----------------------------------------+-----------+------------+--------+-------------+-------------------+--------------------+-----+----------------------------+--------------------+--------------------+--------------+--------------+-------------------------+--------------------------+"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":22,"id":"cc9f7b24_095470db","line":341,"range":{"start_line":341,"start_character":60,"end_line":341,"end_character":61},"updated":"2024-07-13 00:59:04.000000000","message":"D","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":338,"context_line":"+----------------------------------------+-----------+------------+--------+-------------+-------------------+--------------------+-----+----------------------------+--------------------+--------------------+--------------+--------------+-------------------------+--------------------------+"},{"line_number":339,"context_line":"|         Pure Storage FlashBlade        |     \\-    |      X     |  \\-    |     \\-      |        X          |         \\-         | \\-  |             \\-             |           X        |          \\-        |       X      |      \\-      |           \\-            |           \\-             |"},{"line_number":340,"context_line":"+----------------------------------------+-----------+------------+--------+-------------+-------------------+--------------------+-----+----------------------------+--------------------+--------------------+--------------+--------------+-------------------------+--------------------------+"},{"line_number":341,"context_line":"|             Vastdata                   |     \\-    |      X     |  \\-    |     \\-      |        \\-         |         \\-         | \\-  |             \\-             |           \\-       |          \\-        |       X      |      \\-      |           \\-            |           \\-             |"},{"line_number":342,"context_line":"+----------------------------------------+-----------+------------+--------+-------------+-------------------+--------------------+-----+----------------------------+--------------------+--------------------+--------------+--------------+-------------------------+--------------------------+"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":22,"id":"270b239e_8c2d92a2","line":341,"range":{"start_line":341,"start_character":60,"end_line":341,"end_character":61},"in_reply_to":"cc9f7b24_095470db","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"}],"doc/source/admin/vastdata_driver.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The `Vastdata \u003chttps://www.vastdata.com\u003e`__ Manila driver"},{"line_number":22,"context_line":"provides NFS and CIFS shared file systems to Openstack."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Requirements"},{"line_number":25,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":22,"id":"e4323643_10f8ee78","line":22,"range":{"start_line":22,"start_character":13,"end_line":22,"end_character":21},"updated":"2024-07-13 00:59:04.000000000","message":"the driver just supports NFS","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The `Vastdata \u003chttps://www.vastdata.com\u003e`__ Manila driver"},{"line_number":22,"context_line":"provides NFS and CIFS shared file systems to Openstack."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Requirements"},{"line_number":25,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":22,"id":"56a22e43_c710741b","line":22,"range":{"start_line":22,"start_character":13,"end_line":22,"end_character":21},"in_reply_to":"e4323643_10f8ee78","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":37,"context_line":"* Deny NFS Share access"},{"line_number":38,"context_line":"* Create snapshot"},{"line_number":39,"context_line":"* Delete snapshot"},{"line_number":40,"context_line":"* Extend share"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Backend Configuration"},{"line_number":43,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":22,"id":"f2e17af2_db77b774","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":14},"updated":"2024-07-13 00:59:04.000000000","message":"and \"Shrink share\"","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* Deny NFS Share access"},{"line_number":38,"context_line":"* Create snapshot"},{"line_number":39,"context_line":"* Delete snapshot"},{"line_number":40,"context_line":"* Extend share"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Backend Configuration"},{"line_number":43,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":22,"id":"96c009f8_3ed3fb82","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":14},"in_reply_to":"f2e17af2_db77b774","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"}],"doc/source/configuration/shared-file-systems/drivers/vastdata_driver.rst":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ed3070ea769dd671fdeb64e214373119160c6241","unresolved":true,"context_lines":[{"line_number":5,"context_line":"Vastdata can be used as a storage back end for the OpenStack Shared File"},{"line_number":6,"context_line":"System service. Shares in the Shared File System service are mapped 1:1"},{"line_number":7,"context_line":"to Vastdata volumes. Access is provided via NFS protocol and IP-based"},{"line_number":8,"context_line":"authentication. The `Vastdata \u003chttps://www.vastdata.com\u003e`__ Manila driver uses the Vastdata API service."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Supported shared filesystems"},{"line_number":11,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":24,"id":"c4cbe84b_fdfd629d","line":8,"range":{"start_line":8,"start_character":78,"end_line":8,"end_character":104},"updated":"2024-07-17 20:51:01.000000000","message":"please wrap it at 79 characters","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"a4e36d923245a6d7cb4e59bda40045821a02cbd7","unresolved":false,"context_lines":[{"line_number":5,"context_line":"Vastdata can be used as a storage back end for the OpenStack Shared File"},{"line_number":6,"context_line":"System service. Shares in the Shared File System service are mapped 1:1"},{"line_number":7,"context_line":"to Vastdata volumes. Access is provided via NFS protocol and IP-based"},{"line_number":8,"context_line":"authentication. The `Vastdata \u003chttps://www.vastdata.com\u003e`__ Manila driver uses the Vastdata API service."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Supported shared filesystems"},{"line_number":11,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":24,"id":"c20f2a84_c4d6468f","line":8,"range":{"start_line":8,"start_character":78,"end_line":8,"end_character":104},"in_reply_to":"c4cbe84b_fdfd629d","updated":"2024-07-17 23:01:52.000000000","message":"Done","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ed3070ea769dd671fdeb64e214373119160c6241","unresolved":true,"context_lines":[{"line_number":30,"context_line":"- Shrink a share."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Operations not supported"},{"line_number":34,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"-  Manage and unmanage"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Requirements"},{"line_number":39,"context_line":"~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":24,"id":"6010a8b3_9ca6a692","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":22},"updated":"2024-07-17 20:51:01.000000000","message":"there are a few more... perhaps we should only mention what is supported? then people could check the support matrix. We can link them from here with :ref: references","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"a4e36d923245a6d7cb4e59bda40045821a02cbd7","unresolved":false,"context_lines":[{"line_number":30,"context_line":"- Shrink a share."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Operations not supported"},{"line_number":34,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"-  Manage and unmanage"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Requirements"},{"line_number":39,"context_line":"~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":24,"id":"864df6cb_120e6df0","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":22},"in_reply_to":"6010a8b3_9ca6a692","updated":"2024-07-17 23:01:52.000000000","message":"I deleted this block and block mentioned below. We want to keep documentation simple for now.","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a8b20ebec103f3deb45a6efb38c1e2575dc27767","unresolved":false,"context_lines":[{"line_number":30,"context_line":"- Shrink a share."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Operations not supported"},{"line_number":34,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"-  Manage and unmanage"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Requirements"},{"line_number":39,"context_line":"~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":24,"id":"dca0454c_970f45a5","line":36,"range":{"start_line":33,"start_character":0,"end_line":36,"end_character":22},"in_reply_to":"864df6cb_120e6df0","updated":"2024-07-18 12:23:03.000000000","message":"tyvm :D","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ed3070ea769dd671fdeb64e214373119160c6241","unresolved":true,"context_lines":[{"line_number":76,"context_line":"   vast_root_export \u003d {root_export}"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Restart of :term:`manila-share` service is needed for the configuration changes to take"},{"line_number":80,"context_line":"effect."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Restrictions"}],"source_content_type":"text/x-rst","patch_set":24,"id":"9fae02ce_8d441f0a","line":79,"range":{"start_line":79,"start_character":79,"end_line":79,"end_character":87},"updated":"2024-07-17 20:51:01.000000000","message":"same as above","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"a4e36d923245a6d7cb4e59bda40045821a02cbd7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"   vast_root_export \u003d {root_export}"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Restart of :term:`manila-share` service is needed for the configuration changes to take"},{"line_number":80,"context_line":"effect."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Restrictions"}],"source_content_type":"text/x-rst","patch_set":24,"id":"ca0b1396_b8620464","line":79,"range":{"start_line":79,"start_character":79,"end_line":79,"end_character":87},"in_reply_to":"9fae02ce_8d441f0a","updated":"2024-07-17 23:01:52.000000000","message":"Done","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"}],"manila/opts.py":[{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"import manila.share.drivers.zfsonlinux.driver"},{"line_number":89,"context_line":"import manila.share.drivers.zfssa.zfssashare"},{"line_number":90,"context_line":"import manila.share.drivers_private_data"},{"line_number":91,"context_line":"import manila.share.drivers.vastdata"},{"line_number":92,"context_line":"import manila.share.hook"},{"line_number":93,"context_line":"import manila.share.manager"},{"line_number":94,"context_line":"import manila.volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"568bf703_b51df25a","line":91,"in_reply_to":"6de1df7b_0083148a","updated":"2024-07-01 15:20:31.000000000","message":"\u003e pep8: H306: imports not in alphabetical order (manila.share.drivers_private_data, manila.share.drivers.vastdata)\n\nPlease fix.","commit_id":"0bc66c27a2ecb1f7a0ec9171ec35f0ea1860534c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"38f5314e898c748c53c64b6227964700168fc2d1","unresolved":true,"context_lines":[{"line_number":88,"context_line":"import manila.share.drivers.zfsonlinux.driver"},{"line_number":89,"context_line":"import manila.share.drivers.zfssa.zfssashare"},{"line_number":90,"context_line":"import manila.share.drivers_private_data"},{"line_number":91,"context_line":"import manila.share.drivers.vastdata"},{"line_number":92,"context_line":"import manila.share.hook"},{"line_number":93,"context_line":"import manila.share.manager"},{"line_number":94,"context_line":"import manila.volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"c96454ac_236c8b21","line":91,"in_reply_to":"6de1df7b_0083148a","updated":"2024-04-10 17:56:34.000000000","message":"\u003e pep8: H306: imports not in alphabetical order (manila.share.drivers_private_data, manila.share.drivers.vastdata)\n\npep8 errors like this can be reproduced locally; run\n\n```\ntox -e pep8\n```\n\nand you\u0027ll be able to see these failures and address them all. Our CI system (\"Zuul\": https://zuul.opendev.org/t/openstack/status)  will need to pass all \"voting\" test jobs for us to be able to merge this change","commit_id":"0bc66c27a2ecb1f7a0ec9171ec35f0ea1860534c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":false,"context_lines":[{"line_number":88,"context_line":"import manila.share.drivers.zfsonlinux.driver"},{"line_number":89,"context_line":"import manila.share.drivers.zfssa.zfssashare"},{"line_number":90,"context_line":"import manila.share.drivers_private_data"},{"line_number":91,"context_line":"import manila.share.drivers.vastdata"},{"line_number":92,"context_line":"import manila.share.hook"},{"line_number":93,"context_line":"import manila.share.manager"},{"line_number":94,"context_line":"import manila.volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"89a4704d_2ecf419e","line":91,"in_reply_to":"c96454ac_236c8b21","updated":"2024-06-14 22:27:13.000000000","message":"These comments have been resolved.","commit_id":"0bc66c27a2ecb1f7a0ec9171ec35f0ea1860534c"}],"manila/share/drivers/vastdata/__init__.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":18,"id":"6e3a9efd_1cb4d248","updated":"2024-06-14 22:27:13.000000000","message":"A suggestion; why not move all this content into a driver.py module? It\u0027s not required; but it looks like a convention that other drivers are following","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":18,"id":"d1e55056_2480622c","in_reply_to":"6e3a9efd_1cb4d248","updated":"2024-06-21 17:05:17.000000000","message":"same :)","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"017dbae7_4af97990","in_reply_to":"d1e55056_2480622c","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2020 VAST Data Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":18,"id":"3c8e3f67_adfcc7c6","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"updated":"2024-06-21 17:05:17.000000000","message":"2024","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2020 VAST Data Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":18,"id":"40d6e728_266cc49c","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"in_reply_to":"3c8e3f67_adfcc7c6","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":58,"context_line":"    cfg.PortOpt("},{"line_number":59,"context_line":"        \"vast_mgmt_port\","},{"line_number":60,"context_line":"        help\u003d\"Port for VAST management\","},{"line_number":61,"context_line":"        default\u003d0"},{"line_number":62,"context_line":"    ),"},{"line_number":63,"context_line":"    cfg.StrOpt("},{"line_number":64,"context_line":"        \"vast_vippool_name\","}],"source_content_type":"text/x-python","patch_set":18,"id":"edfaa502_b13dfddb","line":61,"range":{"start_line":61,"start_character":16,"end_line":61,"end_character":17},"updated":"2024-06-14 22:27:13.000000000","message":"is this right?","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    cfg.PortOpt("},{"line_number":59,"context_line":"        \"vast_mgmt_port\","},{"line_number":60,"context_line":"        help\u003d\"Port for VAST management\","},{"line_number":61,"context_line":"        default\u003d0"},{"line_number":62,"context_line":"    ),"},{"line_number":63,"context_line":"    cfg.StrOpt("},{"line_number":64,"context_line":"        \"vast_vippool_name\","}],"source_content_type":"text/x-python","patch_set":18,"id":"5f1f1af9_e38a17ad","line":61,"range":{"start_line":61,"start_character":16,"end_line":61,"end_character":17},"in_reply_to":"edfaa502_b13dfddb","updated":"2024-07-01 15:20:31.000000000","message":"Updated","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":113,"context_line":"        port \u003d self.configuration.vast_mgmt_port"},{"line_number":114,"context_line":"        if port:"},{"line_number":115,"context_line":"            host \u003d f\"{host}:{port}\""},{"line_number":116,"context_line":"        self.rest \u003d RestApi(host, username, password, False, self.VERSION)"},{"line_number":117,"context_line":"        LOG.debug(\"setup complete\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _update_share_stats(self, data\u003dNone):"}],"source_content_type":"text/x-python","patch_set":18,"id":"62dbcd5e_ebbbbe4a","line":116,"range":{"start_line":116,"start_character":54,"end_line":116,"end_character":59},"updated":"2024-06-14 22:27:13.000000000","message":"this is setting ssl_verify to False; seems pretty bad to do, for production systems.. \n\nour bandit tests aren\u0027t catching this, but, what\u0027s the use case for always disabling SSL verification errors/warnings?","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        port \u003d self.configuration.vast_mgmt_port"},{"line_number":114,"context_line":"        if port:"},{"line_number":115,"context_line":"            host \u003d f\"{host}:{port}\""},{"line_number":116,"context_line":"        self.rest \u003d RestApi(host, username, password, False, self.VERSION)"},{"line_number":117,"context_line":"        LOG.debug(\"setup complete\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _update_share_stats(self, data\u003dNone):"}],"source_content_type":"text/x-python","patch_set":18,"id":"db82ec75_d6d05e8f","line":116,"range":{"start_line":116,"start_character":54,"end_line":116,"end_character":59},"in_reply_to":"62dbcd5e_ebbbbe4a","updated":"2024-07-01 15:20:31.000000000","message":"Yes. For initial version of driver it is fine. Our customers use private networks so not an issue","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":114,"context_line":"        if port:"},{"line_number":115,"context_line":"            host \u003d f\"{host}:{port}\""},{"line_number":116,"context_line":"        self.rest \u003d RestApi(host, username, password, False, self.VERSION)"},{"line_number":117,"context_line":"        LOG.debug(\"setup complete\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _update_share_stats(self, data\u003dNone):"},{"line_number":120,"context_line":"        \"\"\"Retrieve stats info from share group.\"\"\""}],"source_content_type":"text/x-python","patch_set":18,"id":"99c56b2b_15c9b8d2","line":117,"range":{"start_line":117,"start_character":19,"end_line":117,"end_character":33},"updated":"2024-06-21 17:05:17.000000000","message":"\"VAST Data driver setup is complete.\"","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        if port:"},{"line_number":115,"context_line":"            host \u003d f\"{host}:{port}\""},{"line_number":116,"context_line":"        self.rest \u003d RestApi(host, username, password, False, self.VERSION)"},{"line_number":117,"context_line":"        LOG.debug(\"setup complete\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _update_share_stats(self, data\u003dNone):"},{"line_number":120,"context_line":"        \"\"\"Retrieve stats info from share group.\"\"\""}],"source_content_type":"text/x-python","patch_set":18,"id":"df74cdf2_92095c22","line":117,"range":{"start_line":117,"start_character":19,"end_line":117,"end_character":33},"in_reply_to":"99c56b2b_15c9b8d2","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":130,"context_line":"            share_backend_name\u003dself._backend_name,"},{"line_number":131,"context_line":"            vendor_name\u003d\"VAST STORAGE\","},{"line_number":132,"context_line":"            driver_version\u003dself.VERSION,"},{"line_number":133,"context_line":"            storage_protocol\u003d\"NFS\",  # NFS_CIFS ?"},{"line_number":134,"context_line":"            data_reduction\u003dmetrics.drr,"},{"line_number":135,"context_line":"            total_capacity_gb\u003dfloat(metrics.logical_space) / units.Gi,"},{"line_number":136,"context_line":"            free_capacity_gb\u003dfloat("}],"source_content_type":"text/x-python","patch_set":18,"id":"c84c7044_b05ce89c","line":133,"range":{"start_line":133,"start_character":39,"end_line":133,"end_character":49},"updated":"2024-06-14 22:27:13.000000000","message":"The driver doesn\u0027t support CIFS (or SMB); so drop this comment","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            share_backend_name\u003dself._backend_name,"},{"line_number":131,"context_line":"            vendor_name\u003d\"VAST STORAGE\","},{"line_number":132,"context_line":"            driver_version\u003dself.VERSION,"},{"line_number":133,"context_line":"            storage_protocol\u003d\"NFS\",  # NFS_CIFS ?"},{"line_number":134,"context_line":"            data_reduction\u003dmetrics.drr,"},{"line_number":135,"context_line":"            total_capacity_gb\u003dfloat(metrics.logical_space) / units.Gi,"},{"line_number":136,"context_line":"            free_capacity_gb\u003dfloat("}],"source_content_type":"text/x-python","patch_set":18,"id":"6e2e7023_f6ea76ec","line":133,"range":{"start_line":133,"start_character":39,"end_line":133,"end_character":49},"in_reply_to":"c84c7044_b05ce89c","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":152,"context_line":"            root \u003d self._root_export"},{"line_number":153,"context_line":"        return f\"{root}/manila-{share_id}\""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def ensure_share(self, context, share, share_server\u003dNone):"},{"line_number":156,"context_line":"        share_proto \u003d share[\"share_proto\"]"},{"line_number":157,"context_line":"        if share_proto !\u003d \"NFS\":"},{"line_number":158,"context_line":"            raise exception.InvalidShare("}],"source_content_type":"text/x-python","patch_set":18,"id":"a99fb97b_1bcfc78b","line":155,"range":{"start_line":155,"start_character":8,"end_line":155,"end_character":20},"updated":"2024-06-14 22:27:13.000000000","message":"this interface allows the driver to reconcile share exports during/after a maintenance operation - for example, if there are some IP address changes that need to be updated on the share exports, an OpenStack operator would restart their manila-share service and that would invoke this method.. \n\n\nhttps://github.com/openstack/manila/blob/76d032969848fa409f3b7da499cc2da3de67f6be/manila/share/driver.py#L781-L791\n\n\nTypically, you want to avoid doing a bunch of extra work here and only do what\u0027s necessary to get the export paths updated. \n\n\nFrom what i read, for the VAST driver, creating/ensuring a share is idempotent, and so you\u0027re reusing this method; but i\u0027d like to think about the impact on share manager restarts - if the deployment has a lot of shares, executing this method for each share would be extremely slow... \n\nSo, I suggest doing something else instead:\n\nFor assisting share reconciliation after maintenance operations, don\u0027t implement \"ensure_share\", implement the \"ensure_shares\" interface (along with \"get_backend_info\") - https://github.com/openstack/manila/blob/76d032969848fa409f3b7da499cc2da3de67f6be/manila/share/driver.py#L2858-L2888\n\nExport IP addresses seem to come from the configuration option \"vast_vippool_name\". If an operator changes this; you\u0027d need to update all manila exports.. so, return that config opt in \"get_backend_info\" - that interface takes a dictionary, and hashes it.. so, when the value of that dictionary changes, manila will invoke \"ensure_shares\" - an interface that performs \"ensuring\" (i.e., export path changes) across all the backend\u0027s shares in bulk.. So it\u0027ll hand you a list of shares, and you can make an efficient update to all export paths at once.. \n\n\nPlease check the docstrings under \"ensure_shares\" and \"get_backend_info\" for more call outs.. if something doesn\u0027t make sense, i\u0027m happy to clarify.","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":152,"context_line":"            root \u003d self._root_export"},{"line_number":153,"context_line":"        return f\"{root}/manila-{share_id}\""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def ensure_share(self, context, share, share_server\u003dNone):"},{"line_number":156,"context_line":"        share_proto \u003d share[\"share_proto\"]"},{"line_number":157,"context_line":"        if share_proto !\u003d \"NFS\":"},{"line_number":158,"context_line":"            raise exception.InvalidShare("}],"source_content_type":"text/x-python","patch_set":18,"id":"ab361ce0_d520d69b","line":155,"range":{"start_line":155,"start_character":8,"end_line":155,"end_character":20},"in_reply_to":"a99fb97b_1bcfc78b","updated":"2024-06-21 17:05:17.000000000","message":"+1","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            root \u003d self._root_export"},{"line_number":153,"context_line":"        return f\"{root}/manila-{share_id}\""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def ensure_share(self, context, share, share_server\u003dNone):"},{"line_number":156,"context_line":"        share_proto \u003d share[\"share_proto\"]"},{"line_number":157,"context_line":"        if share_proto !\u003d \"NFS\":"},{"line_number":158,"context_line":"            raise exception.InvalidShare("}],"source_content_type":"text/x-python","patch_set":18,"id":"e29bdbb4_58c145d9","line":155,"range":{"start_line":155,"start_character":8,"end_line":155,"end_character":20},"in_reply_to":"ab361ce0_d520d69b","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":172,"context_line":"            create_dir\u003dTrue, hard_limit\u003drequested_capacity"},{"line_number":173,"context_line":"        )"},{"line_number":174,"context_line":"        if quota.hard_limit !\u003d requested_capacity:"},{"line_number":175,"context_line":"            raise exception.ManilaException("},{"line_number":176,"context_line":"                f\"Share already exists with different capacity\""},{"line_number":177,"context_line":"                f\" (requested\u003d{requested_capacity}, exists\u003d{quota.hard_limit})\""},{"line_number":178,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":18,"id":"0a4ddcaf_60e7a1e3","line":175,"range":{"start_line":175,"start_character":28,"end_line":175,"end_character":43},"updated":"2024-06-14 22:27:13.000000000","message":"suggest implementing a \"VastDriverException\" derived from ShareBackendException: https://github.com/openstack/manila/blob/76d032969848fa409f3b7da499cc2da3de67f6be/manila/exception.py#L577\n\nWe handle \"ShareBackendException\" in a different way in the share manager code..","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":172,"context_line":"            create_dir\u003dTrue, hard_limit\u003drequested_capacity"},{"line_number":173,"context_line":"        )"},{"line_number":174,"context_line":"        if quota.hard_limit !\u003d requested_capacity:"},{"line_number":175,"context_line":"            raise exception.ManilaException("},{"line_number":176,"context_line":"                f\"Share already exists with different capacity\""},{"line_number":177,"context_line":"                f\" (requested\u003d{requested_capacity}, exists\u003d{quota.hard_limit})\""},{"line_number":178,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":18,"id":"bb8b207b_c3cf4053","line":175,"range":{"start_line":175,"start_character":28,"end_line":175,"end_character":43},"in_reply_to":"0a4ddcaf_60e7a1e3","updated":"2024-06-21 17:05:17.000000000","message":"+1","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            create_dir\u003dTrue, hard_limit\u003drequested_capacity"},{"line_number":173,"context_line":"        )"},{"line_number":174,"context_line":"        if quota.hard_limit !\u003d requested_capacity:"},{"line_number":175,"context_line":"            raise exception.ManilaException("},{"line_number":176,"context_line":"                f\"Share already exists with different capacity\""},{"line_number":177,"context_line":"                f\" (requested\u003d{requested_capacity}, exists\u003d{quota.hard_limit})\""},{"line_number":178,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":18,"id":"29e88001_40384c18","line":175,"range":{"start_line":175,"start_character":28,"end_line":175,"end_character":43},"in_reply_to":"bb8b207b_c3cf4053","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":206,"context_line":"            add_rules \u003d access_rules"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        if share[\"share_proto\"] !\u003d \"NFS\":"},{"line_number":209,"context_line":"            return"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        validate_access_rules(add_rules)"},{"line_number":212,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"147539ee_fcddaf40","line":209,"range":{"start_line":209,"start_character":12,"end_line":209,"end_character":18},"updated":"2024-06-14 22:27:13.000000000","message":"LOG an error perhaps? This situation shouldn\u0027t occur; since only NFS is supported by the driver (Line 133); no other shares will be scheduled to this driver/backend","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            add_rules \u003d access_rules"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        if share[\"share_proto\"] !\u003d \"NFS\":"},{"line_number":209,"context_line":"            return"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        validate_access_rules(add_rules)"},{"line_number":212,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"743ea98f_4e12559d","line":209,"range":{"start_line":209,"start_character":12,"end_line":209,"end_character":18},"in_reply_to":"147539ee_fcddaf40","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":213,"context_line":"        share_id \u003d share[\"id\"]"},{"line_number":214,"context_line":"        export \u003d self._to_volume_path(share_id)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.info(f\"changing access on {share_server}\")"},{"line_number":217,"context_line":"        data \u003d {"},{"line_number":218,"context_line":"            \"name\": share_id,"},{"line_number":219,"context_line":"            \"nfs_no_squash\": [\"*\"],"}],"source_content_type":"text/x-python","patch_set":18,"id":"5128e09f_df5a04e1","line":216,"range":{"start_line":216,"start_character":12,"end_line":216,"end_character":16},"updated":"2024-06-14 22:27:13.000000000","message":"debug?\n\nInfo messages are useful _after_ a unit of action.. \nplease consider this everywhere you\u0027re logging at this log level","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        share_id \u003d share[\"id\"]"},{"line_number":214,"context_line":"        export \u003d self._to_volume_path(share_id)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.info(f\"changing access on {share_server}\")"},{"line_number":217,"context_line":"        data \u003d {"},{"line_number":218,"context_line":"            \"name\": share_id,"},{"line_number":219,"context_line":"            \"nfs_no_squash\": [\"*\"],"}],"source_content_type":"text/x-python","patch_set":18,"id":"25284b6e_1650b027","line":216,"range":{"start_line":216,"start_character":12,"end_line":216,"end_character":16},"in_reply_to":"5128e09f_df5a04e1","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":229,"context_line":"                rules\u003dadd_rules, policy\u003dpolicy, action\u003d\"update\""},{"line_number":230,"context_line":"            )"},{"line_number":231,"context_line":"            data.update(policy_rules)"},{"line_number":232,"context_line":"            LOG.info(f\"changing access on {export}. Rules: {policy_rules}\")"},{"line_number":233,"context_line":"            self.rest.view_policies.update(policy.id, **data)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        elif delete_rules:"}],"source_content_type":"text/x-python","patch_set":18,"id":"bae4f692_9ed7abe9","line":232,"range":{"start_line":232,"start_character":23,"end_line":232,"end_character":31},"updated":"2024-06-21 17:05:17.000000000","message":"please start the logs using capital letter","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                rules\u003dadd_rules, policy\u003dpolicy, action\u003d\"update\""},{"line_number":230,"context_line":"            )"},{"line_number":231,"context_line":"            data.update(policy_rules)"},{"line_number":232,"context_line":"            LOG.info(f\"changing access on {export}. Rules: {policy_rules}\")"},{"line_number":233,"context_line":"            self.rest.view_policies.update(policy.id, **data)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        elif delete_rules:"}],"source_content_type":"text/x-python","patch_set":18,"id":"f8c0e4a0_361768dc","line":232,"range":{"start_line":232,"start_character":23,"end_line":232,"end_character":31},"in_reply_to":"bae4f692_9ed7abe9","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":236,"context_line":"            policy_rules \u003d policy_payload_from_rules("},{"line_number":237,"context_line":"                rules\u003ddelete_rules, policy\u003dpolicy, action\u003d\"deny\""},{"line_number":238,"context_line":"            )"},{"line_number":239,"context_line":"            LOG.info(f\"changing access on {export}. Rules: {policy_rules}\")"},{"line_number":240,"context_line":"            data.update(policy_rules)"},{"line_number":241,"context_line":"            self.rest.view_policies.update(policy.id, **data)"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7fd5b13e_366f5f87","line":239,"range":{"start_line":239,"start_character":23,"end_line":239,"end_character":31},"updated":"2024-06-21 17:05:17.000000000","message":"same","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":236,"context_line":"            policy_rules \u003d policy_payload_from_rules("},{"line_number":237,"context_line":"                rules\u003ddelete_rules, policy\u003dpolicy, action\u003d\"deny\""},{"line_number":238,"context_line":"            )"},{"line_number":239,"context_line":"            LOG.info(f\"changing access on {export}. Rules: {policy_rules}\")"},{"line_number":240,"context_line":"            data.update(policy_rules)"},{"line_number":241,"context_line":"            self.rest.view_policies.update(policy.id, **data)"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"0cbb92c9_707af020","line":239,"range":{"start_line":239,"start_character":23,"end_line":239,"end_character":31},"in_reply_to":"7fd5b13e_366f5f87","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":264,"context_line":"        share_id \u003d share[\"id\"]"},{"line_number":265,"context_line":"        quota \u003d self.rest.quotas.one(name\u003dshare_id)"},{"line_number":266,"context_line":"        if not quota:"},{"line_number":267,"context_line":"            raise exception.ShareNotFound("},{"line_number":268,"context_line":"                reason\u003d\"Share not found\", share_id\u003dshare_id"},{"line_number":269,"context_line":"            )"},{"line_number":270,"context_line":"        requested_capacity \u003d new_size * units.Gi"}],"source_content_type":"text/x-python","patch_set":18,"id":"f821850e_ecccd7a0","line":267,"range":{"start_line":267,"start_character":28,"end_line":267,"end_character":41},"updated":"2024-06-21 17:05:17.000000000","message":"I think we can reuse the Vast exception here","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        share_id \u003d share[\"id\"]"},{"line_number":265,"context_line":"        quota \u003d self.rest.quotas.one(name\u003dshare_id)"},{"line_number":266,"context_line":"        if not quota:"},{"line_number":267,"context_line":"            raise exception.ShareNotFound("},{"line_number":268,"context_line":"                reason\u003d\"Share not found\", share_id\u003dshare_id"},{"line_number":269,"context_line":"            )"},{"line_number":270,"context_line":"        requested_capacity \u003d new_size * units.Gi"}],"source_content_type":"text/x-python","patch_set":18,"id":"1ccb7235_77f717fe","line":267,"range":{"start_line":267,"start_character":28,"end_line":267,"end_character":41},"in_reply_to":"f821850e_ecccd7a0","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":265,"context_line":"        quota \u003d self.rest.quotas.one(name\u003dshare_id)"},{"line_number":266,"context_line":"        if not quota:"},{"line_number":267,"context_line":"            raise exception.ShareNotFound("},{"line_number":268,"context_line":"                reason\u003d\"Share not found\", share_id\u003dshare_id"},{"line_number":269,"context_line":"            )"},{"line_number":270,"context_line":"        requested_capacity \u003d new_size * units.Gi"},{"line_number":271,"context_line":"        if requested_capacity \u003c quota.used_effective_capacity:"}],"source_content_type":"text/x-python","patch_set":18,"id":"04072855_506cc674","line":268,"range":{"start_line":268,"start_character":34,"end_line":268,"end_character":39},"updated":"2024-06-21 17:05:17.000000000","message":"please add a period to the end of the phrases.","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        quota \u003d self.rest.quotas.one(name\u003dshare_id)"},{"line_number":266,"context_line":"        if not quota:"},{"line_number":267,"context_line":"            raise exception.ShareNotFound("},{"line_number":268,"context_line":"                reason\u003d\"Share not found\", share_id\u003dshare_id"},{"line_number":269,"context_line":"            )"},{"line_number":270,"context_line":"        requested_capacity \u003d new_size * units.Gi"},{"line_number":271,"context_line":"        if requested_capacity \u003c quota.used_effective_capacity:"}],"source_content_type":"text/x-python","patch_set":18,"id":"0e05e311_f88e212b","line":268,"range":{"start_line":268,"start_character":34,"end_line":268,"end_character":39},"in_reply_to":"04072855_506cc674","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":281,"context_line":"    \"\"\""},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    def reverse_lookup(dns):"},{"line_number":284,"context_line":"        if utils.is_valid_ip_address(dns, [4]):"},{"line_number":285,"context_line":"            return [dns]"},{"line_number":286,"context_line":"        try:"},{"line_number":287,"context_line":"            hostname, aliaslist, ipaddrlist \u003d socket.gethostbyname_ex(dns)"}],"source_content_type":"text/x-python","patch_set":18,"id":"f720b541_0446f9ac","line":284,"range":{"start_line":284,"start_character":43,"end_line":284,"end_character":44},"updated":"2024-06-14 22:27:13.000000000","message":"does the storage system not support ACLs with IPv6 client addresses?","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    \"\"\""},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    def reverse_lookup(dns):"},{"line_number":284,"context_line":"        if utils.is_valid_ip_address(dns, [4]):"},{"line_number":285,"context_line":"            return [dns]"},{"line_number":286,"context_line":"        try:"},{"line_number":287,"context_line":"            hostname, aliaslist, ipaddrlist \u003d socket.gethostbyname_ex(dns)"}],"source_content_type":"text/x-python","patch_set":18,"id":"f1f6a78e_df1d768b","line":284,"range":{"start_line":284,"start_character":43,"end_line":284,"end_character":44},"in_reply_to":"f720b541_0446f9ac","updated":"2024-07-01 15:20:31.000000000","message":"I removed this. So IPv6 now included","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":286,"context_line":"        try:"},{"line_number":287,"context_line":"            hostname, aliaslist, ipaddrlist \u003d socket.gethostbyname_ex(dns)"},{"line_number":288,"context_line":"        except socket.gaierror as exc:"},{"line_number":289,"context_line":"            LOG.error(f\"failed to resolve host \u0027{dns}\u0027: {exc} (ignoring)\")"},{"line_number":290,"context_line":"            return []"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        LOG.info(f\"resolved {hostname}: {\u0027, \u0027.join(ipaddrlist)}\")"},{"line_number":293,"context_line":"        return ipaddrlist"}],"source_content_type":"text/x-python","patch_set":18,"id":"2fb516ba_eb49dab3","line":290,"range":{"start_line":289,"start_character":12,"end_line":290,"end_character":21},"updated":"2024-06-14 22:27:13.000000000","message":"Ignoring this error would mean the access rule is assumed to be applied and in an \"active\" state.. shouldn\u0027t you rather set this rule to \"error\"?","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        try:"},{"line_number":287,"context_line":"            hostname, aliaslist, ipaddrlist \u003d socket.gethostbyname_ex(dns)"},{"line_number":288,"context_line":"        except socket.gaierror as exc:"},{"line_number":289,"context_line":"            LOG.error(f\"failed to resolve host \u0027{dns}\u0027: {exc} (ignoring)\")"},{"line_number":290,"context_line":"            return []"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        LOG.info(f\"resolved {hostname}: {\u0027, \u0027.join(ipaddrlist)}\")"},{"line_number":293,"context_line":"        return ipaddrlist"}],"source_content_type":"text/x-python","patch_set":18,"id":"42f164a7_32ab83d6","line":290,"range":{"start_line":289,"start_character":12,"end_line":290,"end_character":21},"in_reply_to":"2fb516ba_eb49dab3","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":289,"context_line":"            LOG.error(f\"failed to resolve host \u0027{dns}\u0027: {exc} (ignoring)\")"},{"line_number":290,"context_line":"            return []"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        LOG.info(f\"resolved {hostname}: {\u0027, \u0027.join(ipaddrlist)}\")"},{"line_number":293,"context_line":"        return ipaddrlist"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    hosts \u003d {"}],"source_content_type":"text/x-python","patch_set":18,"id":"5a742358_9e4d87c7","line":292,"range":{"start_line":292,"start_character":8,"end_line":292,"end_character":65},"updated":"2024-06-14 22:27:13.000000000","message":"debug level?","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":289,"context_line":"            LOG.error(f\"failed to resolve host \u0027{dns}\u0027: {exc} (ignoring)\")"},{"line_number":290,"context_line":"            return []"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        LOG.info(f\"resolved {hostname}: {\u0027, \u0027.join(ipaddrlist)}\")"},{"line_number":293,"context_line":"        return ipaddrlist"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    hosts \u003d {"}],"source_content_type":"text/x-python","patch_set":18,"id":"573ae983_b1ecef5e","line":292,"range":{"start_line":292,"start_character":8,"end_line":292,"end_character":65},"in_reply_to":"5a742358_9e4d87c7","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":343,"context_line":"    for access in access_rules or []:"},{"line_number":344,"context_line":"        access_type \u003d access[\"access_type\"]"},{"line_number":345,"context_line":"        access_level \u003d access[\"access_level\"]"},{"line_number":346,"context_line":"        if access_type not in allowed_types:"},{"line_number":347,"context_line":"            reason \u003d _(\"Only {} access type allowed.\").format("},{"line_number":348,"context_line":"                \", \".join(tuple([f\"\u0027{x}\u0027\" for x in allowed_types]))"},{"line_number":349,"context_line":"            )"},{"line_number":350,"context_line":"            raise exception.InvalidShareAccess(reason\u003dreason)"},{"line_number":351,"context_line":"        if access_level not in allowed_levels:"},{"line_number":352,"context_line":"            raise exception.InvalidShareAccessLevel(level\u003daccess_level)"}],"source_content_type":"text/x-python","patch_set":18,"id":"cc3df6a7_6b1dd9f9","line":352,"range":{"start_line":346,"start_character":0,"end_line":352,"end_character":71},"updated":"2024-06-14 22:27:13.000000000","message":"you\u0027re processing a list of rules.. raising an exception will disallow processing valid rules... \n\nWhat you should do instead is to log an error for a specific rule and return a list of errored rules like this: https://github.com/openstack/manila/blob/76d032969848fa409f3b7da499cc2da3de67f6be/manila/share/driver.py#L845-L863\n\ni.e., set the \"state\" attr of the specific access rule to \"error\"; don\u0027t fail the entire operation :)","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    for access in access_rules or []:"},{"line_number":344,"context_line":"        access_type \u003d access[\"access_type\"]"},{"line_number":345,"context_line":"        access_level \u003d access[\"access_level\"]"},{"line_number":346,"context_line":"        if access_type not in allowed_types:"},{"line_number":347,"context_line":"            reason \u003d _(\"Only {} access type allowed.\").format("},{"line_number":348,"context_line":"                \", \".join(tuple([f\"\u0027{x}\u0027\" for x in allowed_types]))"},{"line_number":349,"context_line":"            )"},{"line_number":350,"context_line":"            raise exception.InvalidShareAccess(reason\u003dreason)"},{"line_number":351,"context_line":"        if access_level not in allowed_levels:"},{"line_number":352,"context_line":"            raise exception.InvalidShareAccessLevel(level\u003daccess_level)"}],"source_content_type":"text/x-python","patch_set":18,"id":"4fc90d58_0001033b","line":352,"range":{"start_line":346,"start_character":0,"end_line":352,"end_character":71},"in_reply_to":"cc3df6a7_6b1dd9f9","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"}],"manila/share/drivers/vastdata/driver.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":260,"context_line":"    def ensure_shares(self, context, shares):"},{"line_number":261,"context_line":"        updates \u003d {}"},{"line_number":262,"context_line":"        for share in shares:"},{"line_number":263,"context_line":"            share_id \u003d share[\"id\"]"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"            # Check when share can be absent on backend."},{"line_number":266,"context_line":"            export_locations \u003d share[\u0027export_locations\u0027]"}],"source_content_type":"text/x-python","patch_set":22,"id":"ae00959c_329a346f","line":263,"range":{"start_line":263,"start_character":0,"end_line":263,"end_character":34},"updated":"2024-07-13 00:59:04.000000000","message":"unused variable?","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    def ensure_shares(self, context, shares):"},{"line_number":261,"context_line":"        updates \u003d {}"},{"line_number":262,"context_line":"        for share in shares:"},{"line_number":263,"context_line":"            share_id \u003d share[\"id\"]"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"            # Check when share can be absent on backend."},{"line_number":266,"context_line":"            export_locations \u003d share[\u0027export_locations\u0027]"}],"source_content_type":"text/x-python","patch_set":22,"id":"a1b8e0b2_c2398aa6","line":263,"range":{"start_line":263,"start_character":0,"end_line":263,"end_character":34},"in_reply_to":"ae00959c_329a346f","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"            # Check when share can be absent on backend."},{"line_number":266,"context_line":"            export_locations \u003d share[\u0027export_locations\u0027]"},{"line_number":267,"context_line":"            if not export_locations:"},{"line_number":268,"context_line":"                export_locations \u003d self._ensure_share(share)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"            updates[share_id] \u003d {"}],"source_content_type":"text/x-python","patch_set":22,"id":"b3e6f120_5a9a56a0","line":267,"range":{"start_line":267,"start_character":12,"end_line":267,"end_character":36},"updated":"2024-07-13 00:59:04.000000000","message":"ensure_shares is invoked only on \"valid\" shares; i.e., shares in an \"available\" state.. these are expected to have export_locations.. so, this if condition wouldn\u0027t ever fail.. \ncan you please explain the intent here?","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"            # Check when share can be absent on backend."},{"line_number":266,"context_line":"            export_locations \u003d share[\u0027export_locations\u0027]"},{"line_number":267,"context_line":"            if not export_locations:"},{"line_number":268,"context_line":"                export_locations \u003d self._ensure_share(share)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"            updates[share_id] \u003d {"}],"source_content_type":"text/x-python","patch_set":22,"id":"2c77781b_f8fd9013","line":267,"range":{"start_line":267,"start_character":12,"end_line":267,"end_character":36},"in_reply_to":"b3e6f120_5a9a56a0","updated":"2024-07-15 16:24:56.000000000","message":"I took this snippet from zadara.py.\nDriver implementation:\n\n        export_locations \u003d share[\u0027export_locations\u0027]\n        if export_locations:\n            return export_locations\n        else:\n\nI thought it is valid condition. Deleted.","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ed3070ea769dd671fdeb64e214373119160c6241","unresolved":true,"context_lines":[{"line_number":111,"context_line":"        self._vippool_name \u003d vip_pool_name"},{"line_number":112,"context_line":"        self._root_export \u003d \"/\" + root_export.strip(\"/\")"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        username \u003d self.configuration.vast_mgmt_user"},{"line_number":115,"context_line":"        password \u003d self.configuration.vast_mgmt_password"},{"line_number":116,"context_line":"        host \u003d self.configuration.vast_mgmt_host"},{"line_number":117,"context_line":"        port \u003d self.configuration.vast_mgmt_port"},{"line_number":118,"context_line":"        if port:"},{"line_number":119,"context_line":"            host \u003d f\"{host}:{port}\""},{"line_number":120,"context_line":"        self.rest \u003d vast_rest.RestApi("}],"source_content_type":"text/x-python","patch_set":24,"id":"c4b62687_aa1ff324","line":117,"range":{"start_line":114,"start_character":8,"end_line":117,"end_character":48},"updated":"2024-07-17 20:51:01.000000000","message":"I\u0027d recommend the usage of:\n\n```\nusername \u003d self.configuration.safe_get(\u0027vast_mgmt_user\u0027)\npassword \u003d self.configuration.safe_get(\u0027vast_mgmt_password\u0027)\nhost \u003d self.configuration.safe_get(\u0027vast_mgmt_host\u0027)\nport \u003d self.configuration.safe_get(\u0027vast_mgmt_port\u0027)\n```\n\nThis can avoid you some unwanted exceptions in case of misconfiguration, and this safe_get will always return None. You can also add a validation and ask for these fields to be configured before sending the HTTP request, just to avoid failing at it and catching the issue from the beginning.","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"a4e36d923245a6d7cb4e59bda40045821a02cbd7","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        self._vippool_name \u003d vip_pool_name"},{"line_number":112,"context_line":"        self._root_export \u003d \"/\" + root_export.strip(\"/\")"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        username \u003d self.configuration.vast_mgmt_user"},{"line_number":115,"context_line":"        password \u003d self.configuration.vast_mgmt_password"},{"line_number":116,"context_line":"        host \u003d self.configuration.vast_mgmt_host"},{"line_number":117,"context_line":"        port \u003d self.configuration.vast_mgmt_port"},{"line_number":118,"context_line":"        if port:"},{"line_number":119,"context_line":"            host \u003d f\"{host}:{port}\""},{"line_number":120,"context_line":"        self.rest \u003d vast_rest.RestApi("}],"source_content_type":"text/x-python","patch_set":24,"id":"bef9c8fd_15534e8c","line":117,"range":{"start_line":114,"start_character":8,"end_line":117,"end_character":48},"in_reply_to":"c4b62687_aa1ff324","updated":"2024-07-17 23:01:52.000000000","message":"Done","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ab8e8a362e3b4e3b0b93cdd96c238f42d946ad32","unresolved":true,"context_lines":[{"line_number":111,"context_line":"        self._vippool_name \u003d vip_pool_name"},{"line_number":112,"context_line":"        self._root_export \u003d \"/\" + root_export.strip(\"/\")"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        username \u003d self.configuration.vast_mgmt_user"},{"line_number":115,"context_line":"        password \u003d self.configuration.vast_mgmt_password"},{"line_number":116,"context_line":"        host \u003d self.configuration.vast_mgmt_host"},{"line_number":117,"context_line":"        port \u003d self.configuration.vast_mgmt_port"},{"line_number":118,"context_line":"        if port:"},{"line_number":119,"context_line":"            host \u003d f\"{host}:{port}\""},{"line_number":120,"context_line":"        self.rest \u003d vast_rest.RestApi("}],"source_content_type":"text/x-python","patch_set":24,"id":"ab9b195d_345937b8","line":117,"range":{"start_line":114,"start_character":8,"end_line":117,"end_character":48},"in_reply_to":"c4b62687_aa1ff324","updated":"2024-07-17 22:01:57.000000000","message":"or set \"required\u003dTrue\" when initializing each of these config opts...\n\nif you\u0027d like, there\u0027s an interface called \"check_for_setup_error()\" where you can attempt to ping the storage system with the information provided and fail fast (the same thing can be done in `do_setup()` as well, but these interfaces exist to keep things clean and separated.. The share manager invokes these serially: https://github.com/openstack/manila/blob/7de1b3afb12d296e417145e1330eb6dcdf5194b7/manila/share/manager.py#L371)","commit_id":"cd6437c5406ff6a4572aadc41391af03b9a74e32"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a238f8e4bd1e7908238efe6ab58e9c53cad74d69","unresolved":true,"context_lines":[{"line_number":111,"context_line":"            raise exception.VastDriverException("},{"line_number":112,"context_line":"                reason\u003d\"vast_vippool_name must be set\""},{"line_number":113,"context_line":"            )"},{"line_number":114,"context_line":"        self._backend_name \u003d backend_name or self.__class__.__name__"},{"line_number":115,"context_line":"        self._vippool_name \u003d vip_pool_name"},{"line_number":116,"context_line":"        self._root_export \u003d \"/\" + root_export.strip(\"/\")"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        username \u003d self.configuration.safe_get(\"vast_mgmt_user\")"},{"line_number":119,"context_line":"        password \u003d self.configuration.safe_get(\"vast_mgmt_password\")"},{"line_number":120,"context_line":"        host \u003d self.configuration.safe_get(\"vast_mgmt_host\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"c7d5fbdd_0f259a91","line":117,"range":{"start_line":114,"start_character":0,"end_line":117,"end_character":0},"updated":"2024-07-18 11:38:39.000000000","message":"It is good practice to initialize the class variable under __init__.","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"44a1601046fd05ed3d13526919c3b9b85eaaf4ab","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            raise exception.VastDriverException("},{"line_number":112,"context_line":"                reason\u003d\"vast_vippool_name must be set\""},{"line_number":113,"context_line":"            )"},{"line_number":114,"context_line":"        self._backend_name \u003d backend_name or self.__class__.__name__"},{"line_number":115,"context_line":"        self._vippool_name \u003d vip_pool_name"},{"line_number":116,"context_line":"        self._root_export \u003d \"/\" + root_export.strip(\"/\")"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        username \u003d self.configuration.safe_get(\"vast_mgmt_user\")"},{"line_number":119,"context_line":"        password \u003d self.configuration.safe_get(\"vast_mgmt_password\")"},{"line_number":120,"context_line":"        host \u003d self.configuration.safe_get(\"vast_mgmt_host\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"6d3a8834_c39a9088","line":117,"range":{"start_line":114,"start_character":0,"end_line":117,"end_character":0},"in_reply_to":"7ce0c542_88fcceda","updated":"2024-07-18 21:50:33.000000000","message":"Done","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"87f1c5463e3c49216f9b87627844351e15131010","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            raise exception.VastDriverException("},{"line_number":112,"context_line":"                reason\u003d\"vast_vippool_name must be set\""},{"line_number":113,"context_line":"            )"},{"line_number":114,"context_line":"        self._backend_name \u003d backend_name or self.__class__.__name__"},{"line_number":115,"context_line":"        self._vippool_name \u003d vip_pool_name"},{"line_number":116,"context_line":"        self._root_export \u003d \"/\" + root_export.strip(\"/\")"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        username \u003d self.configuration.safe_get(\"vast_mgmt_user\")"},{"line_number":119,"context_line":"        password \u003d self.configuration.safe_get(\"vast_mgmt_password\")"},{"line_number":120,"context_line":"        host \u003d self.configuration.safe_get(\"vast_mgmt_host\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"c217201c_ed1b726d","line":117,"range":{"start_line":114,"start_character":0,"end_line":117,"end_character":0},"in_reply_to":"c7d5fbdd_0f259a91","updated":"2024-07-18 21:03:28.000000000","message":"Done","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e922698fb52180bb646e953a6f26f88f55293596","unresolved":true,"context_lines":[{"line_number":111,"context_line":"            raise exception.VastDriverException("},{"line_number":112,"context_line":"                reason\u003d\"vast_vippool_name must be set\""},{"line_number":113,"context_line":"            )"},{"line_number":114,"context_line":"        self._backend_name \u003d backend_name or self.__class__.__name__"},{"line_number":115,"context_line":"        self._vippool_name \u003d vip_pool_name"},{"line_number":116,"context_line":"        self._root_export \u003d \"/\" + root_export.strip(\"/\")"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        username \u003d self.configuration.safe_get(\"vast_mgmt_user\")"},{"line_number":119,"context_line":"        password \u003d self.configuration.safe_get(\"vast_mgmt_password\")"},{"line_number":120,"context_line":"        host \u003d self.configuration.safe_get(\"vast_mgmt_host\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"7ce0c542_88fcceda","line":117,"range":{"start_line":114,"start_character":0,"end_line":117,"end_character":0},"in_reply_to":"c7d5fbdd_0f259a91","updated":"2024-07-18 21:17:00.000000000","message":"Yeah - it is a good python convention not to initialize object members outside of __init__.. but, this one is tricky; this plugin interface has a different expectation.\n\nI would relegate setup and error handling to `do_setup()` and `check_for_setup_error()` methods... that\u0027s what the share manager expects.\n\nSee how the driver is initialized: https://github.com/openstack/manila/blob/7de1b3afb12d296e417145e1330eb6dcdf5194b7/manila/share/manager.py#L291-L293\n\nand how the driver\u0027s setup is handled: \nhttps://github.com/openstack/manila/blob/7de1b3afb12d296e417145e1330eb6dcdf5194b7/manila/share/manager.py#L367-L380\n\n\nPlease revert this change.","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a238f8e4bd1e7908238efe6ab58e9c53cad74d69","unresolved":true,"context_lines":[{"line_number":128,"context_line":"            )"},{"line_number":129,"context_line":"        if port:"},{"line_number":130,"context_line":"            host \u003d f\"{host}:{port}\""},{"line_number":131,"context_line":"        self.rest \u003d vast_rest.RestApi("},{"line_number":132,"context_line":"            host, username, password, False, self.VERSION"},{"line_number":133,"context_line":"        )"},{"line_number":134,"context_line":"        LOG.debug(\"VAST Data driver setup is complete.\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"9bfa1356_b5c6da32","line":131,"range":{"start_line":131,"start_character":7,"end_line":131,"end_character":38},"updated":"2024-07-18 11:38:39.000000000","message":"Initialize instance variable in __int__ method.","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"87f1c5463e3c49216f9b87627844351e15131010","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            )"},{"line_number":129,"context_line":"        if port:"},{"line_number":130,"context_line":"            host \u003d f\"{host}:{port}\""},{"line_number":131,"context_line":"        self.rest \u003d vast_rest.RestApi("},{"line_number":132,"context_line":"            host, username, password, False, self.VERSION"},{"line_number":133,"context_line":"        )"},{"line_number":134,"context_line":"        LOG.debug(\"VAST Data driver setup is complete.\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"0bbaf4a8_1dd9c5d9","line":131,"range":{"start_line":131,"start_character":7,"end_line":131,"end_character":38},"in_reply_to":"9bfa1356_b5c6da32","updated":"2024-07-18 21:03:28.000000000","message":"Done","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a238f8e4bd1e7908238efe6ab58e9c53cad74d69","unresolved":true,"context_lines":[{"line_number":169,"context_line":"            root \u003d self._root_export"},{"line_number":170,"context_line":"        return f\"{root}/manila-{share_id}\""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def create_share(self, context, share, share_server\u003dNone):"},{"line_number":173,"context_line":"        return self._ensure_share(share)[0]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def delete_share(self, context, share, share_server\u003dNone):"},{"line_number":176,"context_line":"        \"\"\"Called to delete a share\"\"\""},{"line_number":177,"context_line":"        share_id \u003d share[\"id\"]"},{"line_number":178,"context_line":"        src \u003d self._to_volume_path(share_id)"},{"line_number":179,"context_line":"        LOG.debug(f\"Deleting \u0027{src}\u0027.\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"1c7b52f7_726a05fc","line":176,"range":{"start_line":172,"start_character":3,"end_line":176,"end_character":38},"updated":"2024-07-18 11:38:39.000000000","message":"We have concept of DHSS and it value set as true/false in manila.conf file. I am not seeing any logic for share_server in your driver code.","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"87f1c5463e3c49216f9b87627844351e15131010","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            root \u003d self._root_export"},{"line_number":170,"context_line":"        return f\"{root}/manila-{share_id}\""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def create_share(self, context, share, share_server\u003dNone):"},{"line_number":173,"context_line":"        return self._ensure_share(share)[0]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def delete_share(self, context, share, share_server\u003dNone):"},{"line_number":176,"context_line":"        \"\"\"Called to delete a share\"\"\""},{"line_number":177,"context_line":"        share_id \u003d share[\"id\"]"},{"line_number":178,"context_line":"        src \u003d self._to_volume_path(share_id)"},{"line_number":179,"context_line":"        LOG.debug(f\"Deleting \u0027{src}\u0027.\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"7e1d61f9_1d17ce25","line":176,"range":{"start_line":172,"start_character":3,"end_line":176,"end_character":38},"in_reply_to":"1c7b52f7_726a05fc","updated":"2024-07-18 21:03:28.000000000","message":"There is init:\n        super().__init__(False, *args, **kwargs)\n\nwhere first False argument is DHSS. We don\u0027t support it so I hardcoded this value","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e922698fb52180bb646e953a6f26f88f55293596","unresolved":true,"context_lines":[{"line_number":169,"context_line":"            root \u003d self._root_export"},{"line_number":170,"context_line":"        return f\"{root}/manila-{share_id}\""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def create_share(self, context, share, share_server\u003dNone):"},{"line_number":173,"context_line":"        return self._ensure_share(share)[0]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def delete_share(self, context, share, share_server\u003dNone):"},{"line_number":176,"context_line":"        \"\"\"Called to delete a share\"\"\""},{"line_number":177,"context_line":"        share_id \u003d share[\"id\"]"},{"line_number":178,"context_line":"        src \u003d self._to_volume_path(share_id)"},{"line_number":179,"context_line":"        LOG.debug(f\"Deleting \u0027{src}\u0027.\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"f6391c9b_f2849d88","line":176,"range":{"start_line":172,"start_character":3,"end_line":176,"end_character":38},"in_reply_to":"1c7b52f7_726a05fc","updated":"2024-07-18 21:17:00.000000000","message":"see line 102; this driver\u0027s reporting \"False\" to the base driver; and the base driver validates this: \n\nhttps://github.com/openstack/manila/blob/7de1b3afb12d296e417145e1330eb6dcdf5194b7/manila/share/driver.py#L362-L386\n\nand picks up the value from configuration:\nhttps://github.com/openstack/manila/blob/7de1b3afb12d296e417145e1330eb6dcdf5194b7/manila/share/driver.py#L338-L342","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"44a1601046fd05ed3d13526919c3b9b85eaaf4ab","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            root \u003d self._root_export"},{"line_number":170,"context_line":"        return f\"{root}/manila-{share_id}\""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def create_share(self, context, share, share_server\u003dNone):"},{"line_number":173,"context_line":"        return self._ensure_share(share)[0]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def delete_share(self, context, share, share_server\u003dNone):"},{"line_number":176,"context_line":"        \"\"\"Called to delete a share\"\"\""},{"line_number":177,"context_line":"        share_id \u003d share[\"id\"]"},{"line_number":178,"context_line":"        src \u003d self._to_volume_path(share_id)"},{"line_number":179,"context_line":"        LOG.debug(f\"Deleting \u0027{src}\u0027.\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"452b0a40_4b4887b4","line":176,"range":{"start_line":172,"start_character":3,"end_line":176,"end_character":38},"in_reply_to":"f6391c9b_f2849d88","updated":"2024-07-18 21:50:33.000000000","message":"Done","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a238f8e4bd1e7908238efe6ab58e9c53cad74d69","unresolved":true,"context_lines":[{"line_number":256,"context_line":"        \"\"\"uses resize_share to shrink a share\"\"\""},{"line_number":257,"context_line":"        self._resize_share(share, new_size)"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def create_snapshot(self, context, snapshot, share_server):"},{"line_number":260,"context_line":"        \"\"\"Is called to create snapshot.\"\"\""},{"line_number":261,"context_line":"        path \u003d self._to_volume_path(snapshot[\"share_instance_id\"])"},{"line_number":262,"context_line":"        self.rest.snapshots.create(path\u003dpath, name\u003dsnapshot[\"name\"])"}],"source_content_type":"text/x-python","patch_set":25,"id":"df84cfe7_55920b92","line":259,"range":{"start_line":259,"start_character":3,"end_line":259,"end_character":63},"updated":"2024-07-18 11:38:39.000000000","message":"Make share_server as optional, so it should be as below\ndef create_snapshot(self, context, snapshot, share_server\u003dNone):","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"87f1c5463e3c49216f9b87627844351e15131010","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        \"\"\"uses resize_share to shrink a share\"\"\""},{"line_number":257,"context_line":"        self._resize_share(share, new_size)"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def create_snapshot(self, context, snapshot, share_server):"},{"line_number":260,"context_line":"        \"\"\"Is called to create snapshot.\"\"\""},{"line_number":261,"context_line":"        path \u003d self._to_volume_path(snapshot[\"share_instance_id\"])"},{"line_number":262,"context_line":"        self.rest.snapshots.create(path\u003dpath, name\u003dsnapshot[\"name\"])"}],"source_content_type":"text/x-python","patch_set":25,"id":"1070b765_40194fa7","line":259,"range":{"start_line":259,"start_character":3,"end_line":259,"end_character":63},"in_reply_to":"df84cfe7_55920b92","updated":"2024-07-18 21:03:28.000000000","message":"Done","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a238f8e4bd1e7908238efe6ab58e9c53cad74d69","unresolved":true,"context_lines":[{"line_number":261,"context_line":"        path \u003d self._to_volume_path(snapshot[\"share_instance_id\"])"},{"line_number":262,"context_line":"        self.rest.snapshots.create(path\u003dpath, name\u003dsnapshot[\"name\"])"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    def delete_snapshot(self, context, snapshot, share_server):"},{"line_number":265,"context_line":"        \"\"\"Is called to remove share.\"\"\""},{"line_number":266,"context_line":"        self.rest.snapshots.delete(name\u003dsnapshot[\"name\"])"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"ed6f68c7_f2a8c095","line":264,"range":{"start_line":264,"start_character":3,"end_line":264,"end_character":63},"updated":"2024-07-18 11:38:39.000000000","message":"Make share_server as optional, same as above","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"87f1c5463e3c49216f9b87627844351e15131010","unresolved":false,"context_lines":[{"line_number":261,"context_line":"        path \u003d self._to_volume_path(snapshot[\"share_instance_id\"])"},{"line_number":262,"context_line":"        self.rest.snapshots.create(path\u003dpath, name\u003dsnapshot[\"name\"])"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    def delete_snapshot(self, context, snapshot, share_server):"},{"line_number":265,"context_line":"        \"\"\"Is called to remove share.\"\"\""},{"line_number":266,"context_line":"        self.rest.snapshots.delete(name\u003dsnapshot[\"name\"])"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"f18c75e4_13865375","line":264,"range":{"start_line":264,"start_character":3,"end_line":264,"end_character":63},"in_reply_to":"ed6f68c7_f2a8c095","updated":"2024-07-18 21:03:28.000000000","message":"Done","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e922698fb52180bb646e953a6f26f88f55293596","unresolved":true,"context_lines":[{"line_number":99,"context_line":"    VERSION \u003d \"1.0\"  # driver version"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":102,"context_line":"        super().__init__(False, *args, **kwargs)"},{"line_number":103,"context_line":"        self.configuration.append_config_values(OPTS)"},{"line_number":104,"context_line":"        backend_name \u003d self.configuration.safe_get(\"share_backend_name\")"},{"line_number":105,"context_line":"        root_export \u003d self.configuration.vast_root_export"},{"line_number":106,"context_line":"        vip_pool_name \u003d self.configuration.safe_get(\"vast_vippool_name\")"}],"source_content_type":"text/x-python","patch_set":26,"id":"ffcfc499_cb3d0583","line":103,"range":{"start_line":102,"start_character":8,"end_line":103,"end_character":53},"updated":"2024-07-18 21:17:00.000000000","message":"https://github.com/openstack/manila/blob/7de1b3afb12d296e417145e1330eb6dcdf5194b7/manila/share/drivers/zfsonlinux/driver.py#L167-L168\n\n^ config opts can be passed on to the base driver, can you match this","commit_id":"c0bed9230bd938f7ac4aac79e06fe75747f047c9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"44a1601046fd05ed3d13526919c3b9b85eaaf4ab","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    VERSION \u003d \"1.0\"  # driver version"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":102,"context_line":"        super().__init__(False, *args, **kwargs)"},{"line_number":103,"context_line":"        self.configuration.append_config_values(OPTS)"},{"line_number":104,"context_line":"        backend_name \u003d self.configuration.safe_get(\"share_backend_name\")"},{"line_number":105,"context_line":"        root_export \u003d self.configuration.vast_root_export"},{"line_number":106,"context_line":"        vip_pool_name \u003d self.configuration.safe_get(\"vast_vippool_name\")"}],"source_content_type":"text/x-python","patch_set":26,"id":"0fe32431_6442f01b","line":103,"range":{"start_line":102,"start_character":8,"end_line":103,"end_character":53},"in_reply_to":"ffcfc499_cb3d0583","updated":"2024-07-18 21:50:33.000000000","message":"Done","commit_id":"c0bed9230bd938f7ac4aac79e06fe75747f047c9"}],"manila/share/drivers/vastdata/driver_util.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":1,"context_line":"\"\"\""},{"line_number":2,"context_line":"# Copyright 2020 VAST Data Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":18,"id":"e2b0655c_a1706123","line":1,"updated":"2024-06-21 17:05:17.000000000","message":"a lot of methods like the ones in this file are already being used across OpenStack and some other builtin libraries. Perhaps we don\u0027t need to add everything here and implement only what\u0027s necessary?","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\"\"\""},{"line_number":2,"context_line":"# Copyright 2020 VAST Data Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":18,"id":"14fa7edc_0e4cc4f6","line":1,"in_reply_to":"e2b0655c_a1706123","updated":"2024-07-01 15:20:31.000000000","message":"I have searched something simular in oslo libraries. For instance I need to takes ips (host from ip ranges) and I didn\u0027t find something related. Also I searched in neutron. It has simular things but not in form of third part libraries. Just internal logic.\nIf I missed something please let me know.","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":1,"context_line":"\"\"\""},{"line_number":2,"context_line":"# Copyright 2020 VAST Data Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":18,"id":"a37b3009_0aa77f14","line":2,"range":{"start_line":2,"start_character":12,"end_line":2,"end_character":16},"updated":"2024-06-21 17:05:17.000000000","message":"2024","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\"\"\""},{"line_number":2,"context_line":"# Copyright 2020 VAST Data Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":18,"id":"9de7e104_9866290b","line":2,"range":{"start_line":2,"start_character":12,"end_line":2,"end_character":16},"in_reply_to":"a37b3009_0aa77f14","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"34ad0e7c9fb32dd94a5b0cf350ef25c2bd54609e","unresolved":true,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class Bunch(dict):"},{"line_number":22,"context_line":"    # from https://github.com/real-easypy/easypy"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    __slots__ \u003d (\"__stop_recursing__\",)"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7a267cc6_16ee5ab4","line":22,"range":{"start_line":22,"start_character":4,"end_line":22,"end_character":48},"updated":"2024-06-21 18:44:29.000000000","message":"Reusing code from other repositories is something we should look carefully, specially in cases like this. Easypy is under a BSD license, and we have specific rules within OpenStack for such kinds of imports [1]. Can you just reuse some methods already available in OpenStack? I think that would be easier. I was looking at this class and various things are already being implemented somewhere else in OpenStack.\n\nFor example, for serialization, we have a library we call oslo serialization, and we can just reuse it. It\u0027s fairly tested and used widely in OpenStack. If something breaks, it will break all over OpenStack, so we can rely on the maintainers and remain compatible with everyone.\n\nYou\u0027d be able to do:\nfrom oslo_serialization import jsonutils\ndecoded \u003d jsonutils.loads(body)\n\nMy suggestion would be: reuse the most you can within the OpenStack repositories. If we need to copy files like that, we must always comply with licensing and so on.\n\n[1] https://wiki.openstack.org/wiki/LegalIssuesFAQ#Incorporating_BSD.2FMIT_Licensed_Code","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class Bunch(dict):"},{"line_number":22,"context_line":"    # from https://github.com/real-easypy/easypy"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    __slots__ \u003d (\"__stop_recursing__\",)"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"b3b2b6e4_390c6fed","line":22,"range":{"start_line":22,"start_character":4,"end_line":22,"end_character":48},"in_reply_to":"7a267cc6_16ee5ab4","updated":"2024-07-01 15:20:31.000000000","message":"Owner of easypy library is our solution architect Ofer Koren. He put this comment here as he just copied implementation from source. Now it is much simplified/refactored object and I have tests in manila that covers it.\n\nI deleted this comment.\n\njsonutils is not actually what Bunch implementation suppose to help with. jsonutils seems to be enhanced library to works with json/webpack structures. \nHere main idea is to have Attribute style dict-like structure. \nI\u0027d like to keep it if you don\u0027t mind.","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":1,"context_line":"\"\"\""},{"line_number":2,"context_line":"# Copyright 2024 VAST Data Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":22,"id":"95cb474e_4dd2a47a","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":3},"updated":"2024-07-13 00:59:04.000000000","message":"please drop doc comment block markers here and on line 16","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\"\"\""},{"line_number":2,"context_line":"# Copyright 2024 VAST Data Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":22,"id":"224236b4_5d9d668b","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":3},"in_reply_to":"95cb474e_4dd2a47a","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"}],"manila/share/drivers/vastdata/rest.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"from abc import ABC"},{"line_number":18,"context_line":"from cachetools import cached"},{"line_number":19,"context_line":"from cachetools import TTLCache"},{"line_number":20,"context_line":"import json"},{"line_number":21,"context_line":"from manila import exception"}],"source_content_type":"text/x-python","patch_set":18,"id":"634388e7_6e7e496b","line":18,"range":{"start_line":18,"start_character":5,"end_line":18,"end_character":15},"updated":"2024-06-14 22:27:13.000000000","message":"this library is missing from requirements.txt; please add it: https://github.com/openstack/manila/blob/master/requirements.txt","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"from abc import ABC"},{"line_number":18,"context_line":"from cachetools import cached"},{"line_number":19,"context_line":"from cachetools import TTLCache"},{"line_number":20,"context_line":"import json"},{"line_number":21,"context_line":"from manila import exception"}],"source_content_type":"text/x-python","patch_set":18,"id":"8d368573_fe78d2f1","line":18,"range":{"start_line":18,"start_character":5,"end_line":18,"end_character":15},"in_reply_to":"634388e7_6e7e496b","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":22,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":23,"context_line":"from manila.share.drivers.vastdata.driver_util import generate_ip_range"},{"line_number":24,"context_line":"from oslo_log import log as logging"},{"line_number":25,"context_line":"from oslo_utils.versionutils import is_compatible"},{"line_number":26,"context_line":"from packaging.version import parse"},{"line_number":27,"context_line":"from pprint import pformat"},{"line_number":28,"context_line":"import requests"}],"source_content_type":"text/x-python","patch_set":18,"id":"bcc36849_9a333db0","line":25,"range":{"start_line":25,"start_character":5,"end_line":25,"end_character":15},"updated":"2024-06-14 22:27:13.000000000","message":"this library is missing from requirements.txt; please add it: https://github.com/openstack/manila/blob/master/requirements.txt","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":23,"context_line":"from manila.share.drivers.vastdata.driver_util import generate_ip_range"},{"line_number":24,"context_line":"from oslo_log import log as logging"},{"line_number":25,"context_line":"from oslo_utils.versionutils import is_compatible"},{"line_number":26,"context_line":"from packaging.version import parse"},{"line_number":27,"context_line":"from pprint import pformat"},{"line_number":28,"context_line":"import requests"}],"source_content_type":"text/x-python","patch_set":18,"id":"4e65e7f7_0525926a","line":25,"range":{"start_line":25,"start_character":5,"end_line":25,"end_character":15},"in_reply_to":"bcc36849_9a333db0","updated":"2024-07-01 15:20:31.000000000","message":"oslo_utils is actually present. I has different name in requirements.txt (oslo.utils) and this lib is used in many places across manila proj.","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"from abc import ABC"},{"line_number":18,"context_line":"from cachetools import cached"},{"line_number":19,"context_line":"from cachetools import TTLCache"},{"line_number":20,"context_line":"import json"},{"line_number":21,"context_line":"from manila import exception"},{"line_number":22,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":23,"context_line":"from manila.share.drivers.vastdata.driver_util import generate_ip_range"},{"line_number":24,"context_line":"from oslo_log import log as logging"},{"line_number":25,"context_line":"from oslo_utils.versionutils import is_compatible"},{"line_number":26,"context_line":"from packaging.version import parse"},{"line_number":27,"context_line":"from pprint import pformat"},{"line_number":28,"context_line":"import requests"},{"line_number":29,"context_line":"from requests.utils import default_user_agent"},{"line_number":30,"context_line":"from tenacity import retry"},{"line_number":31,"context_line":"from tenacity import retry_if_exception_type"},{"line_number":32,"context_line":"from tenacity import stop_after_attempt"}],"source_content_type":"text/x-python","patch_set":18,"id":"2fa67efd_40bbf033","line":29,"range":{"start_line":17,"start_character":0,"end_line":29,"end_character":45},"updated":"2024-06-14 22:27:13.000000000","message":"please follow the import order template convention here: \n\nhttps://docs.openstack.org/hacking/latest/user/hacking.html#imports\n\n\ndon\u0027t import \"Bunch\" and \"generate_ip_range\", import the util module and reference it using: `utils.Bunch` or `utils.generate_ip_range` instead","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"from abc import ABC"},{"line_number":18,"context_line":"from cachetools import cached"},{"line_number":19,"context_line":"from cachetools import TTLCache"},{"line_number":20,"context_line":"import json"},{"line_number":21,"context_line":"from manila import exception"},{"line_number":22,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":23,"context_line":"from manila.share.drivers.vastdata.driver_util import generate_ip_range"},{"line_number":24,"context_line":"from oslo_log import log as logging"},{"line_number":25,"context_line":"from oslo_utils.versionutils import is_compatible"},{"line_number":26,"context_line":"from packaging.version import parse"},{"line_number":27,"context_line":"from pprint import pformat"},{"line_number":28,"context_line":"import requests"},{"line_number":29,"context_line":"from requests.utils import default_user_agent"},{"line_number":30,"context_line":"from tenacity import retry"},{"line_number":31,"context_line":"from tenacity import retry_if_exception_type"},{"line_number":32,"context_line":"from tenacity import stop_after_attempt"}],"source_content_type":"text/x-python","patch_set":18,"id":"a2518baa_648b8867","line":29,"range":{"start_line":17,"start_character":0,"end_line":29,"end_character":45},"in_reply_to":"2fa67efd_40bbf033","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":27,"context_line":"from pprint import pformat"},{"line_number":28,"context_line":"import requests"},{"line_number":29,"context_line":"from requests.utils import default_user_agent"},{"line_number":30,"context_line":"from tenacity import retry"},{"line_number":31,"context_line":"from tenacity import retry_if_exception_type"},{"line_number":32,"context_line":"from tenacity import stop_after_attempt"},{"line_number":33,"context_line":"from tenacity import TryAgain"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"d5c0c687_1ce06360","line":33,"range":{"start_line":30,"start_character":0,"end_line":33,"end_character":29},"updated":"2024-06-14 22:27:13.000000000","message":"There\u0027s a retry decorator in manila.utils that\u0027s built with tenacity\nany reason not to just use that?","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from pprint import pformat"},{"line_number":28,"context_line":"import requests"},{"line_number":29,"context_line":"from requests.utils import default_user_agent"},{"line_number":30,"context_line":"from tenacity import retry"},{"line_number":31,"context_line":"from tenacity import retry_if_exception_type"},{"line_number":32,"context_line":"from tenacity import stop_after_attempt"},{"line_number":33,"context_line":"from tenacity import TryAgain"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"17602d2c_b6778a41","line":33,"range":{"start_line":30,"start_character":0,"end_line":33,"end_character":29},"in_reply_to":"5eefd3b9_43fcea85","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ef1d75d10159b4d55c76027b1d90ca6e5ab7b28a","unresolved":true,"context_lines":[{"line_number":27,"context_line":"from pprint import pformat"},{"line_number":28,"context_line":"import requests"},{"line_number":29,"context_line":"from requests.utils import default_user_agent"},{"line_number":30,"context_line":"from tenacity import retry"},{"line_number":31,"context_line":"from tenacity import retry_if_exception_type"},{"line_number":32,"context_line":"from tenacity import stop_after_attempt"},{"line_number":33,"context_line":"from tenacity import TryAgain"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"5eefd3b9_43fcea85","line":33,"range":{"start_line":30,"start_character":0,"end_line":33,"end_character":29},"in_reply_to":"d5c0c687_1ce06360","updated":"2024-06-21 17:05:17.000000000","message":"+1","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Custom exception for VAST API related errors"},{"line_number":39,"context_line":"class VastApiException(exception.ManilaException):"},{"line_number":40,"context_line":"    pass"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class Session(requests.Session):"}],"source_content_type":"text/x-python","patch_set":18,"id":"6698c8ca_37271366","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":8},"updated":"2024-06-14 22:27:13.000000000","message":"probably move this to manila/exceptions.py","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Custom exception for VAST API related errors"},{"line_number":39,"context_line":"class VastApiException(exception.ManilaException):"},{"line_number":40,"context_line":"    pass"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class Session(requests.Session):"}],"source_content_type":"text/x-python","patch_set":18,"id":"a1a1d5ab_11e60c0d","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":8},"in_reply_to":"6698c8ca_37271366","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        verb \u003d verb.upper()"},{"line_number":92,"context_line":"        api_method \u003d api_method.strip(\"/\")"},{"line_number":93,"context_line":"        url \u003d f\"{self.base_url}/{api_method}/\""},{"line_number":94,"context_line":"        LOG.info(f\"\u003e\u003e\u003e [{verb}] {url}\")"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        if \"data\" in kwargs:"},{"line_number":97,"context_line":"            kwargs[\"data\"] \u003d json.dumps(kwargs[\"data\"])"}],"source_content_type":"text/x-python","patch_set":18,"id":"33ff52e0_b682ed2a","line":94,"range":{"start_line":94,"start_character":12,"end_line":94,"end_character":16},"updated":"2024-06-14 22:27:13.000000000","message":"debug","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        verb \u003d verb.upper()"},{"line_number":92,"context_line":"        api_method \u003d api_method.strip(\"/\")"},{"line_number":93,"context_line":"        url \u003d f\"{self.base_url}/{api_method}/\""},{"line_number":94,"context_line":"        LOG.info(f\"\u003e\u003e\u003e [{verb}] {url}\")"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        if \"data\" in kwargs:"},{"line_number":97,"context_line":"            kwargs[\"data\"] \u003d json.dumps(kwargs[\"data\"])"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba86a82a_31dabd5f","line":94,"range":{"start_line":94,"start_character":12,"end_line":94,"end_character":16},"in_reply_to":"33ff52e0_b682ed2a","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":99,"context_line":"        if params or kwargs:"},{"line_number":100,"context_line":"            if log_result:"},{"line_number":101,"context_line":"                for line in pformat(dict(kwargs, params\u003dparams)).splitlines():"},{"line_number":102,"context_line":"                    LOG.info(\"    %s\", line)"},{"line_number":103,"context_line":"            else:"},{"line_number":104,"context_line":"                LOG.info(\"*** request payload is hidden ***\")"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"a3c6747f_7977b3f0","line":102,"range":{"start_line":102,"start_character":20,"end_line":102,"end_character":44},"updated":"2024-06-14 22:27:13.000000000","message":"debug","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        if params or kwargs:"},{"line_number":100,"context_line":"            if log_result:"},{"line_number":101,"context_line":"                for line in pformat(dict(kwargs, params\u003dparams)).splitlines():"},{"line_number":102,"context_line":"                    LOG.info(\"    %s\", line)"},{"line_number":103,"context_line":"            else:"},{"line_number":104,"context_line":"                LOG.info(\"*** request payload is hidden ***\")"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"416ef65c_e156d2ce","line":102,"range":{"start_line":102,"start_character":20,"end_line":102,"end_character":44},"in_reply_to":"a3c6747f_7977b3f0","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":101,"context_line":"                for line in pformat(dict(kwargs, params\u003dparams)).splitlines():"},{"line_number":102,"context_line":"                    LOG.info(\"    %s\", line)"},{"line_number":103,"context_line":"            else:"},{"line_number":104,"context_line":"                LOG.info(\"*** request payload is hidden ***\")"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        ret \u003d super().request("},{"line_number":107,"context_line":"            verb, url, verify\u003dself.ssl_verify, params\u003dparams, **kwargs"}],"source_content_type":"text/x-python","patch_set":18,"id":"3967480d_32148ff7","line":104,"range":{"start_line":104,"start_character":20,"end_line":104,"end_character":24},"updated":"2024-06-14 22:27:13.000000000","message":"debug","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                for line in pformat(dict(kwargs, params\u003dparams)).splitlines():"},{"line_number":102,"context_line":"                    LOG.info(\"    %s\", line)"},{"line_number":103,"context_line":"            else:"},{"line_number":104,"context_line":"                LOG.info(\"*** request payload is hidden ***\")"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        ret \u003d super().request("},{"line_number":107,"context_line":"            verb, url, verify\u003dself.ssl_verify, params\u003dparams, **kwargs"}],"source_content_type":"text/x-python","patch_set":18,"id":"39e26164_3de7b949","line":104,"range":{"start_line":104,"start_character":20,"end_line":104,"end_character":24},"in_reply_to":"3967480d_32148ff7","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":118,"context_line":"        except Exception as exc:"},{"line_number":119,"context_line":"            raise VastApiException(message\u003dstr(exc))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        LOG.info(f\"\u003c\u003c\u003c [{verb}] {url}\")"},{"line_number":122,"context_line":"        if ret.content:"},{"line_number":123,"context_line":"            ret \u003d Bunch.from_dict(ret.json())"},{"line_number":124,"context_line":"            for line in pformat(ret).splitlines():"}],"source_content_type":"text/x-python","patch_set":18,"id":"767eaf53_9c0ab6ff","line":121,"range":{"start_line":121,"start_character":12,"end_line":121,"end_character":16},"updated":"2024-06-14 22:27:13.000000000","message":"here and everywhere else; this needs to be \"debug\".. \n\nhttps://docs.openstack.org/oslo.log/latest/user/guidelines.html#log-levels-from-an-operator-perspective","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        except Exception as exc:"},{"line_number":119,"context_line":"            raise VastApiException(message\u003dstr(exc))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        LOG.info(f\"\u003c\u003c\u003c [{verb}] {url}\")"},{"line_number":122,"context_line":"        if ret.content:"},{"line_number":123,"context_line":"            ret \u003d Bunch.from_dict(ret.json())"},{"line_number":124,"context_line":"            for line in pformat(ret).splitlines():"}],"source_content_type":"text/x-python","patch_set":18,"id":"742bb6c7_dde4f409","line":121,"range":{"start_line":121,"start_character":12,"end_line":121,"end_character":16},"in_reply_to":"767eaf53_9c0ab6ff","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":333,"context_line":"        # Refresh auth token to avoid initial \"forbidden\" status error."},{"line_number":334,"context_line":"        self.session.refresh_auth_token()"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    @cached(cache\u003dTTLCache(ttl\u003d60 * 60, maxsize\u003d1))"},{"line_number":337,"context_line":"    def get_sw_version(self):"},{"line_number":338,"context_line":"        \"\"\"Software version of cluster Rest API interacts with\"\"\""},{"line_number":339,"context_line":"        return self.session.versions(status\u003d\"success\")[0].sys_version"}],"source_content_type":"text/x-python","patch_set":18,"id":"14e311b5_0f5e7b43","line":336,"range":{"start_line":336,"start_character":5,"end_line":336,"end_character":11},"updated":"2024-06-14 22:27:13.000000000","message":"oslo.cache is used across openstack services for keystone tokens;\n\n https://docs.openstack.org/oslo.cache/latest/user/usage.html \n\nI wonder if you could just use that; instead of this library?\nseems super easy to integrate","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":333,"context_line":"        # Refresh auth token to avoid initial \"forbidden\" status error."},{"line_number":334,"context_line":"        self.session.refresh_auth_token()"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    @cached(cache\u003dTTLCache(ttl\u003d60 * 60, maxsize\u003d1))"},{"line_number":337,"context_line":"    def get_sw_version(self):"},{"line_number":338,"context_line":"        \"\"\"Software version of cluster Rest API interacts with\"\"\""},{"line_number":339,"context_line":"        return self.session.versions(status\u003d\"success\")[0].sys_version"}],"source_content_type":"text/x-python","patch_set":18,"id":"dac633a8_3bf8a246","line":336,"range":{"start_line":336,"start_character":5,"end_line":336,"end_character":11},"in_reply_to":"14e311b5_0f5e7b43","updated":"2024-07-01 15:20:31.000000000","message":"oslo_cache library has quire cumbersome initialization compare to cachetools.\nAnd oslo_cache also not a part of requirements so it seems to me cachetools fits better for caching, taking to account both libraries should be added to requirements.txt","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":1,"context_line":"\"\"\""},{"line_number":2,"context_line":"# Copyright 2024 VAST Data Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":22,"id":"ba4fda93_52a056e5","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":3},"updated":"2024-07-13 00:59:04.000000000","message":"please drop doc comment markers here and on line 16..","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\"\"\""},{"line_number":2,"context_line":"# Copyright 2024 VAST Data Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":22,"id":"f0e4eade_071319d1","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":3},"in_reply_to":"ba4fda93_52a056e5","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"import json"},{"line_number":18,"context_line":"import pprint"},{"line_number":19,"context_line":"import requests"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from abc import ABC"},{"line_number":22,"context_line":"import cachetools"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f6c0795_0ac6f538","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":15},"updated":"2024-07-13 00:59:04.000000000","message":"requests is not part of python stdlib; it belongs in a separate list along with:\n\ncachetools, oslo_log, oslo_utils and packaging\n\nPlease see: https://docs.openstack.org/hacking/latest/user/hacking.html#imports","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"import json"},{"line_number":18,"context_line":"import pprint"},{"line_number":19,"context_line":"import requests"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from abc import ABC"},{"line_number":22,"context_line":"import cachetools"}],"source_content_type":"text/x-python","patch_set":22,"id":"94317713_b24c52df","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":15},"in_reply_to":"3f6c0795_0ac6f538","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":18,"context_line":"import pprint"},{"line_number":19,"context_line":"import requests"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from abc import ABC"},{"line_number":22,"context_line":"import cachetools"},{"line_number":23,"context_line":"from manila import exception"},{"line_number":24,"context_line":"from manila.share.drivers.vastdata import driver_util"}],"source_content_type":"text/x-python","patch_set":22,"id":"6ea62cd3_7fa8299e","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":19},"updated":"2024-07-13 00:59:04.000000000","message":"abc is part of python stdlib, belongs in the list above","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import pprint"},{"line_number":19,"context_line":"import requests"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from abc import ABC"},{"line_number":22,"context_line":"import cachetools"},{"line_number":23,"context_line":"from manila import exception"},{"line_number":24,"context_line":"from manila.share.drivers.vastdata import driver_util"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a0b7a3c_236d5559","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":19},"in_reply_to":"6ea62cd3_7fa8299e","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":25,"context_line":"import manila.utils as manila_utils"},{"line_number":26,"context_line":"from oslo_log import log as logging"},{"line_number":27,"context_line":"from oslo_utils import versionutils"},{"line_number":28,"context_line":"import packaging.version as packaging_version"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"e5adf082_6500e32e","line":28,"range":{"start_line":28,"start_character":0,"end_line":28,"end_character":45},"updated":"2024-07-13 00:59:04.000000000","message":"also suggest rewriting this for consistency as:\n\n```\nfrom packaging import version as packaging_version\n```","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":25,"context_line":"import manila.utils as manila_utils"},{"line_number":26,"context_line":"from oslo_log import log as logging"},{"line_number":27,"context_line":"from oslo_utils import versionutils"},{"line_number":28,"context_line":"import packaging.version as packaging_version"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"07dc5550_2ccdfd10","line":28,"range":{"start_line":28,"start_character":7,"end_line":28,"end_character":16},"updated":"2024-07-13 00:59:04.000000000","message":"my comment in patchset 18 was supposed to be about this \"packaging\" library missing from the requirements file: https://review.opendev.org/c/openstack/manila/+/915380/comment/bcc36849_9a333db0/\n\ni seem to have posted it against the wrong line","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":25,"context_line":"import manila.utils as manila_utils"},{"line_number":26,"context_line":"from oslo_log import log as logging"},{"line_number":27,"context_line":"from oslo_utils import versionutils"},{"line_number":28,"context_line":"import packaging.version as packaging_version"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"141cd985_bb02a48e","line":28,"range":{"start_line":28,"start_character":7,"end_line":28,"end_character":16},"in_reply_to":"07dc5550_2ccdfd10","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":25,"context_line":"import manila.utils as manila_utils"},{"line_number":26,"context_line":"from oslo_log import log as logging"},{"line_number":27,"context_line":"from oslo_utils import versionutils"},{"line_number":28,"context_line":"import packaging.version as packaging_version"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"7ca4f153_232dbdbe","line":28,"range":{"start_line":28,"start_character":0,"end_line":28,"end_character":45},"in_reply_to":"e5adf082_6500e32e","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a238f8e4bd1e7908238efe6ab58e9c53cad74d69","unresolved":true,"context_lines":[{"line_number":89,"context_line":"                ).splitlines():"},{"line_number":90,"context_line":"                    LOG.debug(\"    %s\", line)"},{"line_number":91,"context_line":"            else:"},{"line_number":92,"context_line":"                LOG.debug(\"*** request payload is hidden ***\")"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        ret \u003d super().request("},{"line_number":95,"context_line":"            verb, url, verify\u003dself.ssl_verify, params\u003dparams, **kwargs"}],"source_content_type":"text/x-python","patch_set":25,"id":"cdcf3260_65f2c6d9","line":92,"range":{"start_line":92,"start_character":9,"end_line":92,"end_character":38},"updated":"2024-07-18 11:38:39.000000000","message":"Remove the star from message.  Adding star is good while debugging the issue but it is not good to add this to log message. You can change it to \"Request payload is hidden.\"","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"87f1c5463e3c49216f9b87627844351e15131010","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                ).splitlines():"},{"line_number":90,"context_line":"                    LOG.debug(\"    %s\", line)"},{"line_number":91,"context_line":"            else:"},{"line_number":92,"context_line":"                LOG.debug(\"*** request payload is hidden ***\")"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        ret \u003d super().request("},{"line_number":95,"context_line":"            verb, url, verify\u003dself.ssl_verify, params\u003dparams, **kwargs"}],"source_content_type":"text/x-python","patch_set":25,"id":"8e0404f6_da11642e","line":92,"range":{"start_line":92,"start_character":9,"end_line":92,"end_character":38},"in_reply_to":"cdcf3260_65f2c6d9","updated":"2024-07-18 21:03:28.000000000","message":"I deleted it. No need to log hidden request. It is implicitly hidden.","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a238f8e4bd1e7908238efe6ab58e9c53cad74d69","unresolved":true,"context_lines":[{"line_number":106,"context_line":"        except Exception as exc:"},{"line_number":107,"context_line":"            raise exception.VastApiException(reason\u003dstr(exc))"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        LOG.debug(f\"\u003c\u003c\u003c [{verb}] {url}\")"},{"line_number":110,"context_line":"        if ret.content:"},{"line_number":111,"context_line":"            ret \u003d driver_util.Bunch.from_dict(ret.json())"},{"line_number":112,"context_line":"            for line in pprint.pformat(ret).splitlines():"}],"source_content_type":"text/x-python","patch_set":25,"id":"cbcb6052_36d46abb","line":109,"range":{"start_line":109,"start_character":5,"end_line":109,"end_character":40},"updated":"2024-07-18 11:38:39.000000000","message":"You are just printing the variable value here. Add the more details or text in this debug message","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"87f1c5463e3c49216f9b87627844351e15131010","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        except Exception as exc:"},{"line_number":107,"context_line":"            raise exception.VastApiException(reason\u003dstr(exc))"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        LOG.debug(f\"\u003c\u003c\u003c [{verb}] {url}\")"},{"line_number":110,"context_line":"        if ret.content:"},{"line_number":111,"context_line":"            ret \u003d driver_util.Bunch.from_dict(ret.json())"},{"line_number":112,"context_line":"            for line in pprint.pformat(ret).splitlines():"}],"source_content_type":"text/x-python","patch_set":25,"id":"fdf11347_4e43c934","line":109,"range":{"start_line":109,"start_character":5,"end_line":109,"end_character":40},"in_reply_to":"cbcb6052_36d46abb","updated":"2024-07-18 21:03:28.000000000","message":"Done","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a238f8e4bd1e7908238efe6ab58e9c53cad74d69","unresolved":true,"context_lines":[{"line_number":110,"context_line":"        if ret.content:"},{"line_number":111,"context_line":"            ret \u003d driver_util.Bunch.from_dict(ret.json())"},{"line_number":112,"context_line":"            for line in pprint.pformat(ret).splitlines():"},{"line_number":113,"context_line":"                LOG.debug(\"    %s\", line)"},{"line_number":114,"context_line":"        else:"},{"line_number":115,"context_line":"            ret \u003d None"},{"line_number":116,"context_line":"        LOG.debug(f\"--- [{verb}] {url}: Done\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"f51a9040_3d823680","line":113,"range":{"start_line":113,"start_character":15,"end_line":113,"end_character":41},"updated":"2024-07-18 11:38:39.000000000","message":"same as above","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"87f1c5463e3c49216f9b87627844351e15131010","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        if ret.content:"},{"line_number":111,"context_line":"            ret \u003d driver_util.Bunch.from_dict(ret.json())"},{"line_number":112,"context_line":"            for line in pprint.pformat(ret).splitlines():"},{"line_number":113,"context_line":"                LOG.debug(\"    %s\", line)"},{"line_number":114,"context_line":"        else:"},{"line_number":115,"context_line":"            ret \u003d None"},{"line_number":116,"context_line":"        LOG.debug(f\"--- [{verb}] {url}: Done\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"432f4180_2fe5730a","line":113,"range":{"start_line":113,"start_character":15,"end_line":113,"end_character":41},"in_reply_to":"f51a9040_3d823680","updated":"2024-07-18 21:03:28.000000000","message":"Done","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a238f8e4bd1e7908238efe6ab58e9c53cad74d69","unresolved":true,"context_lines":[{"line_number":113,"context_line":"                LOG.debug(\"    %s\", line)"},{"line_number":114,"context_line":"        else:"},{"line_number":115,"context_line":"            ret \u003d None"},{"line_number":116,"context_line":"        LOG.debug(f\"--- [{verb}] {url}: Done\")"},{"line_number":117,"context_line":"        return ret"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def __getattr__(self, attr):"}],"source_content_type":"text/x-python","patch_set":25,"id":"9e191d93_800986fa","line":116,"range":{"start_line":116,"start_character":7,"end_line":116,"end_character":46},"updated":"2024-07-18 11:38:39.000000000","message":"You are just printing the variable value here. Add the more details or text in this debug message","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"87f1c5463e3c49216f9b87627844351e15131010","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                LOG.debug(\"    %s\", line)"},{"line_number":114,"context_line":"        else:"},{"line_number":115,"context_line":"            ret \u003d None"},{"line_number":116,"context_line":"        LOG.debug(f\"--- [{verb}] {url}: Done\")"},{"line_number":117,"context_line":"        return ret"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def __getattr__(self, attr):"}],"source_content_type":"text/x-python","patch_set":25,"id":"49218d43_dfb6eb7d","line":116,"range":{"start_line":116,"start_character":7,"end_line":116,"end_character":46},"in_reply_to":"9e191d93_800986fa","updated":"2024-07-18 21:03:28.000000000","message":"I deleted this log line","commit_id":"0911e0d00735f16b9583645ebaf08c158817e5a9"}],"manila/tests/share/drivers/vastdata/test_driver.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"from itertools import product"},{"line_number":16,"context_line":"import unittest"},{"line_number":17,"context_line":"from unittest.mock import MagicMock"},{"line_number":18,"context_line":"from unittest.mock import patch"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from ddt import data"},{"line_number":21,"context_line":"from ddt import ddt"}],"source_content_type":"text/x-python","patch_set":18,"id":"370c6aeb_b6c99a2c","line":18,"range":{"start_line":17,"start_character":0,"end_line":18,"end_character":31},"updated":"2024-06-14 22:27:13.000000000","message":"if unittest has been imported; these are already.. so just reference them directly","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"from itertools import product"},{"line_number":16,"context_line":"import unittest"},{"line_number":17,"context_line":"from unittest.mock import MagicMock"},{"line_number":18,"context_line":"from unittest.mock import patch"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from ddt import data"},{"line_number":21,"context_line":"from ddt import ddt"}],"source_content_type":"text/x-python","patch_set":18,"id":"76d1881d_69f87df0","line":18,"range":{"start_line":17,"start_character":0,"end_line":18,"end_character":31},"in_reply_to":"370c6aeb_b6c99a2c","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":17,"context_line":"from unittest.mock import MagicMock"},{"line_number":18,"context_line":"from unittest.mock import patch"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from ddt import data"},{"line_number":21,"context_line":"from ddt import ddt"},{"line_number":22,"context_line":"from ddt import idata"},{"line_number":23,"context_line":"from ddt import unpack"},{"line_number":24,"context_line":"from manila import context"},{"line_number":25,"context_line":"import manila.exception as exception"},{"line_number":26,"context_line":"from manila.share import configuration"},{"line_number":27,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":28,"context_line":"from manila.share.drivers.vastdata import policy_payload_from_rules"},{"line_number":29,"context_line":"from manila.share.drivers.vastdata import validate_access_rules"},{"line_number":30,"context_line":"from manila.share.drivers.vastdata import VASTShareDriver"},{"line_number":31,"context_line":"from manila.tests import fake_share"},{"line_number":32,"context_line":"from manila.tests.share.drivers.vastdata.test_rest import fake_metrics"},{"line_number":33,"context_line":"import socket"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"@patch("}],"source_content_type":"text/x-python","patch_set":18,"id":"188ede06_02c585df","line":33,"range":{"start_line":20,"start_character":0,"end_line":33,"end_character":13},"updated":"2024-06-14 22:27:13.000000000","message":"https://docs.openstack.org/hacking/latest/user/hacking.html#imports","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from unittest.mock import MagicMock"},{"line_number":18,"context_line":"from unittest.mock import patch"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from ddt import data"},{"line_number":21,"context_line":"from ddt import ddt"},{"line_number":22,"context_line":"from ddt import idata"},{"line_number":23,"context_line":"from ddt import unpack"},{"line_number":24,"context_line":"from manila import context"},{"line_number":25,"context_line":"import manila.exception as exception"},{"line_number":26,"context_line":"from manila.share import configuration"},{"line_number":27,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":28,"context_line":"from manila.share.drivers.vastdata import policy_payload_from_rules"},{"line_number":29,"context_line":"from manila.share.drivers.vastdata import validate_access_rules"},{"line_number":30,"context_line":"from manila.share.drivers.vastdata import VASTShareDriver"},{"line_number":31,"context_line":"from manila.tests import fake_share"},{"line_number":32,"context_line":"from manila.tests.share.drivers.vastdata.test_rest import fake_metrics"},{"line_number":33,"context_line":"import socket"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"@patch("}],"source_content_type":"text/x-python","patch_set":18,"id":"5ad558df_c0ba7b32","line":33,"range":{"start_line":20,"start_character":0,"end_line":33,"end_character":13},"in_reply_to":"188ede06_02c585df","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"}],"manila/tests/share/drivers/vastdata/test_driver_util.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":"import pickle"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from ddt import data"},{"line_number":19,"context_line":"from ddt import ddt"},{"line_number":20,"context_line":"from ddt import unpack"},{"line_number":21,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":22,"context_line":"from manila.share.drivers.vastdata.driver_util import bunchify"},{"line_number":23,"context_line":"from manila.share.drivers.vastdata.driver_util import generate_ip_range"}],"source_content_type":"text/x-python","patch_set":18,"id":"f61eeae8_76209ea5","line":20,"range":{"start_line":18,"start_character":0,"end_line":20,"end_character":22},"updated":"2024-06-14 22:27:13.000000000","message":"import ddt\n\nuse ddt.data and ddt.unpack respectively.. no need to import these modules explicitly","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":"import pickle"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from ddt import data"},{"line_number":19,"context_line":"from ddt import ddt"},{"line_number":20,"context_line":"from ddt import unpack"},{"line_number":21,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":22,"context_line":"from manila.share.drivers.vastdata.driver_util import bunchify"},{"line_number":23,"context_line":"from manila.share.drivers.vastdata.driver_util import generate_ip_range"}],"source_content_type":"text/x-python","patch_set":18,"id":"e96bdcf3_6d69fa5c","line":20,"range":{"start_line":18,"start_character":0,"end_line":20,"end_character":22},"in_reply_to":"f61eeae8_76209ea5","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":"import pickle"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from ddt import data"},{"line_number":19,"context_line":"from ddt import ddt"},{"line_number":20,"context_line":"from ddt import unpack"},{"line_number":21,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":22,"context_line":"from manila.share.drivers.vastdata.driver_util import bunchify"},{"line_number":23,"context_line":"from manila.share.drivers.vastdata.driver_util import generate_ip_range"},{"line_number":24,"context_line":"from manila.share.drivers.vastdata.driver_util import unbunchify"},{"line_number":25,"context_line":"from manila import test"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"@ddt"}],"source_content_type":"text/x-python","patch_set":18,"id":"ec518651_83c69f9c","line":25,"range":{"start_line":18,"start_character":0,"end_line":25,"end_character":23},"updated":"2024-06-14 22:27:13.000000000","message":"https://docs.openstack.org/hacking/latest/user/hacking.html#imports","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":"import pickle"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from ddt import data"},{"line_number":19,"context_line":"from ddt import ddt"},{"line_number":20,"context_line":"from ddt import unpack"},{"line_number":21,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":22,"context_line":"from manila.share.drivers.vastdata.driver_util import bunchify"},{"line_number":23,"context_line":"from manila.share.drivers.vastdata.driver_util import generate_ip_range"},{"line_number":24,"context_line":"from manila.share.drivers.vastdata.driver_util import unbunchify"},{"line_number":25,"context_line":"from manila import test"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"@ddt"}],"source_content_type":"text/x-python","patch_set":18,"id":"22bba35d_0e8c17fe","line":25,"range":{"start_line":18,"start_character":0,"end_line":25,"end_character":23},"in_reply_to":"ec518651_83c69f9c","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":16,"context_line":"import pickle"},{"line_number":17,"context_line":"from unittest import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import ddt"},{"line_number":20,"context_line":"from manila.share.drivers.vastdata import driver_util"},{"line_number":21,"context_line":"from manila import test"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"b13c38e0_19247b47","line":19,"range":{"start_line":19,"start_character":7,"end_line":19,"end_character":10},"updated":"2024-07-13 00:59:04.000000000","message":"add blank line after this: https://docs.openstack.org/hacking/latest/user/hacking.html#imports","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import pickle"},{"line_number":17,"context_line":"from unittest import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import ddt"},{"line_number":20,"context_line":"from manila.share.drivers.vastdata import driver_util"},{"line_number":21,"context_line":"from manila import test"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"10a5607b_4f9273ac","line":19,"range":{"start_line":19,"start_character":7,"end_line":19,"end_character":10},"in_reply_to":"b13c38e0_19247b47","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"}],"manila/tests/share/drivers/vastdata/test_rest.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"76fea12b7582b5b47c02790bce13687a94f0d3dd","unresolved":true,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"from ddt import data"},{"line_number":16,"context_line":"from ddt import ddt"},{"line_number":17,"context_line":"from io import BytesIO"},{"line_number":18,"context_line":"from manila.exception import ShareBackendException"},{"line_number":19,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":20,"context_line":"from manila.share.drivers.vastdata.rest import RestApi"},{"line_number":21,"context_line":"from manila.share.drivers.vastdata.rest import Session"},{"line_number":22,"context_line":"from manila.share.drivers.vastdata.rest import VastApiException"},{"line_number":23,"context_line":"from manila.share.drivers.vastdata.rest import VastResource"},{"line_number":24,"context_line":"from requests import Response"},{"line_number":25,"context_line":"from tenacity import TryAgain"},{"line_number":26,"context_line":"import unittest"},{"line_number":27,"context_line":"from unittest.mock import MagicMock"},{"line_number":28,"context_line":"from unittest.mock import patch"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"fake_metrics \u003d Bunch.from_dict("},{"line_number":31,"context_line":"    {"}],"source_content_type":"text/x-python","patch_set":18,"id":"1db6b0d6_d6a3b599","line":28,"range":{"start_line":15,"start_character":0,"end_line":28,"end_character":31},"updated":"2024-06-14 22:27:13.000000000","message":"https://docs.openstack.org/hacking/latest/user/hacking.html#imports","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"c0770d064d23c9c320b5affed2335e35657c784e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"from ddt import data"},{"line_number":16,"context_line":"from ddt import ddt"},{"line_number":17,"context_line":"from io import BytesIO"},{"line_number":18,"context_line":"from manila.exception import ShareBackendException"},{"line_number":19,"context_line":"from manila.share.drivers.vastdata.driver_util import Bunch"},{"line_number":20,"context_line":"from manila.share.drivers.vastdata.rest import RestApi"},{"line_number":21,"context_line":"from manila.share.drivers.vastdata.rest import Session"},{"line_number":22,"context_line":"from manila.share.drivers.vastdata.rest import VastApiException"},{"line_number":23,"context_line":"from manila.share.drivers.vastdata.rest import VastResource"},{"line_number":24,"context_line":"from requests import Response"},{"line_number":25,"context_line":"from tenacity import TryAgain"},{"line_number":26,"context_line":"import unittest"},{"line_number":27,"context_line":"from unittest.mock import MagicMock"},{"line_number":28,"context_line":"from unittest.mock import patch"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"fake_metrics \u003d Bunch.from_dict("},{"line_number":31,"context_line":"    {"}],"source_content_type":"text/x-python","patch_set":18,"id":"09a73c35_0de4be17","line":28,"range":{"start_line":15,"start_character":0,"end_line":28,"end_character":31},"in_reply_to":"1db6b0d6_d6a3b599","updated":"2024-07-01 15:20:31.000000000","message":"Done","commit_id":"17bd10815f6037c10b87c1b5883f3cdcb3b427f5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"import ddt"},{"line_number":16,"context_line":"import io"},{"line_number":17,"context_line":"import unittest"},{"line_number":18,"context_line":"from unittest import mock"}],"source_content_type":"text/x-python","patch_set":22,"id":"44155725_fa2786af","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":10},"updated":"2024-07-13 00:59:04.000000000","message":"ddt isn\u0027t part of the stdlib; this belongs to the second group","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"import ddt"},{"line_number":16,"context_line":"import io"},{"line_number":17,"context_line":"import unittest"},{"line_number":18,"context_line":"from unittest import mock"}],"source_content_type":"text/x-python","patch_set":22,"id":"87e87ce0_b6b09097","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":10},"in_reply_to":"44155725_fa2786af","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"}],"requirements.txt":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"26e1b1c475abdaf963f1c9671fcd81555f9cbaf3","unresolved":true,"context_lines":[{"line_number":49,"context_line":"python-novaclient\u003e\u003d17.2.1 # Apache-2.0"},{"line_number":50,"context_line":"python-glanceclient\u003e\u003d3.2.2 # Apache-2.0"},{"line_number":51,"context_line":"WebOb\u003e\u003d1.8.6 # MIT"},{"line_number":52,"context_line":"cachetools\u003e\u003d5.3.3 # MIT"}],"source_content_type":"text/plain","patch_set":22,"id":"6ec8a7fc_33731f6a","line":52,"updated":"2024-07-13 00:59:04.000000000","message":"please add a blank line after this line; all source files in this project have a blank line at the end to enable linux parsing tools","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"9f8c54629252e02880abec1208965195b707edde","unresolved":false,"context_lines":[{"line_number":49,"context_line":"python-novaclient\u003e\u003d17.2.1 # Apache-2.0"},{"line_number":50,"context_line":"python-glanceclient\u003e\u003d3.2.2 # Apache-2.0"},{"line_number":51,"context_line":"WebOb\u003e\u003d1.8.6 # MIT"},{"line_number":52,"context_line":"cachetools\u003e\u003d5.3.3 # MIT"}],"source_content_type":"text/plain","patch_set":22,"id":"89711a19_d4764075","line":52,"in_reply_to":"6ec8a7fc_33731f6a","updated":"2024-07-15 16:24:56.000000000","message":"Done","commit_id":"19cb552f13a4b35d96d11b598869a38f0715cce6"}]}
