)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"e5507672b3664c56c69eec570e52b5ae07b6747e","unresolved":true,"context_lines":[{"line_number":14,"context_line":"overwritten by another greenthread\u0027s _build_session call before the"},{"line_number":15,"context_line":"HTTP request was actually sent."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This manifested in production as the get_operational_lif_addresses() REST"},{"line_number":18,"context_line":"call intermittently returning LIFs for the wrong vserver (or an empty"},{"line_number":19,"context_line":"set), because the tunneling header was lost due to the race. The driver"},{"line_number":20,"context_line":"then logged \u0027Address not found for NFS share\u0027 for all configured shares,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"0f13acb5_42a965f1","line":17,"updated":"2026-05-15 12:34:53.000000000","message":"since this issue manifested in production, this change requires a functional test to prevent regression.\n\nPlease add functional tests","commit_id":"83b4c4a801d75e566b5fc29a9372ec3d76abf4bd"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"360cda08a6b3977eb42d16a15a156ddc5540c793","unresolved":false,"context_lines":[{"line_number":14,"context_line":"overwritten by another greenthread\u0027s _build_session call before the"},{"line_number":15,"context_line":"HTTP request was actually sent."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This manifested in production as the get_operational_lif_addresses() REST"},{"line_number":18,"context_line":"call intermittently returning LIFs for the wrong vserver (or an empty"},{"line_number":19,"context_line":"set), because the tunneling header was lost due to the race. The driver"},{"line_number":20,"context_line":"then logged \u0027Address not found for NFS share\u0027 for all configured shares,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"e8188f18_5fa36f77","line":17,"in_reply_to":"0f13acb5_42a965f1","updated":"2026-06-08 12:43:29.000000000","message":"functional test has been added.","commit_id":"83b4c4a801d75e566b5fc29a9372ec3d76abf4bd"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"9809abdb04fd3f421829d0391b9ed65198732429","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6db0fdea_77460113","updated":"2026-05-08 12:08:37.000000000","message":"Has this patch been tested via REST APIs? Can you please add the testing done and what was tested?","commit_id":"4c1593899f4a890166126e93583a7cf4440149fd"},{"author":{"_account_id":38479,"name":"Medha Choudhary","display_name":"Medha Choudhary","email":"medhaj06@gmail.com","username":"medhac1403","status":"NetApp"},"change_message_id":"f8eb039a437dafb7bb68477e3c81f1f304bff689","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0b8dd72a_c788645c","updated":"2026-05-10 15:15:41.000000000","message":"Run-NetApp CI","commit_id":"4c1593899f4a890166126e93583a7cf4440149fd"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"302ce2ba8729d05a18a6e1417c3c0d43d2dfe802","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"dbfbd8f8_0b0983d0","updated":"2026-05-08 12:27:17.000000000","message":"Run-NetApp CI","commit_id":"4c1593899f4a890166126e93583a7cf4440149fd"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"7c6aa6f537914f4bc772f13f1cfa2cfbf48e2808","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"16af6285_f71888ca","updated":"2026-05-23 16:41:41.000000000","message":"Hi Walter, Thank you for highlighting issue in NetApp REST session sharing with VServer name. This is a serious issue... I have concerns with current implementation. Now with dedicated session creation for each request will introduce undue latency and did you evaluate impact of cert Auth path with this change? My suggestion is pass dedicated X-Dot-SVM-Name header from thread local variable instead of creating new session. Can you investigate approach in this direction \n\nThank you!\nJayaanand.","commit_id":"ce4efb41a76ed43f4b667b9eafd4108a88e944db"},{"author":{"_account_id":38864,"name":"Sridhar Kumar Ettkepalli","display_name":"Sridhar","email":"sridharkumar.ettkepalli@windriver.com","username":"settkepa"},"change_message_id":"feba520ca2d88f6c0682979e56050ee3390ba74d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"dc71fddb_bff3190f","updated":"2026-09-04 19:14:41.000000000","message":"Thanks for tackling the session race here -- the per-request session approach reads cleanly.\n\nWhile you\u0027re in send_http_request(), there\u0027s a related TLS trust issue on the same request call that this change doesn\u0027t yet address. The request is invoked as:\n\n      response \u003d request_method(url, data\u003ddata[, timeout\u003d...])\n\nwith no explicit verify\u003d, so requests applies its environment merging and\nlets REQUESTS_CA_BUNDLE (and CURL_CA_BUNDLE) override session.verify at\nrequest time. In deployments that export REQUESTS_CA_BUNDLE for an unrelated CA (e.g. an OpenStack-internal service CA), TLS verification is silently redirected away from netapp_ssl_cert_path to that bundle, and the REST call fails with CERTIFICATE_VERIFY_FAILED even though session.verify was set correctly from _ssl_verify.\n\nSince this change already reworks _build_session/send_http_request, would it make sense to also pass verify explicitly here, e.g.:\n\n      response \u003d request_method(url, data\u003ddata, verify\u003dsession.verify[, timeout\u003d...])\n\nso the operator-configured trust anchor can\u0027t be overridden by ambient environment variables? \n\nOne more note related to the tunneling header this change preserves: for SVM-scoped (Vserver) credentials, X-Dot-SVM-Name is actually rejected by ONTAP (\"Cannot set the svm context from HTTP header ... while in an existing svm context\"), so preserving it across the session is only correct for cluster-scoped accounts. That\u0027s a separate issue (see bug #2166532) -- flagging it only so the header-preservation logic here stays compatible with a future scope-detection fix.","commit_id":"ce4efb41a76ed43f4b667b9eafd4108a88e944db"}]}
