)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"b11fb5eb77d12b6660131a1a5583c736e67d82eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d0c01422_73245cd4","updated":"2026-08-21 17:03:00.000000000","message":"I think the code is okay.  Jay is right about the error log / exception but I\u0027m not sure it\u0027s worth holding up.  Will let the next reviewer make the call.","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"592f56ffeb8bb5b39d9b25ec6d28ccdea81208e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"501e359b_52368ac9","updated":"2026-07-31 04:02:01.000000000","message":"LGTM","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"fd7e8f783214b1e16023edbccf6a1c3b22096670","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2e39b94a_17a8eea1","updated":"2026-08-27 16:02:22.000000000","message":"Mostly looks good.  A few things noted inline that you can fix in a followup patch (Jayaanand\u0027s logging point, help text revision, release note nit), but I don\u0027t want to hold this up over those.","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"868864e5df1017d801e4b7accbda45e2115eea0d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8bc8ef8b_9b0774c6","updated":"2026-08-16 04:38:00.000000000","message":"check if you can resolve below comments","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"2a8d09220ac21d4b2b66511977c1179d5f2c9d5b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1910190c_d67936ce","updated":"2026-08-05 12:20:26.000000000","message":"recheck","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0c806cc4c2ff14174c497e105c2921da5b6c5f26","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"68ef37d4_47deb4f6","updated":"2026-07-28 11:29:24.000000000","message":"recheck","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"65e7705bdbe6768335f4b95d16eaeafc2febf8e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9170376e_17487c12","updated":"2026-07-30 16:22:19.000000000","message":"recheck","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"d76225816c0f2299e8670ed4e82c39442fb41b71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"edd85670_86873dd1","updated":"2026-07-27 16:35:20.000000000","message":"recheck","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"dc2d809dab65fd6ca85a5e96019206fc52cf0c76","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ad981d8b_f34c0914","updated":"2026-08-06 14:34:35.000000000","message":"run-NetApp CI","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"}],"cinder/volume/drivers/netapp/dataontap/client/client_cmode_rest.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"868864e5df1017d801e4b7accbda45e2115eea0d","unresolved":true,"context_lines":[{"line_number":220,"context_line":"                \u0027fallback is disabled. Set \"netapp_allow_zapi_fallback\" \u0027"},{"line_number":221,"context_line":"                \u0027to \"true\" to allow fallback.\u0027)"},{"line_number":222,"context_line":"            LOG.warning(msg, {\u0027name\u0027: name})"},{"line_number":223,"context_line":"            raise na_utils.NetAppDriverException(msg % {\u0027name\u0027: name})"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        LOG.debug(\"The %s call is not supported for REST, falling back to \""},{"line_number":226,"context_line":"                  \"ZAPI.\", name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"c16d0935_5af37e3e","line":223,"updated":"2026-08-16 04:38:00.000000000","message":"Openstack documentation says this pattern is wrong. can you please correct to suggested pattern...\nFor example, do not do this:\n\n# WRONG\nmsg \u003d _(\u0027There was an error.\u0027)\nLOG.error(msg)\nraise LocalExceptionClass(msg)\n\nor this:\n\n# EVEN MORE WRONG\nmsg \u003d _LE(\u0027There was an error.\u0027)\nLOG.error(msg)\nraise LocalExceptionClass(msg)\n\nInstead, use this style:\n\n# RIGHT\nLOG.error(\u0027There was an error.\u0027)\nraise LocalExceptionClass(_(\u0027An error occurred.\u0027))\n\nhttps://docs.openstack.org/oslo.i18n/2025.2/user/guidelines.html","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"fd7e8f783214b1e16023edbccf6a1c3b22096670","unresolved":true,"context_lines":[{"line_number":220,"context_line":"                \u0027fallback is disabled. Set \"netapp_allow_zapi_fallback\" \u0027"},{"line_number":221,"context_line":"                \u0027to \"true\" to allow fallback.\u0027)"},{"line_number":222,"context_line":"            LOG.warning(msg, {\u0027name\u0027: name})"},{"line_number":223,"context_line":"            raise na_utils.NetAppDriverException(msg % {\u0027name\u0027: name})"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        LOG.debug(\"The %s call is not supported for REST, falling back to \""},{"line_number":226,"context_line":"                  \"ZAPI.\", name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"54c795c3_90674418","line":223,"in_reply_to":"c16d0935_5af37e3e","updated":"2026-08-27 16:02:22.000000000","message":"Jayaanand is correct about the recommendation, though I\u0027m not sure how well it\u0027s followed if you look throughout openstack code.   I guess the way to handle this would be to remove the _ function around the msg at line 218, and then reset the msg variable to a different string before using it at line 223, something like\n\n```\nmsg \u003d _(\u0027The %(name)s call is not supported for REST and the ZAPI \u0027\n       \u0027fallback is disabled.\u0027)\n```\n\nThe exception isn\u0027t as detailed as the log message, but that\u0027s probably OK.","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"}],"cinder/volume/drivers/netapp/options.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"868864e5df1017d801e4b7accbda45e2115eea0d","unresolved":true,"context_lines":[{"line_number":62,"context_line":"                default\u003dTrue,"},{"line_number":63,"context_line":"                help\u003d(\u0027This option allows the ONTAP REST client methods to \u0027"},{"line_number":64,"context_line":"                      \u0027fallback to ZAPI when a REST method is not \u0027"},{"line_number":65,"context_line":"                      \u0027implemented.\u0027)),"},{"line_number":66,"context_line":"    cfg.IntOpt(\u0027netapp_async_rest_timeout\u0027,"},{"line_number":67,"context_line":"               min\u003d60,"},{"line_number":68,"context_line":"               default\u003d60,  # One minute"}],"source_content_type":"text/x-python","patch_set":1,"id":"7bbbfb6a_adf2adb9","line":65,"updated":"2026-08-16 04:38:00.000000000","message":"Nit: Please clarify that this option applies only when netapp_use_legacy_client is False and the ONTAP REST client is selected. With the legacy client enabled, this option has no effect. This will prevent operators from reading it as a global ZAPI-disable switch","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"fd7e8f783214b1e16023edbccf6a1c3b22096670","unresolved":true,"context_lines":[{"line_number":62,"context_line":"                default\u003dTrue,"},{"line_number":63,"context_line":"                help\u003d(\u0027This option allows the ONTAP REST client methods to \u0027"},{"line_number":64,"context_line":"                      \u0027fallback to ZAPI when a REST method is not \u0027"},{"line_number":65,"context_line":"                      \u0027implemented.\u0027)),"},{"line_number":66,"context_line":"    cfg.IntOpt(\u0027netapp_async_rest_timeout\u0027,"},{"line_number":67,"context_line":"               min\u003d60,"},{"line_number":68,"context_line":"               default\u003d60,  # One minute"}],"source_content_type":"text/x-python","patch_set":1,"id":"adf08e79_56f9221a","line":65,"in_reply_to":"7bbbfb6a_adf2adb9","updated":"2026-08-27 16:02:22.000000000","message":"Agree with Jayaanand, plus I think you need to revise the help text for the netapp_use_legacy_client option, because after this patch, the REST client\u0027s fallback depends on the value of netapp_allow_zapi_fallback","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"}],"releasenotes/notes/netapp-allow-zapi-fallback-c92b0debe5c4484f.yaml":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"fd7e8f783214b1e16023edbccf6a1c3b22096670","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":"    Added a new configuration option ``netapp_allow_zapi_fallback`` for the"},{"line_number":5,"context_line":"    NetApp ONTAP REST driver. It controls whether the REST client is"},{"line_number":6,"context_line":"    allowed to silently fall back to the legacy ZAPI client for calls"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"5f0dbd7c_a6435535","line":3,"updated":"2026-08-27 16:02:22.000000000","message":"nit: the cinder convention is to put the driver name first to make it easier for operators scanning the release notes for items affecting a driver they use.\n\nhttps://docs.openstack.org/cinder/latest/contributor/releasenotes.html#drivers","commit_id":"0bf356ca096c3c591e13ce97d9ca94834c3bc0da"}]}
