)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"4c19b5fc9e1338c1fcf35daf26f1e6d4ae983f63","unresolved":true,"context_lines":[{"line_number":9,"context_line":"e.g. manila create NFS 1 --name Share1 --share-network net1 \\"},{"line_number":10,"context_line":"--scheduler_hint\u003d\"only_host\u003dhost1@generic1#GENERIC1\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Since there is no way to create SVM in manila, we can use a workaround"},{"line_number":13,"context_line":"of creating first share on specific host (e.g. host@backend#pool). This"},{"line_number":14,"context_line":"will then create the SVM/(Share server) automatically on that host and"},{"line_number":15,"context_line":"admin can use idle host when other hosts are overloaded."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"b5ed8c76_74d78a18","line":12,"range":{"start_line":12,"start_character":32,"end_line":12,"end_character":36},"updated":"2021-10-19 16:50:29.000000000","message":"nit: share server","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"69b4b7933cbed24c5ad4ccf201d9fa0d9f2c81cc","unresolved":false,"context_lines":[{"line_number":9,"context_line":"e.g. manila create NFS 1 --name Share1 --share-network net1 \\"},{"line_number":10,"context_line":"--scheduler_hint\u003d\"only_host\u003dhost1@generic1#GENERIC1\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Since there is no way to create SVM in manila, we can use a workaround"},{"line_number":13,"context_line":"of creating first share on specific host (e.g. host@backend#pool). This"},{"line_number":14,"context_line":"will then create the SVM/(Share server) automatically on that host and"},{"line_number":15,"context_line":"admin can use idle host when other hosts are overloaded."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bb8d90d9_8e0e1956","line":12,"range":{"start_line":12,"start_character":32,"end_line":12,"end_character":36},"in_reply_to":"b5ed8c76_74d78a18","updated":"2021-10-20 12:24:22.000000000","message":"Done","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"4c19b5fc9e1338c1fcf35daf26f1e6d4ae983f63","unresolved":true,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Since there is no way to create SVM in manila, we can use a workaround"},{"line_number":13,"context_line":"of creating first share on specific host (e.g. host@backend#pool). This"},{"line_number":14,"context_line":"will then create the SVM/(Share server) automatically on that host and"},{"line_number":15,"context_line":"admin can use idle host when other hosts are overloaded."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I603434cac246e2c0946672d3f0fe469ed5423fa4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"c7bc98f7_b5030596","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":24},"updated":"2021-10-19 16:50:29.000000000","message":"remove it","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"69b4b7933cbed24c5ad4ccf201d9fa0d9f2c81cc","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Since there is no way to create SVM in manila, we can use a workaround"},{"line_number":13,"context_line":"of creating first share on specific host (e.g. host@backend#pool). This"},{"line_number":14,"context_line":"will then create the SVM/(Share server) automatically on that host and"},{"line_number":15,"context_line":"admin can use idle host when other hosts are overloaded."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I603434cac246e2c0946672d3f0fe469ed5423fa4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"0eae8137_b78c6d19","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":24},"in_reply_to":"c7bc98f7_b5030596","updated":"2021-10-20 12:24:22.000000000","message":"Done","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"4c19b5fc9e1338c1fcf35daf26f1e6d4ae983f63","unresolved":true,"context_lines":[{"line_number":13,"context_line":"of creating first share on specific host (e.g. host@backend#pool). This"},{"line_number":14,"context_line":"will then create the SVM/(Share server) automatically on that host and"},{"line_number":15,"context_line":"admin can use idle host when other hosts are overloaded."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I603434cac246e2c0946672d3f0fe469ed5423fa4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"a31f63f5_2c38eed5","line":16,"updated":"2021-10-19 16:50:29.000000000","message":"The manila\u0027s been missing the Scheduler Filter documentation, so please add a `DocImpact` here so we can address the documentation later.","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"69b4b7933cbed24c5ad4ccf201d9fa0d9f2c81cc","unresolved":false,"context_lines":[{"line_number":13,"context_line":"of creating first share on specific host (e.g. host@backend#pool). This"},{"line_number":14,"context_line":"will then create the SVM/(Share server) automatically on that host and"},{"line_number":15,"context_line":"admin can use idle host when other hosts are overloaded."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I603434cac246e2c0946672d3f0fe469ed5423fa4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"6190add7_96a7c610","line":16,"in_reply_to":"a31f63f5_2c38eed5","updated":"2021-10-20 12:24:22.000000000","message":"Done","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"44b89e18eb827c9e49c48bc155c95b6bd1f8295d","unresolved":true,"context_lines":[{"line_number":7,"context_line":"OnlyHostFilter allows user to specify host during share create."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"e.g. manila create NFS 1 --name Share1 --share-network net1 \\"},{"line_number":10,"context_line":"--scheduler_hint\u003d\"only_host\u003dhost1@generic1#GENERIC1\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Since there is no way to create share server in manila, we can use a"},{"line_number":13,"context_line":"workaround of creating first share on specific host"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"79941753_30510c7f","line":10,"updated":"2022-01-10 13:44:24.000000000","message":"I wondered why the argument is singular, not \u0027scheduler_hints\u0027, but\nTIL: I don\u0027t have to type the full cli arguments, they just have to be unique.\n\ne.g. the following would do the same:\nmanila create NFS 1 --n Share1 --share-n net1 \\\n--sc\u003d\"only_host\u003dhost1@generic1#GENERIC1\"","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"fc307cd809bceecee03a727b87586d6fc59111a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"12f8ddda_18b5f750","updated":"2021-10-12 02:52:18.000000000","message":"hi, Kiran Pawar\nthis patch looks good to me. this give admin user another way to create share in specify backend,except use share type with \"share_backend_name\".","commit_id":"4f2e796cf84c5ded96123278ff932c648db15135"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"4c19b5fc9e1338c1fcf35daf26f1e6d4ae983f63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"326b9cf1_b3776546","updated":"2021-10-19 16:50:29.000000000","message":"Thank you kiran, that\u0027s a useful feature!\n\nI added some comments. Please, review them. Just one extra point: do you have created another patch to add tempest tests ?! How are you testing this code ?!","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"69b4b7933cbed24c5ad4ccf201d9fa0d9f2c81cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"846931b7_b60c90cd","in_reply_to":"326b9cf1_b3776546","updated":"2021-10-20 12:24:22.000000000","message":"I tested on devstack with multiple backends. The simple test case for filtering function is part of current PR, but I had not thought of tempest tests. \nDo I need to add tempest tests as well ?","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"89ea9cf94dc35252121c906233d9c89db10e37d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b08c13d7_eb2888a1","in_reply_to":"846931b7_b60c90cd","updated":"2021-10-20 15:03:54.000000000","message":"It is a new type of default filter, from my view, the tempest tests should be added. It does not block this patch, though. You could add tempest functional tests to the scheduler hint class included by the patch [1]. Do you think that the functional tests for this feature is not required ?!\n\n[1] https://review.opendev.org/c/openstack/manila-tempest-plugin/+/808048","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e64efaa99d048060dbad793f9b07f95fc6379fb9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ffb71c7a_fdb17c22","in_reply_to":"b08c13d7_eb2888a1","updated":"2021-10-20 15:17:06.000000000","message":"Thanks for review. Sure, I will add tempest-tests as well.","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"5ec8f67541b34f1bd2530d1822a9df592febf6d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c7e58f7b_560c3d0a","updated":"2021-10-25 00:39:37.000000000","message":"LGTM，thanks.","commit_id":"c326bc4d8e20bdcb0764566a1026ffeb67ac7979"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"89ea9cf94dc35252121c906233d9c89db10e37d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"13b0325f_1b701c40","updated":"2021-10-20 15:03:54.000000000","message":"Thanks for addressing the comments. LGTM!","commit_id":"c326bc4d8e20bdcb0764566a1026ffeb67ac7979"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"e0647610d14b95ea5554e382788cc4eec09ad142","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"81dd0f69_1c562fe7","updated":"2021-11-05 19:25:46.000000000","message":"Looks good, thanks Kiran!","commit_id":"8c6c765454f4f7c56319aeb110948956bbc6ae62"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"92cd433f14859196b37bda086e131028aca68dc8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3be58450_fe34206a","updated":"2021-11-01 12:51:11.000000000","message":"Rebased on master and added tempest-tests for OnlyHostFilter. Please check https://review.opendev.org/c/openstack/manila-tempest-plugin/+/816168 .","commit_id":"8c6c765454f4f7c56319aeb110948956bbc6ae62"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"79386d9ee70088e6734d2d06cb665448ab4f744e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"25be2bbb_50c734ba","updated":"2021-11-25 02:00:48.000000000","message":"LGTM, thanks Kiran Pawar.\nwe need to update doc about it.\nmanila/api-ref/source/parameters.yaml#2257\n\nOne or more scheduler_hints key and value pairs as a dictionary\nof strings. e.g. keys are same_host, different_host and values must be\na comma separated list of Share IDs. e.g. key is only_host and value is\nbackend name(admin only).\n\nmanila/api-ref/samples/share-create-request.json\nalso need update","commit_id":"68a6fe1bfbca3b3b8899df67199bbc4a4f535ec6"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"05900575198c76d53ab4aa7aa7b906347b5c4c81","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8c3e91f9_73df483c","updated":"2021-11-15 01:05:54.000000000","message":"LGTM,thanks for this change, Kiran Pawar!","commit_id":"68a6fe1bfbca3b3b8899df67199bbc4a4f535ec6"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"186dd5abbf9b41212d5188997406b8b62814416b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"825ee9a5_77eab30e","updated":"2021-11-18 22:13:02.000000000","message":"Looking good overall... Thank you for submitting this change and for the patience with this, Kiran!","commit_id":"68a6fe1bfbca3b3b8899df67199bbc4a4f535ec6"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9340d1227d7828f247c48c551da930af6435d189","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7ba52807_095b40e9","in_reply_to":"25be2bbb_50c734ba","updated":"2021-11-25 18:07:07.000000000","message":"Fixed","commit_id":"68a6fe1bfbca3b3b8899df67199bbc4a4f535ec6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"06d5b9d26aa5301ab8a179a8ebe74c7d26c5411f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"03afb28a_0f496028","in_reply_to":"7ba52807_095b40e9","updated":"2021-12-09 01:00:58.000000000","message":"This may not be useful with the current example that\u0027s there in the share-create-request.json file...","commit_id":"68a6fe1bfbca3b3b8899df67199bbc4a4f535ec6"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"94e4d36a7e95bc757805dac6703e12ab74560134","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d62b60bb_defaf785","updated":"2021-12-03 01:59:31.000000000","message":"LTGM，thanks.","commit_id":"ac3bd5b2b2b9d99a8478ea7f7dedaf3c03966d14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"06d5b9d26aa5301ab8a179a8ebe74c7d26c5411f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"2783eace_fffa13b4","updated":"2021-12-09 01:00:58.000000000","message":"Hey Kiran, \n\nThanks for adding this. I am confused about the tempest test and the corresponding user expectations however. We won\u0027t have \"only_host\" until the Yoga release... but we expect users to use API version 2.65 that was added in the Xena release; wouldn\u0027t it make sense to allow only_host in a new API microversion altogether? That way users will know to use a newer API version to use this feature.. this simplifies tempest tests as well, since the test in https://review.opendev.org/c/openstack/manila-tempest-plugin/+/816168 won\u0027t make sense for users of stable/xena... ","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"196be162ec0ad7177d08e925e44f0692e4c0c657","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"05b020a1_46df08b9","updated":"2021-12-07 16:52:12.000000000","message":"Hi Carlos/Goutham,\nCan you please review + merge ?","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"1ba29f3381f9b82553781829e03a86d2520d8029","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"57517740_ba821443","updated":"2021-12-08 01:12:48.000000000","message":"recheck","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"46669021d1cc919e49a9a1efc4f95937e06df23b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"573e2582_387ab0f3","in_reply_to":"2783eace_fffa13b4","updated":"2021-12-16 09:40:49.000000000","message":"We limit support of scheduler hints with version 2.65. what keys user can use within hints is not controlled. For example, earlier we select affinity hints as keys and ignore other keys. So if only_host is specified with xena release, it wont work (you are right). May be we can specify in documentation that only_host is supported in Yoga only.\n\nI am not against increasing mircoversion, but then 2.65 indicates scheduler_hints (as option) and not keys within scheduler_hints, I assume. WDYT ?","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6e7575099f5f640404e6ec61d5cf66872e11c136","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"ad64b0e0_8e942cb3","in_reply_to":"573e2582_387ab0f3","updated":"2021-12-16 16:54:52.000000000","message":"i can see it that way - but the UX would suffer since a consumer wouldn\u0027t know if \"only_host\" is going to work or not; for api consumers, API versioning is the only way to discover the server\u0027s state or support of a particular feature.","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"01f923c11398418f691e5816395e6cc1031a8b82","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"41d15143_0e62a886","in_reply_to":"ad64b0e0_8e942cb3","updated":"2021-12-16 20:31:12.000000000","message":"ok, I increased to 2.66","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"efa59ea0e52dcae5e1640c85e145ee4cf67a0b49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"55ba64a9_177bbab4","updated":"2021-12-17 10:17:05.000000000","message":"recheck","commit_id":"b6733cbe8af41140e449db1ed8d2176b4fe38b40"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"1d52e21e5ad2b11141644ba5e15104cf43c1ccc3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"8c664197_13238132","updated":"2021-12-19 16:35:28.000000000","message":"recheck","commit_id":"b6733cbe8af41140e449db1ed8d2176b4fe38b40"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"bff94cc8d6370f66ab71877bbcda2667596af0d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"33028531_b4c0c72b","updated":"2021-12-23 17:46:23.000000000","message":"rebased on master and new microversion changed to 2.67","commit_id":"126db0d8994e7054eea69bc4ff2341de3c9009e7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e93f1428bd88be023e0ec103c3663d8abf9e063f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"538e336c_6015decb","updated":"2021-12-24 17:54:58.000000000","message":"Hi Goutham,\nFixed all suggestions so far, please approve and merge. I have updated version to 2.67 which will be extended for share replica create as well.","commit_id":"3427ff9c7e5ed796fa0d872376bb625d769ece7e"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"91b4fdde112386093d64dc09a4c9301e5a08d424","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"0e3947a6_dce8120a","updated":"2021-12-27 07:52:41.000000000","message":"thanks for your change, Kiran Pawar.\nLGTM.\nthis change and one of my patch https://review.opendev.org/c/openstack/manila/+/800753\nboth has micversion 2.67. I also hope to merge as soon as possible to avoid conflict.","commit_id":"3427ff9c7e5ed796fa0d872376bb625d769ece7e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"6346a6e4b81b515e0d4b28c30c3943663d847a77","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"8c10983d_b6860f11","updated":"2022-01-10 10:48:32.000000000","message":"Hi Goutham,\nI have rebased. Please review/merge.","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7aa246f1e25d1662a94a529f475b967ab367ffa6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"ff7e749a_83b8cccb","updated":"2022-01-14 02:52:36.000000000","message":"Hi Kiran, \n\nA couple of minor comments inline; could you please take a look and submit a follow up change? Thanks!","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"44b89e18eb827c9e49c48bc155c95b6bd1f8295d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"ce36de01_889b59bd","updated":"2022-01-10 13:44:24.000000000","message":"Hi Kiran, thanks for working on this.","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f7e45c646dbd0afb3511b704619046b2df6041ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"61c2c17a_e99174e1","updated":"2022-01-14 15:32:36.000000000","message":"I have created follow-PR https://review.opendev.org/c/openstack/manila/+/824726\n\nplease check","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"}],"api-ref/source/parameters.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"06d5b9d26aa5301ab8a179a8ebe74c7d26c5411f","unresolved":true,"context_lines":[{"line_number":2257,"context_line":"scheduler_hints:"},{"line_number":2258,"context_line":"  description: |"},{"line_number":2259,"context_line":"    One or more scheduler_hints key and value pairs as a dictionary"},{"line_number":2260,"context_line":"    of strings. e.g. keys are same_host, different_host and values must be"},{"line_number":2261,"context_line":"    a comma separated list of Share IDs. e.g. key is only_host and value is"},{"line_number":2262,"context_line":"    backend name(admin only)."},{"line_number":2263,"context_line":"  in: body"},{"line_number":2264,"context_line":"  required: false"},{"line_number":2265,"context_line":"  type: object"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"be7d2b34_930ae5c5","line":2262,"range":{"start_line":2260,"start_character":16,"end_line":2262,"end_character":29},"updated":"2021-12-09 01:00:58.000000000","message":"probably rewrite with bullets:\n\n\nscheduler_hints:\n  description: |\n    One or more scheduler_hints key and value pairs as a dictionary\n    of strings. Accepted hints are:\n\n    - ``same_host`` or ``different_host``: values must be a comma separated list of Share IDs\n    - ``only_host``: value must be a manage-share service host in ``host@backend#POOL`` format (admin only)","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"46669021d1cc919e49a9a1efc4f95937e06df23b","unresolved":false,"context_lines":[{"line_number":2257,"context_line":"scheduler_hints:"},{"line_number":2258,"context_line":"  description: |"},{"line_number":2259,"context_line":"    One or more scheduler_hints key and value pairs as a dictionary"},{"line_number":2260,"context_line":"    of strings. e.g. keys are same_host, different_host and values must be"},{"line_number":2261,"context_line":"    a comma separated list of Share IDs. e.g. key is only_host and value is"},{"line_number":2262,"context_line":"    backend name(admin only)."},{"line_number":2263,"context_line":"  in: body"},{"line_number":2264,"context_line":"  required: false"},{"line_number":2265,"context_line":"  type: object"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5e39610c_d10b8240","line":2262,"range":{"start_line":2260,"start_character":16,"end_line":2262,"end_character":29},"in_reply_to":"be7d2b34_930ae5c5","updated":"2021-12-16 09:40:49.000000000","message":"Done","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7aa246f1e25d1662a94a529f475b967ab367ffa6","unresolved":true,"context_lines":[{"line_number":2326,"context_line":"    One or more scheduler_hints key and value pairs as a dictionary of"},{"line_number":2327,"context_line":"    strings. Accepted hints are:"},{"line_number":2328,"context_line":"    - ``same_host`` or ``different_host``: values must be a comma separated list of Share IDs"},{"line_number":2329,"context_line":"    - ``only_host``: value must be a manage-share service host in ``host@backend#POOL`` format (admin only)"},{"line_number":2330,"context_line":"  in: body"},{"line_number":2331,"context_line":"  required: false"},{"line_number":2332,"context_line":"  type: object"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"1864db64_46ae795d","line":2329,"range":{"start_line":2329,"start_character":106,"end_line":2329,"end_character":107},"updated":"2022-01-14 02:52:36.000000000","message":". This hint is only available in and beyond API version 2.67","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f7e45c646dbd0afb3511b704619046b2df6041ff","unresolved":false,"context_lines":[{"line_number":2326,"context_line":"    One or more scheduler_hints key and value pairs as a dictionary of"},{"line_number":2327,"context_line":"    strings. Accepted hints are:"},{"line_number":2328,"context_line":"    - ``same_host`` or ``different_host``: values must be a comma separated list of Share IDs"},{"line_number":2329,"context_line":"    - ``only_host``: value must be a manage-share service host in ``host@backend#POOL`` format (admin only)"},{"line_number":2330,"context_line":"  in: body"},{"line_number":2331,"context_line":"  required: false"},{"line_number":2332,"context_line":"  type: object"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"a4df9b23_8ec07c85","line":2329,"range":{"start_line":2329,"start_character":106,"end_line":2329,"end_character":107},"in_reply_to":"1864db64_46ae795d","updated":"2022-01-14 15:32:36.000000000","message":"Done","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"}],"api-ref/source/samples/share-create-request.json":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"06d5b9d26aa5301ab8a179a8ebe74c7d26c5411f","unresolved":true,"context_lines":[{"line_number":16,"context_line":"        \"scheduler_hints\": {"},{"line_number":17,"context_line":"            \"same_host\": \"d9c66489-cf02-4156-b0f2-527f3211b243,4ffee55f-ba98-42d2-a8ce-e7cecb169182\","},{"line_number":18,"context_line":"            \"different_host\": \"903685eb-f242-4105-903d-4bef2db94be4\","},{"line_number":19,"context_line":"            \"only_host\": \"host1@generic1#GENERIC1\""},{"line_number":20,"context_line":"        }"},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":9,"id":"4fcc0223_7e1dcebe","line":19,"range":{"start_line":19,"start_character":12,"end_line":19,"end_character":50},"updated":"2021-12-09 01:00:58.000000000","message":"this example doesn\u0027t make sense - we can drop it; you\u0027d not mix the affinity/anti-affinity hints with the \"only_host\" hint. With the latter, you don\u0027t need any other hints","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"46669021d1cc919e49a9a1efc4f95937e06df23b","unresolved":false,"context_lines":[{"line_number":16,"context_line":"        \"scheduler_hints\": {"},{"line_number":17,"context_line":"            \"same_host\": \"d9c66489-cf02-4156-b0f2-527f3211b243,4ffee55f-ba98-42d2-a8ce-e7cecb169182\","},{"line_number":18,"context_line":"            \"different_host\": \"903685eb-f242-4105-903d-4bef2db94be4\","},{"line_number":19,"context_line":"            \"only_host\": \"host1@generic1#GENERIC1\""},{"line_number":20,"context_line":"        }"},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":9,"id":"7b652f96_0a24f1c9","line":19,"range":{"start_line":19,"start_character":12,"end_line":19,"end_character":50},"in_reply_to":"4fcc0223_7e1dcebe","updated":"2021-12-16 09:40:49.000000000","message":"Done","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"}],"manila/api/openstack/rest_api_version_history.rst":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"44b89e18eb827c9e49c48bc155c95b6bd1f8295d","unresolved":true,"context_lines":[{"line_number":370,"context_line":""},{"line_number":371,"context_line":"2.67"},{"line_number":372,"context_line":"____"},{"line_number":373,"context_line":"  Added supprot for \u0027only_host\u0027 key in \"scheduler_hints\" in the request body"},{"line_number":374,"context_line":"  of the POST/shares request. This hint will invoke OnlyHost scheduler"},{"line_number":375,"context_line":"  filter during share creation."}],"source_content_type":"text/x-rst","patch_set":17,"id":"4420262e_4c569269","line":373,"range":{"start_line":373,"start_character":8,"end_line":373,"end_character":15},"updated":"2022-01-10 13:44:24.000000000","message":"typo: support","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f7e45c646dbd0afb3511b704619046b2df6041ff","unresolved":false,"context_lines":[{"line_number":370,"context_line":""},{"line_number":371,"context_line":"2.67"},{"line_number":372,"context_line":"____"},{"line_number":373,"context_line":"  Added supprot for \u0027only_host\u0027 key in \"scheduler_hints\" in the request body"},{"line_number":374,"context_line":"  of the POST/shares request. This hint will invoke OnlyHost scheduler"},{"line_number":375,"context_line":"  filter during share creation."}],"source_content_type":"text/x-rst","patch_set":17,"id":"7b144ea3_87610fe2","line":373,"range":{"start_line":373,"start_character":8,"end_line":373,"end_character":15},"in_reply_to":"4420262e_4c569269","updated":"2022-01-14 15:32:36.000000000","message":"Done","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"}],"manila/scheduler/drivers/filter.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"186dd5abbf9b41212d5188997406b8b62814416b","unresolved":true,"context_lines":[{"line_number":336,"context_line":"        if not share_id:"},{"line_number":337,"context_line":"            filter_properties[\u0027scheduler_hints\u0027] \u003d {}"},{"line_number":338,"context_line":"            return"},{"line_number":339,"context_line":"        else:"},{"line_number":340,"context_line":"            if filter_properties.get(\u0027scheduler_hints\u0027, None):"},{"line_number":341,"context_line":"                return"},{"line_number":342,"context_line":"        try:"},{"line_number":343,"context_line":"            db_api.share_get(context, share_id)"},{"line_number":344,"context_line":"        except exception.NotFound:"}],"source_content_type":"text/x-python","patch_set":6,"id":"e91fd35e_0dd77955","line":341,"range":{"start_line":339,"start_character":8,"end_line":341,"end_character":22},"updated":"2021-11-18 22:13:02.000000000","message":"I have a question about this: shouldn\u0027t this case be blocked beforehand as we know that in this scenario, if a share id is not provided and scheduler hints were specified, it\u0027s an invalid situation?","commit_id":"68a6fe1bfbca3b3b8899df67199bbc4a4f535ec6"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a05dbfafb8c6defb1574cf3ea594b6715177af93","unresolved":true,"context_lines":[{"line_number":336,"context_line":"        if not share_id:"},{"line_number":337,"context_line":"            filter_properties[\u0027scheduler_hints\u0027] \u003d {}"},{"line_number":338,"context_line":"            return"},{"line_number":339,"context_line":"        else:"},{"line_number":340,"context_line":"            if filter_properties.get(\u0027scheduler_hints\u0027, None):"},{"line_number":341,"context_line":"                return"},{"line_number":342,"context_line":"        try:"},{"line_number":343,"context_line":"            db_api.share_get(context, share_id)"},{"line_number":344,"context_line":"        except exception.NotFound:"}],"source_content_type":"text/x-python","patch_set":6,"id":"a5bf0b6c_866b1e3d","line":341,"range":{"start_line":339,"start_character":8,"end_line":341,"end_character":22},"in_reply_to":"e91fd35e_0dd77955","updated":"2021-11-20 09:14:39.000000000","message":"\u003eIf a share id is not provided and scheduler hints were specified, it\u0027s an invalid situation?\nYes, as long as share_id is not provided, the scheduler hints become invalid e.g. line no 337","commit_id":"68a6fe1bfbca3b3b8899df67199bbc4a4f535ec6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"06d5b9d26aa5301ab8a179a8ebe74c7d26c5411f","unresolved":true,"context_lines":[{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    def _populate_scheduler_hint(self, context, share_id, hints, key, hint):"},{"line_number":326,"context_line":"        try:"},{"line_number":327,"context_line":"            result \u003d db_api.share_metadata_get_item(context, share_id, key)"},{"line_number":328,"context_line":"        except exception.ShareMetadataNotFound:"},{"line_number":329,"context_line":"            pass"},{"line_number":330,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"c35b9367_b821068d","line":327,"range":{"start_line":327,"start_character":12,"end_line":327,"end_character":75},"updated":"2021-12-09 01:00:58.000000000","message":"This lookup could be avoided if we set this into the request spec; have you considered it? We generally strive to keep the scheduler layer light on db lookups because these calls are fairly expensive in a large cloud","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6e7575099f5f640404e6ec61d5cf66872e11c136","unresolved":true,"context_lines":[{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    def _populate_scheduler_hint(self, context, share_id, hints, key, hint):"},{"line_number":326,"context_line":"        try:"},{"line_number":327,"context_line":"            result \u003d db_api.share_metadata_get_item(context, share_id, key)"},{"line_number":328,"context_line":"        except exception.ShareMetadataNotFound:"},{"line_number":329,"context_line":"            pass"},{"line_number":330,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"e9501656_bbb6ec37","line":327,"range":{"start_line":327,"start_character":12,"end_line":327,"end_character":75},"in_reply_to":"427fb722_b6bfe472","updated":"2021-12-16 16:54:52.000000000","message":"Ah i see, thanks for calling it out. This lookup must then happen in the _get_request_spec_dictionary method [1] in the API, like we do for shares and replicas: https://github.com/openstack/manila/blob/a6177bcc0d533089eff509cc62d5313d4aaa44ba/manila/share/api.py#L550\n\nThat way it doesn\u0027t get repeated in the scheduler for regular provisioning operations.. \n\n[1] https://github.com/openstack/manila/blob/a6177bcc0d533089eff509cc62d5313d4aaa44ba/manila/share/api.py#L907-L939","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"46669021d1cc919e49a9a1efc4f95937e06df23b","unresolved":true,"context_lines":[{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    def _populate_scheduler_hint(self, context, share_id, hints, key, hint):"},{"line_number":326,"context_line":"        try:"},{"line_number":327,"context_line":"            result \u003d db_api.share_metadata_get_item(context, share_id, key)"},{"line_number":328,"context_line":"        except exception.ShareMetadataNotFound:"},{"line_number":329,"context_line":"            pass"},{"line_number":330,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"427fb722_b6bfe472","line":327,"range":{"start_line":327,"start_character":12,"end_line":327,"end_character":75},"in_reply_to":"c35b9367_b821068d","updated":"2021-12-16 09:40:49.000000000","message":"We need this lookup not during share creation but during share migration. For share or share replica create, filter_properties are populated by caller while for migration we get affinity hints (not only_host) from DB.","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"01f923c11398418f691e5816395e6cc1031a8b82","unresolved":true,"context_lines":[{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    def _populate_scheduler_hint(self, context, share_id, hints, key, hint):"},{"line_number":326,"context_line":"        try:"},{"line_number":327,"context_line":"            result \u003d db_api.share_metadata_get_item(context, share_id, key)"},{"line_number":328,"context_line":"        except exception.ShareMetadataNotFound:"},{"line_number":329,"context_line":"            pass"},{"line_number":330,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"5bd498a7_264cd7dc","line":327,"range":{"start_line":327,"start_character":12,"end_line":327,"end_character":75},"in_reply_to":"e9501656_bbb6ec37","updated":"2021-12-16 20:31:12.000000000","message":"updated.","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"06d5b9d26aa5301ab8a179a8ebe74c7d26c5411f","unresolved":true,"context_lines":[{"line_number":340,"context_line":"            if filter_properties.get(\u0027scheduler_hints\u0027, None):"},{"line_number":341,"context_line":"                return"},{"line_number":342,"context_line":"        try:"},{"line_number":343,"context_line":"            db_api.share_get(context, share_id)"},{"line_number":344,"context_line":"        except exception.NotFound:"},{"line_number":345,"context_line":"            filter_properties[\u0027scheduler_hints\u0027] \u003d {}"},{"line_number":346,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"fdc08997_920bdfe6","line":343,"range":{"start_line":343,"start_character":0,"end_line":343,"end_character":47},"updated":"2021-12-09 01:00:58.000000000","message":"Giving this a fresh look; why is this call necessary? lines 336-338 serve the purpose of handling scheduling requests for requests that don\u0027t pertain to shares...","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"46669021d1cc919e49a9a1efc4f95937e06df23b","unresolved":true,"context_lines":[{"line_number":340,"context_line":"            if filter_properties.get(\u0027scheduler_hints\u0027, None):"},{"line_number":341,"context_line":"                return"},{"line_number":342,"context_line":"        try:"},{"line_number":343,"context_line":"            db_api.share_get(context, share_id)"},{"line_number":344,"context_line":"        except exception.NotFound:"},{"line_number":345,"context_line":"            filter_properties[\u0027scheduler_hints\u0027] \u003d {}"},{"line_number":346,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"848bd54e_40004918","line":343,"range":{"start_line":343,"start_character":0,"end_line":343,"end_character":47},"in_reply_to":"fdc08997_920bdfe6","updated":"2021-12-16 09:40:49.000000000","message":"same as above.","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"}],"manila/scheduler/filters/host.py":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"44b89e18eb827c9e49c48bc155c95b6bd1f8295d","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def host_passes(self, host_state, filter_properties):"},{"line_number":23,"context_line":"        context \u003d filter_properties[\u0027context\u0027]"},{"line_number":24,"context_line":"        if not context.is_admin:"},{"line_number":25,"context_line":"            return True"},{"line_number":26,"context_line":"        hints \u003d filter_properties.get(\u0027scheduler_hints\u0027)"},{"line_number":27,"context_line":"        if hints is None:"}],"source_content_type":"text/x-python","patch_set":17,"id":"4d2131e8_1277d43a","line":24,"updated":"2022-01-10 13:44:24.000000000","message":"I don\u0027t like that this is hardcoded. I would prefer to have control in the policy who can use this feature.\nIn my cloud installation I may want to give this permission to some elevated users, who are not overall admins.\n\nOne use-case I have in mind: running periodic tests that create a share on each host.\nHanding out cloud admin permissions would be overkill, such a test user should be allowed to create shares on a pre-selected host, but not do other potential harmful stuff in my cloud installation.\n\nI see it as an enhancement, which could go in a follow-up commit.","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7aa246f1e25d1662a94a529f475b967ab367ffa6","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def host_passes(self, host_state, filter_properties):"},{"line_number":23,"context_line":"        context \u003d filter_properties[\u0027context\u0027]"},{"line_number":24,"context_line":"        if not context.is_admin:"},{"line_number":25,"context_line":"            return True"},{"line_number":26,"context_line":"        hints \u003d filter_properties.get(\u0027scheduler_hints\u0027)"},{"line_number":27,"context_line":"        if hints is None:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9bbe00cc_183379e6","line":24,"in_reply_to":"4d2131e8_1277d43a","updated":"2022-01-14 02:52:36.000000000","message":"+1\nThis isn\u0027t really a hard-coded policy check; \"context_is_policy\" is customizable to any role. The \"host\" field itself is governed by this \"context_is_admin\" policy. perhaps we can add a new RBAC policy that controls the visibility of the \"host\" field as well as the use of \"only_host\"? \nAgree this  could come in a follow up change\n\n[1] https://opendev.org/openstack/manila/src/commit/603e484fb6128dface4945ebacbe8d0edb4f408e/manila/policies/base.py#L123-L128\n[2] https://opendev.org/openstack/manila/src/commit/603e484fb6128dface4945ebacbe8d0edb4f408e/manila/policy.py","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f7e45c646dbd0afb3511b704619046b2df6041ff","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def host_passes(self, host_state, filter_properties):"},{"line_number":23,"context_line":"        context \u003d filter_properties[\u0027context\u0027]"},{"line_number":24,"context_line":"        if not context.is_admin:"},{"line_number":25,"context_line":"            return True"},{"line_number":26,"context_line":"        hints \u003d filter_properties.get(\u0027scheduler_hints\u0027)"},{"line_number":27,"context_line":"        if hints is None:"}],"source_content_type":"text/x-python","patch_set":17,"id":"fea6e3a0_26cae3d5","line":24,"in_reply_to":"9bbe00cc_183379e6","updated":"2022-01-14 15:32:36.000000000","message":"Done","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"}],"manila/scheduler/host_manager.py":[{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"4c19b5fc9e1338c1fcf35daf26f1e6d4ae983f63","unresolved":true,"context_lines":[{"line_number":50,"context_line":"                    \u0027CreateFromSnapshotFilter\u0027,"},{"line_number":51,"context_line":"                    \u0027AffinityFilter\u0027,"},{"line_number":52,"context_line":"                    \u0027AntiAffinityFilter\u0027,"},{"line_number":53,"context_line":"                    \u0027OnlyHostFilter\u0027,"},{"line_number":54,"context_line":"                ],"},{"line_number":55,"context_line":"                help\u003d\u0027Which filter class names to use for filtering hosts \u0027"},{"line_number":56,"context_line":"                     \u0027when not specified in the request.\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"8fe3f06a_b853b514","line":53,"range":{"start_line":53,"start_character":21,"end_line":53,"end_character":35},"updated":"2021-10-19 16:50:29.000000000","message":"Would it be better if we add this filter as the first ?! The filter chain uses less compute resources when the most restrictive filter comes first. The \"OnlyHostFilter\" is the most restrictive one: only one host is acceptable. With this filter set first, all other filters will only check if the selected host can be used, removing all others one.","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"69b4b7933cbed24c5ad4ccf201d9fa0d9f2c81cc","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                    \u0027CreateFromSnapshotFilter\u0027,"},{"line_number":51,"context_line":"                    \u0027AffinityFilter\u0027,"},{"line_number":52,"context_line":"                    \u0027AntiAffinityFilter\u0027,"},{"line_number":53,"context_line":"                    \u0027OnlyHostFilter\u0027,"},{"line_number":54,"context_line":"                ],"},{"line_number":55,"context_line":"                help\u003d\u0027Which filter class names to use for filtering hosts \u0027"},{"line_number":56,"context_line":"                     \u0027when not specified in the request.\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"50461f53_09fa13e7","line":53,"range":{"start_line":53,"start_character":21,"end_line":53,"end_character":35},"in_reply_to":"8fe3f06a_b853b514","updated":"2021-10-20 12:24:22.000000000","message":"This makes sense and even other filters then need to not to iterate over all hosts.","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"}],"manila/share/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7aa246f1e25d1662a94a529f475b967ab367ffa6","unresolved":true,"context_lines":[{"line_number":896,"context_line":""},{"line_number":897,"context_line":"        return self.db.share_get(context, share[\u0027id\u0027])"},{"line_number":898,"context_line":""},{"line_number":899,"context_line":"    def _get_request_spec_dict(self, share, share_type, context, **kwargs):"},{"line_number":900,"context_line":""},{"line_number":901,"context_line":"        if share is None:"},{"line_number":902,"context_line":"            share \u003d {\u0027instance\u0027: {}}"}],"source_content_type":"text/x-python","patch_set":17,"id":"e80822d4_b69e04be","line":899,"range":{"start_line":899,"start_character":56,"end_line":899,"end_character":65},"updated":"2022-01-14 02:52:36.000000000","message":"for consistency, \"context\" is usually the first argument (after \"self\").","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f7e45c646dbd0afb3511b704619046b2df6041ff","unresolved":false,"context_lines":[{"line_number":896,"context_line":""},{"line_number":897,"context_line":"        return self.db.share_get(context, share[\u0027id\u0027])"},{"line_number":898,"context_line":""},{"line_number":899,"context_line":"    def _get_request_spec_dict(self, share, share_type, context, **kwargs):"},{"line_number":900,"context_line":""},{"line_number":901,"context_line":"        if share is None:"},{"line_number":902,"context_line":"            share \u003d {\u0027instance\u0027: {}}"}],"source_content_type":"text/x-python","patch_set":17,"id":"e020b78b_5b23aaab","line":899,"range":{"start_line":899,"start_character":56,"end_line":899,"end_character":65},"in_reply_to":"e80822d4_b69e04be","updated":"2022-01-14 15:32:36.000000000","message":"Done","commit_id":"746fb7e2df142ba490dc5457ac6a0f47c1d5cc8e"}],"releasenotes/notes/hostonly-filter-1a17a70dd0aafb86.yaml":[{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"4c19b5fc9e1338c1fcf35daf26f1e6d4ae983f63","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    specify host@backend#pool to \"share.scheduler_hints.only_host\" in the"},{"line_number":5,"context_line":"    request payload when creating a manila share. The hint is used only"},{"line_number":6,"context_line":"    for share creation and not stored as share metadata. For non-admin users"},{"line_number":7,"context_line":"    the OnlyHostFilter will always return True."},{"line_number":8,"context_line":"upgrade:"},{"line_number":9,"context_line":"  - To add OnlyHostFilter to an active deployment, their references must be"},{"line_number":10,"context_line":"    added to the manila.scheduler.filters section in setup.cfg and must be"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"fb2516fb_146bf83f","line":7,"range":{"start_line":7,"start_character":23,"end_line":7,"end_character":47},"updated":"2021-10-19 16:50:29.000000000","message":"too much developer, the reader might not know. Please, better: \"will always be ignored\" or \"will always pass\"","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"69b4b7933cbed24c5ad4ccf201d9fa0d9f2c81cc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    specify host@backend#pool to \"share.scheduler_hints.only_host\" in the"},{"line_number":5,"context_line":"    request payload when creating a manila share. The hint is used only"},{"line_number":6,"context_line":"    for share creation and not stored as share metadata. For non-admin users"},{"line_number":7,"context_line":"    the OnlyHostFilter will always return True."},{"line_number":8,"context_line":"upgrade:"},{"line_number":9,"context_line":"  - To add OnlyHostFilter to an active deployment, their references must be"},{"line_number":10,"context_line":"    added to the manila.scheduler.filters section in setup.cfg and must be"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"f4002cf7_3742270a","line":7,"range":{"start_line":7,"start_character":23,"end_line":7,"end_character":47},"in_reply_to":"fb2516fb_146bf83f","updated":"2021-10-20 12:24:22.000000000","message":"Done","commit_id":"410adbf6a20d9c42d3c21edaf722bc86d205eabb"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"06d5b9d26aa5301ab8a179a8ebe74c7d26c5411f","unresolved":true,"context_lines":[{"line_number":6,"context_line":"    for share creation and not stored as share metadata. For non-admin users"},{"line_number":7,"context_line":"    the OnlyHostFilter will always be ignored."},{"line_number":8,"context_line":"upgrade:"},{"line_number":9,"context_line":"  - To add OnlyHostFilter to an active deployment, their references must be"},{"line_number":10,"context_line":"    added to the manila.scheduler.filters section in setup.cfg and must be"},{"line_number":11,"context_line":"    enabled in manila.conf."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"a5b69dcc_804a296b","line":10,"range":{"start_line":9,"start_character":51,"end_line":10,"end_character":63},"updated":"2021-12-09 01:00:58.000000000","message":"This change has already modified setup.cfg, what you mean is that deployers enable it in the [manila.scheduler.filters] section of the installation\u0027s \"entry_points.txt\" file.","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"46669021d1cc919e49a9a1efc4f95937e06df23b","unresolved":true,"context_lines":[{"line_number":6,"context_line":"    for share creation and not stored as share metadata. For non-admin users"},{"line_number":7,"context_line":"    the OnlyHostFilter will always be ignored."},{"line_number":8,"context_line":"upgrade:"},{"line_number":9,"context_line":"  - To add OnlyHostFilter to an active deployment, their references must be"},{"line_number":10,"context_line":"    added to the manila.scheduler.filters section in setup.cfg and must be"},{"line_number":11,"context_line":"    enabled in manila.conf."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"19ff9ff1_79f5fd90","line":10,"range":{"start_line":9,"start_character":51,"end_line":10,"end_character":63},"in_reply_to":"a5b69dcc_804a296b","updated":"2021-12-16 09:40:49.000000000","message":"I had removed mention of setup.cfg. The entry_points.txt is also not needed.","commit_id":"ab9e170b42746bccc1dfd590f3d356d4e7d9eacf"}]}
