)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"b37293c95a08d4da9f1ab5426f36f9eb480eff35","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     jayaanan \u003cjayaanand.borra@netapp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-06-08 11:59:41 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"NetApp ZAPI: Replace urllib with requests library in NaServer"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Migrate NaServer HTTP client from urllib to requests.Session to"},{"line_number":10,"context_line":"fix unnecessary 401 challenge-response round-trips on every ZAPI"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f89c23a_277f811c","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":12},"updated":"2026-06-09 13:33:59.000000000","message":"Release notes are missing.","commit_id":"9903a5fc55014c60d9316876a2f558f7e054bb14"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"871ef86f3e818c84b9e767fc35cda1059409d4d4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     jayaanan \u003cjayaanand.borra@netapp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-06-08 11:59:41 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"NetApp ZAPI: Replace urllib with requests library in NaServer"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Migrate NaServer HTTP client from urllib to requests.Session to"},{"line_number":10,"context_line":"fix unnecessary 401 challenge-response round-trips on every ZAPI"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"6ba3b813_261480c1","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":12},"in_reply_to":"9f89c23a_277f811c","updated":"2026-07-08 05:13:49.000000000","message":"added Release notes... please review again.","commit_id":"9903a5fc55014c60d9316876a2f558f7e054bb14"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3401b7ce74928db77d0c9b40b4ba49ab13ef4367","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fc0638f8_4e743ac4","updated":"2026-06-26 16:11:31.000000000","message":"Please resolve the merge conflict","commit_id":"9903a5fc55014c60d9316876a2f558f7e054bb14"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"871ef86f3e818c84b9e767fc35cda1059409d4d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f93d0c27_602db3e3","updated":"2026-07-08 05:13:49.000000000","message":"Thank you for detailed review addressed review comments. Please review again.","commit_id":"efd1c4a4757ce6b280dfc9ff056549eb54468122"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"72ab6c388d237adc929fc0911eb84babcb634e3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"876b8be7_a15a4d6c","updated":"2026-07-17 05:32:21.000000000","message":"@anthony.galica@hitachivantara.com, Thank you for reviewing. NetApp CI is green. Can you please re-look at this PR.","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"3b976396cef40c494b44ed43eb3bb38050cb560b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ccc81706_3c4d0304","updated":"2026-07-17 09:09:51.000000000","message":"CI is up now.","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"5848882468a07b7b6ed89685bd8f9e4a265bd0f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"7c1446a1_59488af1","updated":"2026-07-08 11:13:49.000000000","message":"LGTM","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"08733d68a1346c104d36d710f9f73ca7c8880e69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d1e18281_3522258d","updated":"2026-07-17 14:31:43.000000000","message":"LGTM.  Thanks for the clear commit message explaining the motivation for this patch.","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"375993e4bfd64ff8416831e6662db2284c172365","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"50305010_238e3bc8","updated":"2026-07-08 10:47:16.000000000","message":"Please look at the comment.","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"f7e83c0cfd44085f3e9037a0a476d10fcb2bd9e5","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f152f4aa_6508f23e","updated":"2026-07-10 15:54:08.000000000","message":"Sorry, knocking down to +1 until there\u0027s CI","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"fece4ba3bad3044f45ef3013f9590ae63689cfe5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cc5bdee4_79e14ba5","updated":"2026-07-10 15:53:13.000000000","message":"This LGTM.  A reasonable change (30k/m, oof!)","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"69161a901ac8da97d984929eaeb5974a52b3df15","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"fb272d47_71d6313c","updated":"2026-07-10 07:38:44.000000000","message":"recheck","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"502a47522db215e7c3fc63c43f1bd0df77e9ea67","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5aaf299a_dcd660e4","updated":"2026-07-16 12:48:14.000000000","message":"run-NetApp CI","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"}],"cinder/tests/unit/volume/drivers/netapp/dataontap/client/test_api.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"b37293c95a08d4da9f1ab5426f36f9eb480eff35","unresolved":true,"context_lines":[{"line_number":276,"context_line":"        self.mock_object(self.root, \u0027_get_result\u0027,"},{"line_number":277,"context_line":"                         return_value\u003dzapi_fakes.FAKE_NA_ELEMENT)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        self.root.send_http_request(na_element)"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    @ddt.data(\u0027192.168.1.0\u0027, \u0027127.0.0.1\u0027, \u00270.0.0.0\u0027,"},{"line_number":282,"context_line":"              \u0027::ffff:8\u0027, \u0027fdf8:f53b:82e4::53\u0027, \u00272001::1\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"97ec0bb0_ae02b2bf","line":279,"updated":"2026-06-09 13:33:59.000000000","message":"Need to add some asserts here?","commit_id":"9903a5fc55014c60d9316876a2f558f7e054bb14"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"871ef86f3e818c84b9e767fc35cda1059409d4d4","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        self.mock_object(self.root, \u0027_get_result\u0027,"},{"line_number":277,"context_line":"                         return_value\u003dzapi_fakes.FAKE_NA_ELEMENT)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        self.root.send_http_request(na_element)"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    @ddt.data(\u0027192.168.1.0\u0027, \u0027127.0.0.1\u0027, \u00270.0.0.0\u0027,"},{"line_number":282,"context_line":"              \u0027::ffff:8\u0027, \u0027fdf8:f53b:82e4::53\u0027, \u00272001::1\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ab6bd470_7291d943","line":279,"in_reply_to":"97ec0bb0_ae02b2bf","updated":"2026-07-08 05:13:49.000000000","message":"this changes is not part of this BUG fix. I can take up later.","commit_id":"9903a5fc55014c60d9316876a2f558f7e054bb14"}],"cinder/volume/drivers/netapp/dataontap/client/api.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"b37293c95a08d4da9f1ab5426f36f9eb480eff35","unresolved":true,"context_lines":[{"line_number":204,"context_line":"                timeout\u003dself._timeout)"},{"line_number":205,"context_line":"            response.raise_for_status()"},{"line_number":206,"context_line":"        except requests.HTTPError as e:"},{"line_number":207,"context_line":"            raise NaApiError(e.response.status_code, str(e))"},{"line_number":208,"context_line":"        except Exception:"},{"line_number":209,"context_line":"            LOG.exception(\"Error communicating with NetApp filer.\")"},{"line_number":210,"context_line":"            raise NaApiError(\u0027Unexpected error\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"42da0531_31c355d0","line":207,"updated":"2026-06-09 13:33:59.000000000","message":"The error code and message is not returned. There are places in driver code where we expect e.msg to be parsed. Wont this be regressive change? Can we retain the existing formatting of error?","commit_id":"9903a5fc55014c60d9316876a2f558f7e054bb14"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"871ef86f3e818c84b9e767fc35cda1059409d4d4","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                timeout\u003dself._timeout)"},{"line_number":205,"context_line":"            response.raise_for_status()"},{"line_number":206,"context_line":"        except requests.HTTPError as e:"},{"line_number":207,"context_line":"            raise NaApiError(e.response.status_code, str(e))"},{"line_number":208,"context_line":"        except Exception:"},{"line_number":209,"context_line":"            LOG.exception(\"Error communicating with NetApp filer.\")"},{"line_number":210,"context_line":"            raise NaApiError(\u0027Unexpected error\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ab582698_5ee648bf","line":207,"in_reply_to":"42da0531_31c355d0","updated":"2026-07-08 05:13:49.000000000","message":"Library is changed..Now i am returning same error code and message from requests library...","commit_id":"9903a5fc55014c60d9316876a2f558f7e054bb14"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"375993e4bfd64ff8416831e6662db2284c172365","unresolved":true,"context_lines":[{"line_number":638,"context_line":"        while not stdout.channel.exit_status_ready():"},{"line_number":639,"context_line":"            # period is 10 - 25 centiseconds"},{"line_number":640,"context_line":"            period \u003d random.randint(10, 25) / 100.0"},{"line_number":641,"context_line":"            time.sleep(period)"},{"line_number":642,"context_line":"            wait_time +\u003d period"},{"line_number":643,"context_line":"            if wait_time \u003e timeout:"},{"line_number":644,"context_line":"                LOG.debug(\"Timeout exceeded while waiting for exit status.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"e651d891_7f0e085f","line":641,"updated":"2026-07-08 10:47:16.000000000","message":"time.sleep() is going to block the entire OS thread? Any particular reason we are changing from greenthread.sleep() to time.sleep()?","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"8b749e353577f805f354ba549be4f4affe718cc2","unresolved":false,"context_lines":[{"line_number":638,"context_line":"        while not stdout.channel.exit_status_ready():"},{"line_number":639,"context_line":"            # period is 10 - 25 centiseconds"},{"line_number":640,"context_line":"            period \u003d random.randint(10, 25) / 100.0"},{"line_number":641,"context_line":"            time.sleep(period)"},{"line_number":642,"context_line":"            wait_time +\u003d period"},{"line_number":643,"context_line":"            if wait_time \u003e timeout:"},{"line_number":644,"context_line":"                LOG.debug(\"Timeout exceeded while waiting for exit status.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"4fd212f7_36e266b5","line":641,"in_reply_to":"6f300988_66355a39","updated":"2026-07-23 15:07:38.000000000","message":"Sure. Thanks for the info @anthony.galica@hitachivantara.com","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"fece4ba3bad3044f45ef3013f9590ae63689cfe5","unresolved":true,"context_lines":[{"line_number":638,"context_line":"        while not stdout.channel.exit_status_ready():"},{"line_number":639,"context_line":"            # period is 10 - 25 centiseconds"},{"line_number":640,"context_line":"            period \u003d random.randint(10, 25) / 100.0"},{"line_number":641,"context_line":"            time.sleep(period)"},{"line_number":642,"context_line":"            wait_time +\u003d period"},{"line_number":643,"context_line":"            if wait_time \u003e timeout:"},{"line_number":644,"context_line":"                LOG.debug(\"Timeout exceeded while waiting for exit status.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"6f300988_66355a39","line":641,"in_reply_to":"a1bd3718_5e1138c6","updated":"2026-07-10 15:53:13.000000000","message":"I know you said to ignore this, but I think we\u0027re (as in Cinder) getting rid of eventlet altogether (and I hear that time.sleep() has been \"money-patched\").","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"5848882468a07b7b6ed89685bd8f9e4a265bd0f1","unresolved":true,"context_lines":[{"line_number":638,"context_line":"        while not stdout.channel.exit_status_ready():"},{"line_number":639,"context_line":"            # period is 10 - 25 centiseconds"},{"line_number":640,"context_line":"            period \u003d random.randint(10, 25) / 100.0"},{"line_number":641,"context_line":"            time.sleep(period)"},{"line_number":642,"context_line":"            wait_time +\u003d period"},{"line_number":643,"context_line":"            if wait_time \u003e timeout:"},{"line_number":644,"context_line":"                LOG.debug(\"Timeout exceeded while waiting for exit status.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"a1bd3718_5e1138c6","line":641,"in_reply_to":"e651d891_7f0e085f","updated":"2026-07-08 11:13:49.000000000","message":"Please ignore..I was on the wrong patch.","commit_id":"1bba1f92a7a089569514e7ce016aeea192f5af0b"}]}
