)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dc2b41f46271322b16aaa1bcaf2f40204c9d3908","unresolved":true,"context_lines":[{"line_number":14,"context_line":"called ``netapp_cluster_name`` that contains the name"},{"line_number":15,"context_line":"of the cluster where the pool is located."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Implements: netapp-active-iq-scheduler-weigher"},{"line_number":18,"context_line":"Signed-off-by Felipe Rodrigues \u003cfelipefuty01@gmail.com\u003e"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I36b08066545afdaa37e053eee319bc9cd489efdc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"22a67071_30b6cba7","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":46},"updated":"2023-08-24 18:43:26.000000000","message":"Implements: bp netapp-active-iq-scheduler-weigher","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"943ded9ba5d37dc0bed62ba5bd78faf1d228c3d3","unresolved":false,"context_lines":[{"line_number":14,"context_line":"called ``netapp_cluster_name`` that contains the name"},{"line_number":15,"context_line":"of the cluster where the pool is located."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Implements: netapp-active-iq-scheduler-weigher"},{"line_number":18,"context_line":"Signed-off-by Felipe Rodrigues \u003cfelipefuty01@gmail.com\u003e"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I36b08066545afdaa37e053eee319bc9cd489efdc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"d7b27128_83257a71","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":46},"in_reply_to":"22a67071_30b6cba7","updated":"2023-09-01 12:32:13.000000000","message":"done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"f77352fa470960e47dd47b35d45cf6aac33ff17c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9c4127bf_15542065","updated":"2023-08-07 19:36:17.000000000","message":"Thank you Felipe.","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":35677,"name":"Thiago José de Andrade Alvoravel","display_name":"Thiago Alvoravel","email":"thiago.andrade@fit-tecnologia.org.br","username":"thiagoalvoravel"},"change_message_id":"cfab945e16a30193b052d59876ef407bcd542ef7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5eb56f2c_25a1360b","updated":"2023-08-07 21:05:55.000000000","message":"Thanks for this patch, Felipe. Few questions inline.","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"f723064ccf42695f3ea69b9d3885eced638d3d10","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d5063092_25723a15","updated":"2023-08-09 14:44:27.000000000","message":"thank you guys for the reviews.","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"2ce112ac474aa148227de56efa8d997e57a171bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e16a0403_bae33eef","updated":"2023-08-14 18:02:05.000000000","message":"Felipe I have review you code, let me know if you have any query.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"29c780ba67b6d71ce391a64fe40a237cd081dc06","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a5367f35_a7004d56","updated":"2023-08-21 10:59:43.000000000","message":"Felipe, added few more comments","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2d3d29c4_918da81d","updated":"2023-08-28 11:51:42.000000000","message":"Thank you Goutham and Gireesh. See my comments.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":35677,"name":"Thiago José de Andrade Alvoravel","display_name":"Thiago Alvoravel","email":"thiago.andrade@fit-tecnologia.org.br","username":"thiagoalvoravel"},"change_message_id":"5f959b61237528a59ccfa49cb88576106cc317f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5aeb9167_b23e1b8c","updated":"2023-08-10 13:33:52.000000000","message":"Thanks Felipe, my comments have been addressed.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"75c2028f_d7a7b1d9","updated":"2023-08-15 20:26:46.000000000","message":"Thanks for working on this; as we discussed on IRC; we\u0027d benefit testing this with the CI. You could enable it in the dummy driver job, so we can see a negative test - i.e., ActiveIQ weigher is skipped; and enable it on your NetApp CI jobs where we\u0027d see the weigher in action","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"5d4eb77f821729151e507cc09201831699e156f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b43170ab_0be70dd3","updated":"2023-08-18 17:08:03.000000000","message":"Weigher job was executed internally in NetApp-CI with a SUCCESS.\nLinks:\n- https://netappopenstacklogserver.s3.us-west-1.amazonaws.com/index.html#logs/60/1760/1/downstream-experimental/manila-tempest-plugin-ontap-dhss-active-IQ-weigher/3004b78/\n- https://netappopenstacklogserver.s3.us-west-1.amazonaws.com/index.html#logs/60/1760/1/downstream-experimental/manila-tempest-plugin-ontap-no-dhss-active-IQ-weigher/36ea102/","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"38bac988ea630585f6e30791662872f33c24178c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6e85c748_cf4f2e1d","updated":"2023-08-29 20:07:07.000000000","message":"recheck CI Fail to build releasenotes","commit_id":"92b08febb5cfeb78211c955334d31e3170a69cf3"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"943b2695_301e23ea","updated":"2023-09-01 12:27:43.000000000","message":"Thank you Douglas and Carlos for the review. About the NetApp CI, it is failing for an unrelated reason. The CI is having some failures with the \"soft_delete\" test. It is not related to the minor change in the drive, though.","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"94884068d7ae3d0c5970c700746151fe115b6760","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"66276cc5_85a62958","updated":"2023-08-30 19:07:16.000000000","message":"Thank you Felipe","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"426eba9fce2bc7ccf9c89f9f2e6e2b089485eca9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"11f36fb1_995696f7","updated":"2023-08-30 17:08:05.000000000","message":"Thanks for working on this change. I\u0027m happy to proceed with it, even though I have some minor comments that can be addressed in a follow-up.\n\nPlease work on the coverage... There are a couple of untested things in the weigher: https://73c6a69afc5d064c71ba-b3f98f16f01c15606b481299d248970c.ssl.cf5.rackcdn.com/890291/5/check/openstack-tox-cover/c9382c1/cover/d_116a0fe81c76e1e9_netapp_aiq_py.html","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"ee03cc0a063af5f5fa00db398ba5d31ba59b5d9a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"97e0f111_db9128d0","updated":"2023-08-31 22:09:59.000000000","message":"The code looks good in general, there are lots of questiona that were answered but not yet \"solved\". I guess that NetApp-CI will not validate this weigher, since depends on a ActiveIQ configured on CI.\nSince it is an isolated feature, doesn\u0027t seems to affect other drivers.\nSince it changes a bit of NetApp base code, would be good to have their CI passing here.\n@Felipe, please address comments and improvements in a follow up change if needed.","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"9d808e203fa8b4bb58c39a93623fd55768a32e38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9c421db9_19f83f7d","updated":"2023-09-01 12:31:12.000000000","message":"The small fixes will be done during a follow-up patch, since the CI \"passed\" and we have already the 2 votes +2. Thank you guys.","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a4fc8871e5e41a5d1eff5bfcb6ba5f02e3bf8a75","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"82506a12_c153ca74","updated":"2023-09-07 01:33:07.000000000","message":"recheck\n\n\nsome more minor comments inline for your follow up. \n\nPlease ensure you\u0027re manually updating the blueprint on Launchpad, since the blueprint format isn\u0027t correct in the commit message, the bot wouldn\u0027t keep the bp updated.","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"abea30a34ec43431e0c22bbaf9696872efa57dc6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a7bbf57d_044804d9","updated":"2023-08-30 14:23:50.000000000","message":"recheck no related failure: lvm job","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"87e1f0ea78dd49d08ef4864deb29b055db88c1f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1f06494f_8d375a05","updated":"2023-09-01 16:33:18.000000000","message":"run-NetApp CI","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"963f58ef1a12b8b51c21096df9652a8332ff3b95","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"46a21e5d_7eeb7f9b","updated":"2023-08-31 22:10:10.000000000","message":"run-NetApp CI","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"e759710432e689f955005b76b025708978228591","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d0af7766_79467255","updated":"2023-08-31 11:58:06.000000000","message":"run-NetApp CI","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"fcddf2901d9cb73a9b9e93349e994c885741d59a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d5306741_88e8db62","updated":"2023-09-01 12:32:43.000000000","message":"run-NetApp CI","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"8b442f5663f51cc74d4ebb6df8039e266a66e4fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cb78ca45_2ec0391e","updated":"2023-09-01 01:02:29.000000000","message":"run-experimental NetApp CI","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9c3b3207_62794467","in_reply_to":"11f36fb1_995696f7","updated":"2023-09-01 12:27:43.000000000","message":"Thank you carlos. We can improve the coverage with a follow-up patch later. We will do after the FF.","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"440d0b7d_51da0874","in_reply_to":"97e0f111_db9128d0","updated":"2023-09-01 12:27:43.000000000","message":"Thank you douglas! I left to the author to mark as done. Goutham is on PTO, so I think I can take it.","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"}],"manila/scheduler/weighers/netapp_aiq.py":[{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"f77352fa470960e47dd47b35d45cf6aac33ff17c","unresolved":true,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def _weigh_active_iq(self, netapp_aggregates_location, weight_properties):"},{"line_number":128,"context_line":"        \"\"\"Determine host\u0027s rating based on a Active IQ.\"\"\""},{"line_number":129,"context_line":"        size \u003d weight_properties.get(\u0027size\u0027)"},{"line_number":130,"context_line":"        share_type \u003d weight_properties.get(\u0027share_type\u0027, {})"},{"line_number":131,"context_line":"        performance_level_id \u003d share_type.get(\u0027extra_specs\u0027, {}).get("},{"line_number":132,"context_line":"            \u0027netapp:performance_level_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"b428002d_5a24edc8","line":129,"range":{"start_line":129,"start_character":8,"end_line":129,"end_character":44},"updated":"2023-08-07 19:36:17.000000000","message":"Is there a chance to have size return \"None\"? If so, maybe is good to add get( , 0) to avoid (\"capacity\": f\u0027{size}GB\u0027 \u003d None GB) in line 244.","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"943ded9ba5d37dc0bed62ba5bd78faf1d228c3d3","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def _weigh_active_iq(self, netapp_aggregates_location, weight_properties):"},{"line_number":128,"context_line":"        \"\"\"Determine host\u0027s rating based on a Active IQ.\"\"\""},{"line_number":129,"context_line":"        size \u003d weight_properties.get(\u0027size\u0027)"},{"line_number":130,"context_line":"        share_type \u003d weight_properties.get(\u0027share_type\u0027, {})"},{"line_number":131,"context_line":"        performance_level_id \u003d share_type.get(\u0027extra_specs\u0027, {}).get("},{"line_number":132,"context_line":"            \u0027netapp:performance_level_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"caa9129c_def35915","line":129,"range":{"start_line":129,"start_character":8,"end_line":129,"end_character":44},"in_reply_to":"46ce931c_b3f12239","updated":"2023-09-01 12:32:13.000000000","message":"done","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"f723064ccf42695f3ea69b9d3885eced638d3d10","unresolved":true,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def _weigh_active_iq(self, netapp_aggregates_location, weight_properties):"},{"line_number":128,"context_line":"        \"\"\"Determine host\u0027s rating based on a Active IQ.\"\"\""},{"line_number":129,"context_line":"        size \u003d weight_properties.get(\u0027size\u0027)"},{"line_number":130,"context_line":"        share_type \u003d weight_properties.get(\u0027share_type\u0027, {})"},{"line_number":131,"context_line":"        performance_level_id \u003d share_type.get(\u0027extra_specs\u0027, {}).get("},{"line_number":132,"context_line":"            \u0027netapp:performance_level_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"46ce931c_b3f12239","line":129,"range":{"start_line":129,"start_character":8,"end_line":129,"end_character":44},"in_reply_to":"b428002d_5a24edc8","updated":"2023-08-09 14:44:27.000000000","message":"Good point. No, there is no chance. You are provisioning a new share. The Manila API ensures that the size is passed. Also, even this weigher is called without a size, there is no sense to the Active IQ, the size is a mandatory non 0 value from the ACtive IQ API. So, setting as \"0GB\" would fail anyway. Given that it is an invalid scenario, it doesn\u0027t matter how it fails. it should never be part of the flow.","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":35677,"name":"Thiago José de Andrade Alvoravel","display_name":"Thiago Alvoravel","email":"thiago.andrade@fit-tecnologia.org.br","username":"thiagoalvoravel"},"change_message_id":"cfab945e16a30193b052d59876ef407bcd542ef7","unresolved":true,"context_lines":[{"line_number":289,"context_line":""},{"line_number":290,"context_line":"            # if at least one host is not from NetApp, the entire weigher is"},{"line_number":291,"context_line":"            # skipped."},{"line_number":292,"context_line":"            if obj.obj.vendor_name !\u003d \"NetApp\" or skip_weigher:"},{"line_number":293,"context_line":"                weights.append(0.0)"},{"line_number":294,"context_line":"                skip_weigher \u003d True"},{"line_number":295,"context_line":"            else:"},{"line_number":296,"context_line":"                cluster_name \u003d obj.obj.capabilities.get(\"netapp_cluster_name\")"},{"line_number":297,"context_line":"                aggr_name \u003d obj.obj.pool_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"2563137c_d9c78555","line":294,"range":{"start_line":292,"start_character":12,"end_line":294,"end_character":35},"updated":"2023-08-07 21:05:55.000000000","message":"From what I understood, in the first occurrence of non-NetApp host you could log the skip and return 0 for this weigher, or I\u0027m wrong? In this case, I think you could put the IF logic (L300-L303) here and avoid an unnecessary full loop in this array. WDYT?","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":35677,"name":"Thiago José de Andrade Alvoravel","display_name":"Thiago Alvoravel","email":"thiago.andrade@fit-tecnologia.org.br","username":"thiagoalvoravel"},"change_message_id":"5f959b61237528a59ccfa49cb88576106cc317f7","unresolved":false,"context_lines":[{"line_number":289,"context_line":""},{"line_number":290,"context_line":"            # if at least one host is not from NetApp, the entire weigher is"},{"line_number":291,"context_line":"            # skipped."},{"line_number":292,"context_line":"            if obj.obj.vendor_name !\u003d \"NetApp\" or skip_weigher:"},{"line_number":293,"context_line":"                weights.append(0.0)"},{"line_number":294,"context_line":"                skip_weigher \u003d True"},{"line_number":295,"context_line":"            else:"},{"line_number":296,"context_line":"                cluster_name \u003d obj.obj.capabilities.get(\"netapp_cluster_name\")"},{"line_number":297,"context_line":"                aggr_name \u003d obj.obj.pool_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"75b0996f_2061c6ed","line":294,"range":{"start_line":292,"start_character":12,"end_line":294,"end_character":35},"in_reply_to":"11f46f17_a7ec9761","updated":"2023-08-10 13:33:52.000000000","message":"Done","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"f723064ccf42695f3ea69b9d3885eced638d3d10","unresolved":true,"context_lines":[{"line_number":289,"context_line":""},{"line_number":290,"context_line":"            # if at least one host is not from NetApp, the entire weigher is"},{"line_number":291,"context_line":"            # skipped."},{"line_number":292,"context_line":"            if obj.obj.vendor_name !\u003d \"NetApp\" or skip_weigher:"},{"line_number":293,"context_line":"                weights.append(0.0)"},{"line_number":294,"context_line":"                skip_weigher \u003d True"},{"line_number":295,"context_line":"            else:"},{"line_number":296,"context_line":"                cluster_name \u003d obj.obj.capabilities.get(\"netapp_cluster_name\")"},{"line_number":297,"context_line":"                aggr_name \u003d obj.obj.pool_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"11f46f17_a7ec9761","line":294,"range":{"start_line":292,"start_character":12,"end_line":294,"end_character":35},"in_reply_to":"2563137c_d9c78555","updated":"2023-08-09 14:44:27.000000000","message":"nice, makes sense. done.","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_config import cfg"},{"line_number":17,"context_line":"from oslo_log import log as logging"},{"line_number":18,"context_line":"from oslo_serialization import jsonutils"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import requests"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from requests.adapters import HTTPAdapter"},{"line_number":23,"context_line":"from requests import auth"},{"line_number":24,"context_line":"from urllib3.util import retry"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from manila.scheduler.weighers import base_host"}],"source_content_type":"text/x-python","patch_set":2,"id":"41b5c4af_5e671977","line":23,"range":{"start_line":18,"start_character":0,"end_line":23,"end_character":16},"updated":"2023-08-15 20:26:46.000000000","message":"one group for all the third party libraries please: https://docs.openstack.org/hacking/latest/user/hacking.html#import-order-template","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_config import cfg"},{"line_number":17,"context_line":"from oslo_log import log as logging"},{"line_number":18,"context_line":"from oslo_serialization import jsonutils"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import requests"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from requests.adapters import HTTPAdapter"},{"line_number":23,"context_line":"from requests import auth"},{"line_number":24,"context_line":"from urllib3.util import retry"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from manila.scheduler.weighers import base_host"}],"source_content_type":"text/x-python","patch_set":2,"id":"77b34833_c82732f1","line":23,"range":{"start_line":18,"start_character":0,"end_line":23,"end_character":16},"in_reply_to":"41b5c4af_5e671977","updated":"2023-08-28 11:51:42.000000000","message":"done, see next patch.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_config import cfg"},{"line_number":17,"context_line":"from oslo_log import log as logging"},{"line_number":18,"context_line":"from oslo_serialization import jsonutils"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import requests"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from requests.adapters import HTTPAdapter"},{"line_number":23,"context_line":"from requests import auth"},{"line_number":24,"context_line":"from urllib3.util import retry"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from manila.scheduler.weighers import base_host"}],"source_content_type":"text/x-python","patch_set":2,"id":"2796dffe_3547ada2","line":23,"range":{"start_line":18,"start_character":0,"end_line":23,"end_character":16},"in_reply_to":"77b34833_c82732f1","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":30,"context_line":"                       help\u003d\u0027The hostname (or IP address) for the Active IQ.\u0027),"},{"line_number":31,"context_line":"    cfg.PortOpt(\u0027aiq_port\u0027,"},{"line_number":32,"context_line":"                help\u003d(\u0027The TCP port to use for communication with the Active \u0027"},{"line_number":33,"context_line":"                      \u0027IQ. If not specified, Data ONTAP drivers will use 80 \u0027"},{"line_number":34,"context_line":"                      \u0027for HTTP and 443 for HTTPS.\u0027)),"},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027aiq_transport_type\u0027,"},{"line_number":36,"context_line":"               default\u003d\u0027https\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"f9d03dc7_14dad138","line":33,"range":{"start_line":33,"start_character":45,"end_line":33,"end_character":63},"updated":"2023-08-15 20:26:46.000000000","message":"The weigher driver","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                       help\u003d\u0027The hostname (or IP address) for the Active IQ.\u0027),"},{"line_number":31,"context_line":"    cfg.PortOpt(\u0027aiq_port\u0027,"},{"line_number":32,"context_line":"                help\u003d(\u0027The TCP port to use for communication with the Active \u0027"},{"line_number":33,"context_line":"                      \u0027IQ. If not specified, Data ONTAP drivers will use 80 \u0027"},{"line_number":34,"context_line":"                      \u0027for HTTP and 443 for HTTPS.\u0027)),"},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027aiq_transport_type\u0027,"},{"line_number":36,"context_line":"               default\u003d\u0027https\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"abff9521_777095dd","line":33,"range":{"start_line":33,"start_character":45,"end_line":33,"end_character":63},"in_reply_to":"8e648fa5_1f899b14","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":30,"context_line":"                       help\u003d\u0027The hostname (or IP address) for the Active IQ.\u0027),"},{"line_number":31,"context_line":"    cfg.PortOpt(\u0027aiq_port\u0027,"},{"line_number":32,"context_line":"                help\u003d(\u0027The TCP port to use for communication with the Active \u0027"},{"line_number":33,"context_line":"                      \u0027IQ. If not specified, Data ONTAP drivers will use 80 \u0027"},{"line_number":34,"context_line":"                      \u0027for HTTP and 443 for HTTPS.\u0027)),"},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027aiq_transport_type\u0027,"},{"line_number":36,"context_line":"               default\u003d\u0027https\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"8e648fa5_1f899b14","line":33,"range":{"start_line":33,"start_character":45,"end_line":33,"end_character":63},"in_reply_to":"f9d03dc7_14dad138","updated":"2023-08-28 11:51:42.000000000","message":"done, see next patch.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                      \u0027IQ. If not specified, Data ONTAP drivers will use 80 \u0027"},{"line_number":34,"context_line":"                      \u0027for HTTP and 443 for HTTPS.\u0027)),"},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027aiq_transport_type\u0027,"},{"line_number":36,"context_line":"               default\u003d\u0027https\u0027,"},{"line_number":37,"context_line":"               help\u003d(\u0027The transport protocol used when communicating with \u0027"},{"line_number":38,"context_line":"                     \u0027the Active IQ. Valid values are \u0027"},{"line_number":39,"context_line":"                     \u0027http or https.\u0027)),"}],"source_content_type":"text/x-python","patch_set":2,"id":"255ac905_b423de7b","line":36,"range":{"start_line":36,"start_character":30,"end_line":36,"end_character":31},"updated":"2023-08-15 20:26:46.000000000","message":"choices\u003d[\u0027http\u0027, \u0027https\u0027],","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                      \u0027IQ. If not specified, Data ONTAP drivers will use 80 \u0027"},{"line_number":34,"context_line":"                      \u0027for HTTP and 443 for HTTPS.\u0027)),"},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027aiq_transport_type\u0027,"},{"line_number":36,"context_line":"               default\u003d\u0027https\u0027,"},{"line_number":37,"context_line":"               help\u003d(\u0027The transport protocol used when communicating with \u0027"},{"line_number":38,"context_line":"                     \u0027the Active IQ. Valid values are \u0027"},{"line_number":39,"context_line":"                     \u0027http or https.\u0027)),"}],"source_content_type":"text/x-python","patch_set":2,"id":"85bcee45_6f918538","line":36,"range":{"start_line":36,"start_character":30,"end_line":36,"end_character":31},"in_reply_to":"255ac905_b423de7b","updated":"2023-08-28 11:51:42.000000000","message":"done, see next patch.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                      \u0027IQ. If not specified, Data ONTAP drivers will use 80 \u0027"},{"line_number":34,"context_line":"                      \u0027for HTTP and 443 for HTTPS.\u0027)),"},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027aiq_transport_type\u0027,"},{"line_number":36,"context_line":"               default\u003d\u0027https\u0027,"},{"line_number":37,"context_line":"               help\u003d(\u0027The transport protocol used when communicating with \u0027"},{"line_number":38,"context_line":"                     \u0027the Active IQ. Valid values are \u0027"},{"line_number":39,"context_line":"                     \u0027http or https.\u0027)),"}],"source_content_type":"text/x-python","patch_set":2,"id":"12ec1089_d1b5643d","line":36,"range":{"start_line":36,"start_character":30,"end_line":36,"end_character":31},"in_reply_to":"85bcee45_6f918538","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":68,"context_line":"                    \u0027size\u0027"},{"line_number":69,"context_line":"                ],"},{"line_number":70,"context_line":"                help\u003d\u0027Permutation of the list [\"volume_count\", \"size\", \u0027"},{"line_number":71,"context_line":"                     \u0027\"latency\", “ops”]. Note that for volume_count and \u0027"},{"line_number":72,"context_line":"                     \u0027latency, the higher the values, the less optimal the \u0027"},{"line_number":73,"context_line":"                     \u0027resources. For capacity and ops, the higher the value \u0027"},{"line_number":74,"context_line":"                     \u0027the more desirable the resources. If metrics are to be \u0027"},{"line_number":75,"context_line":"                     \u0027considered with equal weights, concatenate the strings, \u0027"},{"line_number":76,"context_line":"                     \u0027separated by \":\".\u0027"},{"line_number":77,"context_line":"                     \u0027An example is [\"volume_count\", \"size\", “latency:ops”] \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9e8d659c_0ad56f6f","line":74,"range":{"start_line":71,"start_character":41,"end_line":74,"end_character":56},"updated":"2023-08-15 20:26:46.000000000","message":"I don\u0027t understand this - could you explain this better?\n\nalso by \"capacity\", do you mean \"size\"?","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                    \u0027size\u0027"},{"line_number":69,"context_line":"                ],"},{"line_number":70,"context_line":"                help\u003d\u0027Permutation of the list [\"volume_count\", \"size\", \u0027"},{"line_number":71,"context_line":"                     \u0027\"latency\", “ops”]. Note that for volume_count and \u0027"},{"line_number":72,"context_line":"                     \u0027latency, the higher the values, the less optimal the \u0027"},{"line_number":73,"context_line":"                     \u0027resources. For capacity and ops, the higher the value \u0027"},{"line_number":74,"context_line":"                     \u0027the more desirable the resources. If metrics are to be \u0027"},{"line_number":75,"context_line":"                     \u0027considered with equal weights, concatenate the strings, \u0027"},{"line_number":76,"context_line":"                     \u0027separated by \":\".\u0027"},{"line_number":77,"context_line":"                     \u0027An example is [\"volume_count\", \"size\", “latency:ops”] \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"0878a803_6c064d1b","line":74,"range":{"start_line":71,"start_character":41,"end_line":74,"end_character":56},"in_reply_to":"9a3367cb_1a6c1056","updated":"2023-09-01 12:27:43.000000000","message":"Thanks guys, I totally understand the confusion. It comes from the fact that It is a interface for the software and it is tottaly an Active IQ configuration. We are just leaving here so users may change it. However, if he/she wants to change, he/she should read the documentation  and understand very how Active IQ balance and uses this kind of configurations. I don\u0027t expect that just with this \"help\" would explain the configuration, because I would have to explain the Active IQ behaviors (too much information).\n\nAs the name says, it is the list of priority. So, Active IQ has to come up with a number (weight) and it can weight equally each property or prioritize them according to this configuration. \n\nExample:\n\n[\"volume_count\", \"size\", \"latency:ops\"] --\u003e Means number of volumes in the host is taken as first priority (high weight), then \"size\" (capacity of the host) as second and the less important \"latency\" together with \"ops\", they are equally weight.\n\n\nI will document this kind of explanation and point to the Active IQ documentation in the NetApp Deployment Guide. So, the NetApp customers will understand better it.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":68,"context_line":"                    \u0027size\u0027"},{"line_number":69,"context_line":"                ],"},{"line_number":70,"context_line":"                help\u003d\u0027Permutation of the list [\"volume_count\", \"size\", \u0027"},{"line_number":71,"context_line":"                     \u0027\"latency\", “ops”]. Note that for volume_count and \u0027"},{"line_number":72,"context_line":"                     \u0027latency, the higher the values, the less optimal the \u0027"},{"line_number":73,"context_line":"                     \u0027resources. For capacity and ops, the higher the value \u0027"},{"line_number":74,"context_line":"                     \u0027the more desirable the resources. If metrics are to be \u0027"},{"line_number":75,"context_line":"                     \u0027considered with equal weights, concatenate the strings, \u0027"},{"line_number":76,"context_line":"                     \u0027separated by \":\".\u0027"},{"line_number":77,"context_line":"                     \u0027An example is [\"volume_count\", \"size\", “latency:ops”] \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"cd7e5dc4_0b1c601a","line":74,"range":{"start_line":71,"start_character":41,"end_line":74,"end_character":56},"in_reply_to":"9e8d659c_0ad56f6f","updated":"2023-08-28 11:51:42.000000000","message":"volume_count and latency higher values means worse, while \"size\" and \"ops\" is the opposite.  This is a active iq concepts, users should read active iq documentation in order to configure these guys. We don\u0027t expect that this simple \"help\" solve all doubts. It is just a basic explanation.\n\nYou are right. \"Capacity\" means \"size\".","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"ee03cc0a063af5f5fa00db398ba5d31ba59b5d9a","unresolved":true,"context_lines":[{"line_number":68,"context_line":"                    \u0027size\u0027"},{"line_number":69,"context_line":"                ],"},{"line_number":70,"context_line":"                help\u003d\u0027Permutation of the list [\"volume_count\", \"size\", \u0027"},{"line_number":71,"context_line":"                     \u0027\"latency\", “ops”]. Note that for volume_count and \u0027"},{"line_number":72,"context_line":"                     \u0027latency, the higher the values, the less optimal the \u0027"},{"line_number":73,"context_line":"                     \u0027resources. For capacity and ops, the higher the value \u0027"},{"line_number":74,"context_line":"                     \u0027the more desirable the resources. If metrics are to be \u0027"},{"line_number":75,"context_line":"                     \u0027considered with equal weights, concatenate the strings, \u0027"},{"line_number":76,"context_line":"                     \u0027separated by \":\".\u0027"},{"line_number":77,"context_line":"                     \u0027An example is [\"volume_count\", \"size\", “latency:ops”] \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a3367cb_1a6c1056","line":74,"range":{"start_line":71,"start_character":41,"end_line":74,"end_character":56},"in_reply_to":"cd7e5dc4_0b1c601a","updated":"2023-08-31 22:09:59.000000000","message":"I think I\u0027ve got the idea, but still confusing.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":82,"context_line":"                     \u0027[\"volume_count\", \"size\", \"latency\", “ops”].\u0027),"},{"line_number":83,"context_line":"    cfg.BoolOpt(\u0027aiq_separate_flag\u0027,"},{"line_number":84,"context_line":"                default\u003dFalse,"},{"line_number":85,"context_line":"                help\u003d(\u0027Boolean indicator of whether the evaluations for the \u0027"},{"line_number":86,"context_line":"                      \u0027metrics should be separated or not. By default it is \u0027"},{"line_number":87,"context_line":"                      \u0027false. The separate flag returns a map of each \u0027"},{"line_number":88,"context_line":"                      \u0027resource_key to its list of raw statistics. \u0027"},{"line_number":89,"context_line":"                      \u0027Thus, separate_flag \u003d true if and eval_method \u003d 1 \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"0bd9a1fb_beb57a25","line":86,"range":{"start_line":85,"start_character":23,"end_line":86,"end_character":58},"updated":"2023-08-15 20:26:46.000000000","message":"Can you explain what the consequence of this is?\n\nIf you set this to true, what is the weigher\u0027s behavior?","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":82,"context_line":"                     \u0027[\"volume_count\", \"size\", \"latency\", “ops”].\u0027),"},{"line_number":83,"context_line":"    cfg.BoolOpt(\u0027aiq_separate_flag\u0027,"},{"line_number":84,"context_line":"                default\u003dFalse,"},{"line_number":85,"context_line":"                help\u003d(\u0027Boolean indicator of whether the evaluations for the \u0027"},{"line_number":86,"context_line":"                      \u0027metrics should be separated or not. By default it is \u0027"},{"line_number":87,"context_line":"                      \u0027false. The separate flag returns a map of each \u0027"},{"line_number":88,"context_line":"                      \u0027resource_key to its list of raw statistics. \u0027"},{"line_number":89,"context_line":"                      \u0027Thus, separate_flag \u003d true if and eval_method \u003d 1 \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"a251efcb_0051b80a","line":86,"range":{"start_line":85,"start_character":23,"end_line":86,"end_character":58},"in_reply_to":"0bd9a1fb_beb57a25","updated":"2023-08-28 11:51:42.000000000","message":"With this option as True, Active IQ returns the value of each property that matters for weighing a host, instead of returning the actual \"score\" value. Actually, we should always set this guy as \"False\", since we want the \"weight\" value, not the each part of the evaluation.\n\nRemoved this option in the next patch.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                     \u0027[\"volume_count\", \"size\", \"latency\", “ops”].\u0027),"},{"line_number":83,"context_line":"    cfg.BoolOpt(\u0027aiq_separate_flag\u0027,"},{"line_number":84,"context_line":"                default\u003dFalse,"},{"line_number":85,"context_line":"                help\u003d(\u0027Boolean indicator of whether the evaluations for the \u0027"},{"line_number":86,"context_line":"                      \u0027metrics should be separated or not. By default it is \u0027"},{"line_number":87,"context_line":"                      \u0027false. The separate flag returns a map of each \u0027"},{"line_number":88,"context_line":"                      \u0027resource_key to its list of raw statistics. \u0027"},{"line_number":89,"context_line":"                      \u0027Thus, separate_flag \u003d true if and eval_method \u003d 1 \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"987d9d7e_d15cf924","line":86,"range":{"start_line":85,"start_character":23,"end_line":86,"end_character":58},"in_reply_to":"a251efcb_0051b80a","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":90,"context_line":"                      \u0027must be together, otherwise an error is thrown\u0027)),"},{"line_number":91,"context_line":"]"},{"line_number":92,"context_line":"CONF \u003d cfg.CONF"},{"line_number":93,"context_line":"CONF.register_opts(active_iq_weight_opts)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"f2c25e61_649334bc","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":41},"updated":"2023-08-15 20:26:46.000000000","message":"could you please define a group for this rather than relying on the [DEFAULT] - it\u0027ll be cleaner","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                      \u0027must be together, otherwise an error is thrown\u0027)),"},{"line_number":91,"context_line":"]"},{"line_number":92,"context_line":"CONF \u003d cfg.CONF"},{"line_number":93,"context_line":"CONF.register_opts(active_iq_weight_opts)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"6f23c51a_fc5617c7","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":41},"in_reply_to":"c6f0c0b5_8f2fff54","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":90,"context_line":"                      \u0027must be together, otherwise an error is thrown\u0027)),"},{"line_number":91,"context_line":"]"},{"line_number":92,"context_line":"CONF \u003d cfg.CONF"},{"line_number":93,"context_line":"CONF.register_opts(active_iq_weight_opts)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"c6f0c0b5_8f2fff54","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":41},"in_reply_to":"f2c25e61_649334bc","updated":"2023-08-28 11:51:42.000000000","message":"done, see next patch.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"2ce112ac474aa148227de56efa8d997e57a171bb","unresolved":true,"context_lines":[{"line_number":104,"context_line":"        self.host \u003d CONF.aiq_hostname"},{"line_number":105,"context_line":"        self.protocol \u003d CONF.aiq_transport_type"},{"line_number":106,"context_line":"        self.port \u003d CONF.aiq_port"},{"line_number":107,"context_line":"        if not self.port:"},{"line_number":108,"context_line":"            self.port \u003d \"80\" if self.protocol \u003d\u003d \"http\" else \"443\""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        self.ssl_verify \u003d CONF.aiq_ssl_verify"}],"source_content_type":"text/x-python","patch_set":2,"id":"e71d018b_e2ddc354","line":107,"updated":"2023-08-14 18:02:05.000000000","message":"when we have \n\nif user is not setting \"aiq_transport_type\" value or not providing this field in manila.conf file and setting only value for aiq_port as 80.\nin this case, protocol is \"https\" and port is \"80\", which is contradictory and failed to create the active-iq session\n\nSo, in this case, is it expected from customer to provide only aiq https port, I think we have to document this.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"943ded9ba5d37dc0bed62ba5bd78faf1d228c3d3","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        self.host \u003d CONF.aiq_hostname"},{"line_number":105,"context_line":"        self.protocol \u003d CONF.aiq_transport_type"},{"line_number":106,"context_line":"        self.port \u003d CONF.aiq_port"},{"line_number":107,"context_line":"        if not self.port:"},{"line_number":108,"context_line":"            self.port \u003d \"80\" if self.protocol \u003d\u003d \"http\" else \"443\""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        self.ssl_verify \u003d CONF.aiq_ssl_verify"}],"source_content_type":"text/x-python","patch_set":2,"id":"277400b9_bbe59135","line":107,"in_reply_to":"ddfd51cd_8ecf8269","updated":"2023-09-01 12:32:13.000000000","message":"done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":104,"context_line":"        self.host \u003d CONF.aiq_hostname"},{"line_number":105,"context_line":"        self.protocol \u003d CONF.aiq_transport_type"},{"line_number":106,"context_line":"        self.port \u003d CONF.aiq_port"},{"line_number":107,"context_line":"        if not self.port:"},{"line_number":108,"context_line":"            self.port \u003d \"80\" if self.protocol \u003d\u003d \"http\" else \"443\""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        self.ssl_verify \u003d CONF.aiq_ssl_verify"}],"source_content_type":"text/x-python","patch_set":2,"id":"ddfd51cd_8ecf8269","line":107,"in_reply_to":"e71d018b_e2ddc354","updated":"2023-08-28 11:51:42.000000000","message":"For the great majority of AIQ configurations, the users want to decide if they will use secure connection or not (http or https), they don\u0027t need to worry about the port. Port is a low level configuration, users may not touch on it. I mean, for a better usability, we keep port as optional. \n\nWe will definitely document it later..","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"84b065d34ea3555f0c886de92e1b4790b209b1bc","unresolved":true,"context_lines":[{"line_number":110,"context_line":"        self.ssl_verify \u003d CONF.aiq_ssl_verify"},{"line_number":111,"context_line":"        if self.ssl_verify and CONF.aiq_ssl_cert_path:"},{"line_number":112,"context_line":"            self.ssl_verify \u003d CONF.aiq_ssl_cert_path"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        self.username \u003d CONF.aiq_username"},{"line_number":115,"context_line":"        self.password \u003d CONF.aiq_password"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"0bbad3dc_7966e415","line":113,"updated":"2023-08-16 08:29:51.000000000","message":"If user provides aiq_ssl_verify\u003dfalse and aiq_ssl_cert_path\u003d\u0027some path\u0027. Final result will be aiq_ssl_verify\u003dtrue and aiq_ssl_cert_path\u003d\u0027some path\u0027. User intent may be to aiq_ssl_verify\u003d false which will be overwritten with true.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"a73bd860aa358e83822d391070e2ed2880ea642d","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        self.ssl_verify \u003d CONF.aiq_ssl_verify"},{"line_number":111,"context_line":"        if self.ssl_verify and CONF.aiq_ssl_cert_path:"},{"line_number":112,"context_line":"            self.ssl_verify \u003d CONF.aiq_ssl_cert_path"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        self.username \u003d CONF.aiq_username"},{"line_number":115,"context_line":"        self.password \u003d CONF.aiq_password"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"44c8620a_be64acf7","line":113,"in_reply_to":"0bbad3dc_7966e415","updated":"2023-08-16 13:20:57.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":111,"context_line":"        if self.ssl_verify and CONF.aiq_ssl_cert_path:"},{"line_number":112,"context_line":"            self.ssl_verify \u003d CONF.aiq_ssl_cert_path"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        self.username \u003d CONF.aiq_username"},{"line_number":115,"context_line":"        self.password \u003d CONF.aiq_password"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        self.eval_method \u003d CONF.aiq_eval_method"},{"line_number":118,"context_line":"        self.priority_order \u003d CONF.aiq_priority_order"},{"line_number":119,"context_line":"        self.separate_flag \u003d CONF.aiq_separate_flag"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":122,"context_line":"        \"\"\"Weight for a specific object from parent abstract class\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"cef8835b_764716b1","line":119,"range":{"start_line":114,"start_character":8,"end_line":119,"end_character":51},"updated":"2023-08-15 20:26:46.000000000","message":"if these options are \"required\"; please tag them so in the option, or add some error handling here.\n\nthe caveat is that failing to load the weigher because the required opts aren\u0027t present will cause the scheduler service to fail...\n\nSince you\u0027re not enabling this weigher by modifying the default value of ``scheduler_default_weighers``, required opts should be okay..i.e., this failure will occur when the admin enables the weigher, but forgets to configure it","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        if self.ssl_verify and CONF.aiq_ssl_cert_path:"},{"line_number":112,"context_line":"            self.ssl_verify \u003d CONF.aiq_ssl_cert_path"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        self.username \u003d CONF.aiq_username"},{"line_number":115,"context_line":"        self.password \u003d CONF.aiq_password"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        self.eval_method \u003d CONF.aiq_eval_method"},{"line_number":118,"context_line":"        self.priority_order \u003d CONF.aiq_priority_order"},{"line_number":119,"context_line":"        self.separate_flag \u003d CONF.aiq_separate_flag"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":122,"context_line":"        \"\"\"Weight for a specific object from parent abstract class\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"9ec1bfc2_989872ef","line":119,"range":{"start_line":114,"start_character":8,"end_line":119,"end_character":51},"in_reply_to":"220e1ed9_a8646ed6","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":111,"context_line":"        if self.ssl_verify and CONF.aiq_ssl_cert_path:"},{"line_number":112,"context_line":"            self.ssl_verify \u003d CONF.aiq_ssl_cert_path"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        self.username \u003d CONF.aiq_username"},{"line_number":115,"context_line":"        self.password \u003d CONF.aiq_password"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        self.eval_method \u003d CONF.aiq_eval_method"},{"line_number":118,"context_line":"        self.priority_order \u003d CONF.aiq_priority_order"},{"line_number":119,"context_line":"        self.separate_flag \u003d CONF.aiq_separate_flag"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":122,"context_line":"        \"\"\"Weight for a specific object from parent abstract class\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"220e1ed9_a8646ed6","line":119,"range":{"start_line":114,"start_character":8,"end_line":119,"end_character":51},"in_reply_to":"cef8835b_764716b1","updated":"2023-08-28 11:51:42.000000000","message":"agree, added as required option. thanks.\n\nthe eval_method, priority_order and separate_flag they are totally optional, so I haven\u0027t added as required. The required fields are: username, password and host.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"2ce112ac474aa148227de56efa8d997e57a171bb","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        \"\"\"Determine host\u0027s rating based on a Active IQ.\"\"\""},{"line_number":129,"context_line":"        size \u003d weight_properties.get(\u0027size\u0027)"},{"line_number":130,"context_line":"        share_type \u003d weight_properties.get(\u0027share_type\u0027, {})"},{"line_number":131,"context_line":"        performance_level_id \u003d share_type.get(\u0027extra_specs\u0027, {}).get("},{"line_number":132,"context_line":"            \u0027netapp:performance_level_id\u0027)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        # retrieves the equivalent active IQ keys of the pools."}],"source_content_type":"text/x-python","patch_set":2,"id":"88c858f0_3b0ab714","line":131,"updated":"2023-08-14 18:02:05.000000000","message":"I think this is ssl-key for performance-service-levels (PSL). We can expect from customer to get the ssl-key for PSL as he has to execute one more rest call to get this value. it better to take PSL name and use \"/storage-provider/performance-service-levels\" rest call to get the ssl-key. I think we have to implement this.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        \"\"\"Determine host\u0027s rating based on a Active IQ.\"\"\""},{"line_number":129,"context_line":"        size \u003d weight_properties.get(\u0027size\u0027)"},{"line_number":130,"context_line":"        share_type \u003d weight_properties.get(\u0027share_type\u0027, {})"},{"line_number":131,"context_line":"        performance_level_id \u003d share_type.get(\u0027extra_specs\u0027, {}).get("},{"line_number":132,"context_line":"            \u0027netapp:performance_level_id\u0027)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        # retrieves the equivalent active IQ keys of the pools."}],"source_content_type":"text/x-python","patch_set":2,"id":"f33f6974_43ae9170","line":131,"in_reply_to":"88c858f0_3b0ab714","updated":"2023-08-28 11:51:42.000000000","message":"Good point Gireesh. Implemented on the next patch.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"b921490eedfa09ebbb55b631a87b020358966776","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        \"\"\"Determine host\u0027s rating based on a Active IQ.\"\"\""},{"line_number":129,"context_line":"        size \u003d weight_properties.get(\u0027size\u0027)"},{"line_number":130,"context_line":"        share_type \u003d weight_properties.get(\u0027share_type\u0027, {})"},{"line_number":131,"context_line":"        performance_level_id \u003d share_type.get(\u0027extra_specs\u0027, {}).get("},{"line_number":132,"context_line":"            \u0027netapp:performance_level_id\u0027)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        # retrieves the equivalent active IQ keys of the pools."}],"source_content_type":"text/x-python","patch_set":2,"id":"8f8b8f2a_72e7b8f3","line":131,"in_reply_to":"f33f6974_43ae9170","updated":"2023-09-01 12:32:26.000000000","message":"done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"29c780ba67b6d71ce391a64fe40a237cd081dc06","unresolved":true,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        # retrieves the equivalent active IQ keys of the pools."},{"line_number":135,"context_line":"        resource_keys \u003d self._get_resource_keys(netapp_aggregates_location)"},{"line_number":136,"context_line":"        if len(resource_keys) \u003d\u003d 0:"},{"line_number":137,"context_line":"            return []"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        result \u003d self._balance_aggregates(resource_keys, size,"}],"source_content_type":"text/x-python","patch_set":2,"id":"2b032438_c6273508","line":136,"updated":"2023-08-21 10:59:43.000000000","message":"This condition will never met, if you see the below code which we have written to get the aggregate resource key. \"resource_keys.append(aggr_map.get(identifier, 0))\" code is append \"0\" to resource_keys list when there is no identifier. So, if ONTAP is not added to active IQ in this case length of resource_keys should be zero and we should return from here and should not call _balance_aggregates method but due to below code if condition never met and we are not returning empty list from here. \n\n resource_keys.append(aggr_map.get(identifier, 0))\n\n        LOG.debug(\"The following pools will be evaluated by Active IQ: %s\",\n                  found_pool_keys)\n\n        return resource_keys","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        # retrieves the equivalent active IQ keys of the pools."},{"line_number":135,"context_line":"        resource_keys \u003d self._get_resource_keys(netapp_aggregates_location)"},{"line_number":136,"context_line":"        if len(resource_keys) \u003d\u003d 0:"},{"line_number":137,"context_line":"            return []"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        result \u003d self._balance_aggregates(resource_keys, size,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a37a775_a869519f","line":136,"in_reply_to":"2b032438_c6273508","updated":"2023-08-28 11:51:42.000000000","message":"Not actually. The \"_get_resource_keys\" may fail during the API call (Active IQ is down). In this scenarion, the method returns an empty list. It only returns the list with 0 or the IDs when the API call succeed.  See:\n\n```\n        try:\n            code, res \u003d self._call_active_iq(aggregate_endpoint, \"get\")\n        except Exception as e:\n            LOG.error(\"Could not retrieve the aggregates resource keys. \"\n                      \"Skipping the weigher. Error: %s\", e)\n            return []\n\n        if code !\u003d 200:\n            LOG.error(\"Could not retrieve the aggregates resource keys. \"\n                      \"Skipping the weigher.\")\n            return []\n```","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"943ded9ba5d37dc0bed62ba5bd78faf1d228c3d3","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        # retrieves the equivalent active IQ keys of the pools."},{"line_number":135,"context_line":"        resource_keys \u003d self._get_resource_keys(netapp_aggregates_location)"},{"line_number":136,"context_line":"        if len(resource_keys) \u003d\u003d 0:"},{"line_number":137,"context_line":"            return []"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        result \u003d self._balance_aggregates(resource_keys, size,"}],"source_content_type":"text/x-python","patch_set":2,"id":"035c1c9d_2eb3a6b0","line":136,"in_reply_to":"3a37a775_a869519f","updated":"2023-09-01 12:32:13.000000000","message":"done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"29c780ba67b6d71ce391a64fe40a237cd081dc06","unresolved":true,"context_lines":[{"line_number":160,"context_line":"        }"},{"line_number":161,"context_line":"        return request_methods[method]"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def _get_session_method(self, method):"},{"line_number":164,"context_line":"        \"\"\"Get the REST method from the session.\"\"\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        # NOTE(felipe_rodrigues): request resilient of temporary network"}],"source_content_type":"text/x-python","patch_set":2,"id":"08fcfaff_2bd4c2bc","line":163,"updated":"2023-08-21 10:59:43.000000000","message":"Is there a way to validate the session or validate the UM parameters which we are using for session creation. I have notice the if user is providing invalid configuration in manila.conf exp: user provided wrong port for UM, in this case we are trying 5 time to connect with UM due to that share creation is taking more time. I have notice that it is taking 8-10 minutes for share creation.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":160,"context_line":"        }"},{"line_number":161,"context_line":"        return request_methods[method]"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def _get_session_method(self, method):"},{"line_number":164,"context_line":"        \"\"\"Get the REST method from the session.\"\"\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        # NOTE(felipe_rodrigues): request resilient of temporary network"}],"source_content_type":"text/x-python","patch_set":2,"id":"a97bdf8d_2f520a4f","line":163,"in_reply_to":"08fcfaff_2bd4c2bc","updated":"2023-08-28 11:51:42.000000000","message":"To be honest, if the UM parameters are wrong, the ADM should test it before releasing to production env. I don\u0027t think it is a big issue. We have the same problem with the driver. We don\u0027t test the driver parameters before starting using it. I mean, this workflow of testing the connection parameters is part of NetApp driver configuration, so we can use the same approach with the weigher.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"b921490eedfa09ebbb55b631a87b020358966776","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        }"},{"line_number":161,"context_line":"        return request_methods[method]"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def _get_session_method(self, method):"},{"line_number":164,"context_line":"        \"\"\"Get the REST method from the session.\"\"\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        # NOTE(felipe_rodrigues): request resilient of temporary network"}],"source_content_type":"text/x-python","patch_set":2,"id":"1d6a4559_dcb1acc4","line":163,"in_reply_to":"a97bdf8d_2f520a4f","updated":"2023-09-01 12:32:26.000000000","message":"done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"        return code, response_body"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def _get_resource_keys(self, netapp_aggregates_location):"},{"line_number":204,"context_line":"        \"\"\"Map the aggregates names to the AIQ resource keys.\"\"\""},{"line_number":205,"context_line":"        aggregate_endpoint \u003d \u0027datacenter/storage/aggregates\u0027"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"085e8690_3db95427","line":203,"range":{"start_line":203,"start_character":8,"end_line":203,"end_character":26},"updated":"2023-08-15 20:26:46.000000000","message":"is this information that changes often? If not, maybe cache it and invalidate it once in a while rather than making this call on _each_ provisioning request","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"        return code, response_body"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def _get_resource_keys(self, netapp_aggregates_location):"},{"line_number":204,"context_line":"        \"\"\"Map the aggregates names to the AIQ resource keys.\"\"\""},{"line_number":205,"context_line":"        aggregate_endpoint \u003d \u0027datacenter/storage/aggregates\u0027"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"579406ad_ce04f601","line":203,"range":{"start_line":203,"start_character":8,"end_line":203,"end_character":26},"in_reply_to":"085e8690_3db95427","updated":"2023-08-28 11:51:42.000000000","message":"That\u0027s a good point Goutham. It shouldn\u0027t changed much. You are right, a cache may save some API calls. However, the weigher class is instantiated every execution. I mean, scheduler doesn\u0027t keep the same weigher object during its life cycle. The alternative would be using the DB. We don\u0027t have any Weigher saving states on DB, it doesn\u0027t communicate with DB. It makes the solution much harder. If you have an alternative, I would like to hear. Otherwise, I think we can keep as it is and we leave as an improvement for the future (after collecting some customers feedback).","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"        return code, response_body"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def _get_resource_keys(self, netapp_aggregates_location):"},{"line_number":204,"context_line":"        \"\"\"Map the aggregates names to the AIQ resource keys.\"\"\""},{"line_number":205,"context_line":"        aggregate_endpoint \u003d \u0027datacenter/storage/aggregates\u0027"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"4f74b84a_800aabe8","line":203,"range":{"start_line":203,"start_character":8,"end_line":203,"end_character":26},"in_reply_to":"579406ad_ce04f601","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"2ce112ac474aa148227de56efa8d997e57a171bb","unresolved":true,"context_lines":[{"line_number":252,"context_line":"            # are not found the pool keys."},{"line_number":253,"context_line":"            \"resource_keys\": [key for key in resource_keys if key !\u003d 0],"},{"line_number":254,"context_line":"        }"},{"line_number":255,"context_line":"        if performance_level_uuid:"},{"line_number":256,"context_line":"            body[\"ssl_key\"] \u003d performance_level_uuid"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3c205c27_997b7000","line":255,"updated":"2023-08-14 18:02:05.000000000","message":"If customer is no providing \"netapp:performance_level_id\" value in extra_specs we should use default value. below what aiq api doc say \nssl_key - PSL UUID (performance service level UUID for latency). If not provided, default to a PSL key with median latency.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"943ded9ba5d37dc0bed62ba5bd78faf1d228c3d3","unresolved":false,"context_lines":[{"line_number":252,"context_line":"            # are not found the pool keys."},{"line_number":253,"context_line":"            \"resource_keys\": [key for key in resource_keys if key !\u003d 0],"},{"line_number":254,"context_line":"        }"},{"line_number":255,"context_line":"        if performance_level_uuid:"},{"line_number":256,"context_line":"            body[\"ssl_key\"] \u003d performance_level_uuid"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9bde54ae_13335e3d","line":255,"in_reply_to":"22d8bfc6_1ff94a43","updated":"2023-09-01 12:32:13.000000000","message":"done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":252,"context_line":"            # are not found the pool keys."},{"line_number":253,"context_line":"            \"resource_keys\": [key for key in resource_keys if key !\u003d 0],"},{"line_number":254,"context_line":"        }"},{"line_number":255,"context_line":"        if performance_level_uuid:"},{"line_number":256,"context_line":"            body[\"ssl_key\"] \u003d performance_level_uuid"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"22d8bfc6_1ff94a43","line":255,"in_reply_to":"3c205c27_997b7000","updated":"2023-08-28 11:51:42.000000000","message":"If I understood correctly, we don\u0027t need to use the default one in the API call. If not set, the default one is used automaticly by the server. That\u0027s the reason of a \"default\" value for an API call. Am I missing something ?","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a4fc8871e5e41a5d1eff5bfcb6ba5f02e3bf8a75","unresolved":true,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        self.configuration \u003d CONF[ACTIVE_IQ_WEIGHER_GROUP]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        self.host \u003d self.configuration.aiq_hostname"},{"line_number":102,"context_line":"        if not self.host:"},{"line_number":103,"context_line":"            raise exception.NetappActiveIQWeigherRequiredParameter("},{"line_number":104,"context_line":"                config\u003d\"aiq_hostname\")"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        self.username \u003d self.configuration.aiq_username"},{"line_number":107,"context_line":"        if not self.username:"},{"line_number":108,"context_line":"            raise exception.NetappActiveIQWeigherRequiredParameter("},{"line_number":109,"context_line":"                config\u003d\"aiq_username\")"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        self.password \u003d self.configuration.aiq_password"},{"line_number":112,"context_line":"        if not self.password:"},{"line_number":113,"context_line":"            raise exception.NetappActiveIQWeigherRequiredParameter("},{"line_number":114,"context_line":"                config\u003d\"aiq_password\")"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        self.protocol \u003d self.configuration.aiq_transport_type"},{"line_number":117,"context_line":"        self.port \u003d self.configuration.aiq_port"}],"source_content_type":"text/x-python","patch_set":5,"id":"89d0c13a_6e9eeb86","line":114,"range":{"start_line":101,"start_character":0,"end_line":114,"end_character":38},"updated":"2023-09-07 01:33:07.000000000","message":"why not set \n```\nrequired\u003dTrue\n```\n\nin the opt definition, rather than doing this error checking..","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"426eba9fce2bc7ccf9c89f9f2e6e2b089485eca9","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            self.port \u003d \"80\" if self.protocol \u003d\u003d \"http\" else \"443\""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        self.ssl_verify \u003d self.configuration.aiq_ssl_verify"},{"line_number":122,"context_line":"        if self.ssl_verify and self.configuration.aiq_ssl_cert_path:"},{"line_number":123,"context_line":"            self.ssl_verify \u003d self.configuration.aiq_ssl_cert_path"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        self.eval_method \u003d self.configuration.aiq_eval_method"}],"source_content_type":"text/x-python","patch_set":5,"id":"cd90b170_7f2cfb33","line":122,"range":{"start_line":122,"start_character":31,"end_line":122,"end_character":67},"updated":"2023-08-30 17:08:05.000000000","message":"There is a chance this will fail, as aiq_ssl_verify has no default. Instead, I\u0027d recommend you to use self.configuration.safe_get(\u0027aiq_ssl_cert_path\u0027), which will ensure that in case this configuration isn\u0027t set, you will get None","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"9d808e203fa8b4bb58c39a93623fd55768a32e38","unresolved":false,"context_lines":[{"line_number":119,"context_line":"            self.port \u003d \"80\" if self.protocol \u003d\u003d \"http\" else \"443\""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        self.ssl_verify \u003d self.configuration.aiq_ssl_verify"},{"line_number":122,"context_line":"        if self.ssl_verify and self.configuration.aiq_ssl_cert_path:"},{"line_number":123,"context_line":"            self.ssl_verify \u003d self.configuration.aiq_ssl_cert_path"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        self.eval_method \u003d self.configuration.aiq_eval_method"}],"source_content_type":"text/x-python","patch_set":5,"id":"921fab4d_701c634f","line":122,"range":{"start_line":122,"start_character":31,"end_line":122,"end_character":67},"in_reply_to":"cd90b170_7f2cfb33","updated":"2023-09-01 12:31:12.000000000","message":"fixing in the follow-up patch, since we already got 2 +2. Thanks.","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a4fc8871e5e41a5d1eff5bfcb6ba5f02e3bf8a75","unresolved":true,"context_lines":[{"line_number":257,"context_line":"        except Exception as e:"},{"line_number":258,"context_line":"            LOG.error(\"Could not retrieve the aggregates resource keys. \""},{"line_number":259,"context_line":"                      \"Skipping the weigher. Error: %s\", e)"},{"line_number":260,"context_line":"            LOG.error(e)"},{"line_number":261,"context_line":"            return []"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        if code !\u003d 200:"}],"source_content_type":"text/x-python","patch_set":5,"id":"50fd9833_f1d0e198","line":260,"range":{"start_line":260,"start_character":12,"end_line":260,"end_character":24},"updated":"2023-09-07 01:33:07.000000000","message":"this is a duplicate; the exception message is being logged above..","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a4fc8871e5e41a5d1eff5bfcb6ba5f02e3bf8a75","unresolved":true,"context_lines":[{"line_number":310,"context_line":"        except Exception as e:"},{"line_number":311,"context_line":"            LOG.error(\"Could not balance the aggregates. Skipping the \""},{"line_number":312,"context_line":"                      \"weigher. Error: %s\", e)"},{"line_number":313,"context_line":"            LOG.error(e)"},{"line_number":314,"context_line":"            return []"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        if code !\u003d 200:"}],"source_content_type":"text/x-python","patch_set":5,"id":"11b3a09e_ec06efd6","line":313,"range":{"start_line":313,"start_character":12,"end_line":313,"end_character":24},"updated":"2023-09-07 01:33:07.000000000","message":"the exception text is being logged above.. so this is redundant","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":35677,"name":"Thiago José de Andrade Alvoravel","display_name":"Thiago Alvoravel","email":"thiago.andrade@fit-tecnologia.org.br","username":"thiagoalvoravel"},"change_message_id":"cfab945e16a30193b052d59876ef407bcd542ef7","unresolved":true,"context_lines":[{"line_number":425,"context_line":"        flexgroup_aggr \u003d self._get_flexgroup_aggr_set()"},{"line_number":426,"context_line":"        aggr_space \u003d self._get_aggregate_space(aggr_pool.union(flexgroup_aggr))"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"        cluster_name \u003d \u0027unknown\u0027"},{"line_number":429,"context_line":"        if self._have_cluster_creds:"},{"line_number":430,"context_line":"            # Get up-to-date node utilization metrics just once."},{"line_number":431,"context_line":"            self._perf_library.update_performance_cache({}, self._ssc_stats)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab0a0ea_cb1d576d","line":428,"range":{"start_line":428,"start_character":8,"end_line":428,"end_character":32},"updated":"2023-08-07 21:05:55.000000000","message":"Is it necessary to define this value here, since it is already assigned in the get_pool method call (L441 and L458)?","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":35677,"name":"Thiago José de Andrade Alvoravel","display_name":"Thiago Alvoravel","email":"thiago.andrade@fit-tecnologia.org.br","username":"thiagoalvoravel"},"change_message_id":"5f959b61237528a59ccfa49cb88576106cc317f7","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        flexgroup_aggr \u003d self._get_flexgroup_aggr_set()"},{"line_number":426,"context_line":"        aggr_space \u003d self._get_aggregate_space(aggr_pool.union(flexgroup_aggr))"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"        cluster_name \u003d \u0027unknown\u0027"},{"line_number":429,"context_line":"        if self._have_cluster_creds:"},{"line_number":430,"context_line":"            # Get up-to-date node utilization metrics just once."},{"line_number":431,"context_line":"            self._perf_library.update_performance_cache({}, self._ssc_stats)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ce07b5b2_d0b6f083","line":428,"range":{"start_line":428,"start_character":8,"end_line":428,"end_character":32},"in_reply_to":"c7bb5653_507482f7","updated":"2023-08-10 13:33:52.000000000","message":"Done","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"f723064ccf42695f3ea69b9d3885eced638d3d10","unresolved":true,"context_lines":[{"line_number":425,"context_line":"        flexgroup_aggr \u003d self._get_flexgroup_aggr_set()"},{"line_number":426,"context_line":"        aggr_space \u003d self._get_aggregate_space(aggr_pool.union(flexgroup_aggr))"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"        cluster_name \u003d \u0027unknown\u0027"},{"line_number":429,"context_line":"        if self._have_cluster_creds:"},{"line_number":430,"context_line":"            # Get up-to-date node utilization metrics just once."},{"line_number":431,"context_line":"            self._perf_library.update_performance_cache({}, self._ssc_stats)"}],"source_content_type":"text/x-python","patch_set":1,"id":"c7bb5653_507482f7","line":428,"range":{"start_line":428,"start_character":8,"end_line":428,"end_character":32},"in_reply_to":"dab0a0ea_cb1d576d","updated":"2023-08-09 14:44:27.000000000","message":"just following the code pattern.. which makes the unit tests easier.. see the other capabilities in the same layer.","commit_id":"289a05db0fa27f4bbd8a849a02f661315e1d61e9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":425,"context_line":"        flexgroup_aggr \u003d self._get_flexgroup_aggr_set()"},{"line_number":426,"context_line":"        aggr_space \u003d self._get_aggregate_space(aggr_pool.union(flexgroup_aggr))"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"        cluster_name \u003d \u0027unknown\u0027"},{"line_number":429,"context_line":"        if self._have_cluster_creds:"},{"line_number":430,"context_line":"            # Get up-to-date node utilization metrics just once."},{"line_number":431,"context_line":"            self._perf_library.update_performance_cache({}, self._ssc_stats)"}],"source_content_type":"text/x-python","patch_set":2,"id":"39d04563_cb6598d5","line":428,"range":{"start_line":428,"start_character":23,"end_line":428,"end_character":32},"updated":"2023-08-15 20:26:46.000000000","message":"maybe allow this to be configured?","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":425,"context_line":"        flexgroup_aggr \u003d self._get_flexgroup_aggr_set()"},{"line_number":426,"context_line":"        aggr_space \u003d self._get_aggregate_space(aggr_pool.union(flexgroup_aggr))"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"        cluster_name \u003d \u0027unknown\u0027"},{"line_number":429,"context_line":"        if self._have_cluster_creds:"},{"line_number":430,"context_line":"            # Get up-to-date node utilization metrics just once."},{"line_number":431,"context_line":"            self._perf_library.update_performance_cache({}, self._ssc_stats)"}],"source_content_type":"text/x-python","patch_set":2,"id":"8ae6854b_389e87f9","line":428,"range":{"start_line":428,"start_character":23,"end_line":428,"end_character":32},"in_reply_to":"39d04563_cb6598d5","updated":"2023-08-28 11:51:42.000000000","message":"You are right. see next patch.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        flexgroup_aggr \u003d self._get_flexgroup_aggr_set()"},{"line_number":426,"context_line":"        aggr_space \u003d self._get_aggregate_space(aggr_pool.union(flexgroup_aggr))"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"        cluster_name \u003d \u0027unknown\u0027"},{"line_number":429,"context_line":"        if self._have_cluster_creds:"},{"line_number":430,"context_line":"            # Get up-to-date node utilization metrics just once."},{"line_number":431,"context_line":"            self._perf_library.update_performance_cache({}, self._ssc_stats)"}],"source_content_type":"text/x-python","patch_set":2,"id":"a06a9ffb_7b8daca4","line":428,"range":{"start_line":428,"start_character":23,"end_line":428,"end_character":32},"in_reply_to":"8ae6854b_389e87f9","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"}],"manila/tests/scheduler/fakes.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":297,"context_line":"        super(FakeHostManagerNetAppOnly, self).__init__()"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        self.service_states \u003d {"},{"line_number":300,"context_line":"            \u0027host1\u0027: {\u0027total_capacity_gb\u0027: 1024,"},{"line_number":301,"context_line":"                      \u0027free_capacity_gb\u0027: 1024,"},{"line_number":302,"context_line":"                      \u0027allocated_capacity_gb\u0027: 0,"},{"line_number":303,"context_line":"                      \u0027thin_provisioning\u0027: False,"}],"source_content_type":"text/x-python","patch_set":2,"id":"987732e8_8b1c4de8","line":300,"range":{"start_line":300,"start_character":21,"end_line":300,"end_character":22},"updated":"2023-08-15 20:26:46.000000000","message":"please start dict body on the next line here and all instances below; it\u0027ll conform to our dict formatting convention: https://docs.openstack.org/hacking/latest/user/hacking.html#dictionaries-lists","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        super(FakeHostManagerNetAppOnly, self).__init__()"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        self.service_states \u003d {"},{"line_number":300,"context_line":"            \u0027host1\u0027: {\u0027total_capacity_gb\u0027: 1024,"},{"line_number":301,"context_line":"                      \u0027free_capacity_gb\u0027: 1024,"},{"line_number":302,"context_line":"                      \u0027allocated_capacity_gb\u0027: 0,"},{"line_number":303,"context_line":"                      \u0027thin_provisioning\u0027: False,"}],"source_content_type":"text/x-python","patch_set":2,"id":"c57e5c5d_e73a34f2","line":300,"range":{"start_line":300,"start_character":21,"end_line":300,"end_character":22},"in_reply_to":"189776af_456e5ac3","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":297,"context_line":"        super(FakeHostManagerNetAppOnly, self).__init__()"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        self.service_states \u003d {"},{"line_number":300,"context_line":"            \u0027host1\u0027: {\u0027total_capacity_gb\u0027: 1024,"},{"line_number":301,"context_line":"                      \u0027free_capacity_gb\u0027: 1024,"},{"line_number":302,"context_line":"                      \u0027allocated_capacity_gb\u0027: 0,"},{"line_number":303,"context_line":"                      \u0027thin_provisioning\u0027: False,"}],"source_content_type":"text/x-python","patch_set":2,"id":"189776af_456e5ac3","line":300,"range":{"start_line":300,"start_character":21,"end_line":300,"end_character":22},"in_reply_to":"987732e8_8b1c4de8","updated":"2023-08-28 11:51:42.000000000","message":"I just reused the code style of [1]. Fixed, see next patch.\n\n[1] https://review.opendev.org/c/openstack/manila/+/890291/2/manila/tests/scheduler/fakes.py#413","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"}],"releasenotes/notes/bp-netapp-active-iq-scheduler-weigher-df0a6709a63a1f6f.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"350b27e7_edc360b1","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":7},"updated":"2023-08-15 20:26:46.000000000","message":"\"Added\"\n\nrelease notes are written in past tense; they\u0027re read after the release.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"dc7e3880_98c44820","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":7},"in_reply_to":"350b27e7_edc360b1","updated":"2023-08-28 11:51:42.000000000","message":"thks, done.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"0778dfe1_b534d6e0","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":7},"in_reply_to":"dc7e3880_98c44820","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"89f53787_5e81be03","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":13},"updated":"2023-08-15 20:26:46.000000000","message":"probably a link to what this means? https://mysupport.netapp.com/site/info/aboutAIQ","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"822b41fb_469020b0","line":5,"range":{"start_line":5,"start_character":46,"end_line":5,"end_character":57},"updated":"2023-08-15 20:26:46.000000000","message":"works with","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"eaec46fc_5bbefc55","line":5,"range":{"start_line":5,"start_character":46,"end_line":5,"end_character":57},"in_reply_to":"822b41fb_469020b0","updated":"2023-08-28 11:51:42.000000000","message":"done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"c3e85e6c_7e52dd7c","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":13},"in_reply_to":"89f53787_5e81be03","updated":"2023-08-28 11:51:42.000000000","message":"done. this link is broken, I use this: https://www.netapp.com/services/support/active-iq/","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"481d57af_178aca5a","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":13},"in_reply_to":"c3e85e6c_7e52dd7c","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"73c0b498_c1490f6e","line":5,"range":{"start_line":5,"start_character":46,"end_line":5,"end_character":57},"in_reply_to":"eaec46fc_5bbefc55","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"30e3e17d_781667ab","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":54},"updated":"2023-08-15 20:26:46.000000000","message":"separate into a different sentence:\n\n When other backends exist, the weigher is skipped.","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"87b7a33b_5ac4afee","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":54},"in_reply_to":"30e3e17d_781667ab","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f0368887fe566c5c3cc47aac67c759da1d179d7c","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"d00ba85e_4ec833ca","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":7},"updated":"2023-08-15 20:26:46.000000000","message":"\"Added\"","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"020e3551c12da4cc5c8e0730ac7d8f5ee05060d3","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ee08bb6a_c5728dc5","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":7},"in_reply_to":"d00ba85e_4ec833ca","updated":"2023-08-28 11:51:42.000000000","message":"done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6c20852fe38fd3651f4ca354363705351349b028","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Add the ``NetAppAIQWeigher`` scheduler weigher that relies on the NetApp"},{"line_number":5,"context_line":"    Active IQ to weigh the hosts. It has only effect with NetApp backends,"},{"line_number":6,"context_line":"    when having another backend the weigher is skipped."},{"line_number":7,"context_line":"    Add a new NetApp specific pool information called ``netapp_cluster_name``"},{"line_number":8,"context_line":"    that contains the name of the cluster where the pool is located."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ac2bcf3f_d52d84c8","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":7},"in_reply_to":"ee08bb6a_c5728dc5","updated":"2023-09-01 12:27:43.000000000","message":"Done","commit_id":"2d1dd997492a1fac4a24537a57728757854b682c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"426eba9fce2bc7ccf9c89f9f2e6e2b089485eca9","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Added the ``NetAppAIQWeigher`` scheduler weigher that relies on the"},{"line_number":5,"context_line":"    `NetApp Active IQ \u003chttps://www.netapp.com/services/support/active-iq/\u003e`_"},{"line_number":6,"context_line":"    to weigh the hosts. It only works with NetApp backends. When other"},{"line_number":7,"context_line":"    backends exist, the weigher is skipped. Added a new NetApp specific"},{"line_number":8,"context_line":"    pool information called ``netapp_cluster_name`` that contains the name"},{"line_number":9,"context_line":"    of the cluster where the pool is located, it can be set by a new"},{"line_number":10,"context_line":"    NetApp configuration option."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"2b76b81b_2dfb415d","line":7,"updated":"2023-08-30 17:08:05.000000000","message":"this could be a new bullet under features:\n`- |`","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"9d808e203fa8b4bb58c39a93623fd55768a32e38","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Added the ``NetAppAIQWeigher`` scheduler weigher that relies on the"},{"line_number":5,"context_line":"    `NetApp Active IQ \u003chttps://www.netapp.com/services/support/active-iq/\u003e`_"},{"line_number":6,"context_line":"    to weigh the hosts. It only works with NetApp backends. When other"},{"line_number":7,"context_line":"    backends exist, the weigher is skipped. Added a new NetApp specific"},{"line_number":8,"context_line":"    pool information called ``netapp_cluster_name`` that contains the name"},{"line_number":9,"context_line":"    of the cluster where the pool is located, it can be set by a new"},{"line_number":10,"context_line":"    NetApp configuration option."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"6e712412_dc668d61","line":7,"in_reply_to":"2b76b81b_2dfb415d","updated":"2023-09-01 12:31:12.000000000","message":"fixing in the follow-up patch, since we already got 2 +2. Thanks.","commit_id":"6c9d990a8f4cff1b198f282a94feb52261f346e2"}]}
