)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Shield backend driver exceptions from API response"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Unsanitized NetApp driver timeout errors leak internal infrastructure"},{"line_number":10,"context_line":"details to the end user. This patch implements exception shielding in"},{"line_number":11,"context_line":"the volume manager to return a generic error to the API instead."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #2156074"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"c5682cc0_66032b1b","line":10,"range":{"start_line":10,"start_character":14,"end_line":10,"end_character":23},"updated":"2026-07-01 09:49:27.000000000","message":"well not really end-user/operator!","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Unsanitized NetApp driver timeout errors leak internal infrastructure"},{"line_number":10,"context_line":"details to the end user. This patch implements exception shielding in"},{"line_number":11,"context_line":"the volume manager to return a generic error to the API instead."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #2156074"},{"line_number":14,"context_line":"Change-Id: I874ccf9043ea5e16a8cb109eba89862c7b2a7b41"},{"line_number":15,"context_line":"Author: Amithabh D.K \u003camithabhpec@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"33ffb858_84837cd2","line":12,"updated":"2026-07-01 09:49:27.000000000","message":"I wonder why this is harmful, anyway only administrator who have access to controlplane can see the logs and these details in api response, even its in caller service logs.\n\nits correct if caller is not opentack-service! then its a valid bug and then it makes sense.\n\nmay be we should update commit msg - chcek the bug once.","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"d1c7afeb471b00d8d112e76d9e017e42a8899706","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"045f5c07_a2cc16bb","updated":"2026-06-23 15:07:29.000000000","message":"this need lot of rework","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"962b86f4b6614a7c41053de34a4130570a6c0cef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b718fe7f_66c18e19","updated":"2026-07-01 12:58:40.000000000","message":"The right place to handle this \u0027leak\u0027 is inside the driver itself. You can capture the exception there, filter it and re-raise.","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"9b11883f4ca94927c43a69ae358b38984426c673","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"aadbebc7_412fe58d","updated":"2026-07-09 04:07:10.000000000","message":"issue can be addressed at ONTAP by adjusting and matching MTU settings intermediate devices to match ONTAP MTU strings please go through this link https://kb.netapp.com/Cloud/OpenStack/Cinder_Driver_Fails_to_Initialize_with_NetApp_API_failed._Reason-408%3A_Request_Timeout. Can you check possibility of sanitizing sensitive information at NetApp driver.","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8b73c4b4_d45d15f4","updated":"2026-07-01 09:49:27.000000000","message":"please simplify or remove the comments, thye don\u0027t add clearity w.r.t what the code already tell.","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"}],"cinder/tests/unit/volume/test_netapp_bug_2156074.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"5d670eb7d191cc519f8f1dddd0f8a1037c4bfed7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"from unittest import mock"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from cinder import context"},{"line_number":4,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":1,"id":"585cc406_dd63d3c3","line":1,"updated":"2026-06-17 10:29:56.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"8835a80f83a5e1a799f07de55178b0953b28ba3b"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"5d670eb7d191cc519f8f1dddd0f8a1037c4bfed7","unresolved":false,"context_lines":[{"line_number":6,"context_line":"from cinder.tests.unit import utils as tests_utils"},{"line_number":7,"context_line":"from cinder.volume import manager"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"class NetAppInformationDisclosureTestCase(test.TestCase):"},{"line_number":10,"context_line":"    def setUp(self):"},{"line_number":11,"context_line":"        super(NetAppInformationDisclosureTestCase, self).setUp()"},{"line_number":12,"context_line":"        self.manager \u003d manager.VolumeManager()"}],"source_content_type":"text/x-python","patch_set":1,"id":"b7d251d0_34fa2595","line":9,"updated":"2026-06-17 10:29:56.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"8835a80f83a5e1a799f07de55178b0953b28ba3b"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"5d670eb7d191cc519f8f1dddd0f8a1037c4bfed7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        leak_msg \u003d (\u0027Timeout: Operation \"igroupConfig_iterator::get_imp()\" \u0027"},{"line_number":24,"context_line":"                    \u0027took longer than 25 seconds to complete [from mgwd on \u0027"},{"line_number":25,"context_line":"                    \u0027node \"node-phobos\" (VSID: -1) to bcomd at 127.0.0.1]\u0027)"},{"line_number":26,"context_line":"        self.manager.driver.initialize_connection.side_effect \u003d Exception(leak_msg)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        # 3. Call your patched method and catch the exception it spits out"},{"line_number":29,"context_line":"        ex \u003d self.assertRaises(exception.VolumeBackendAPIException,"}],"source_content_type":"text/x-python","patch_set":1,"id":"73926c10_613c30be","line":26,"updated":"2026-06-17 10:29:56.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"8835a80f83a5e1a799f07de55178b0953b28ba3b"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fc62f28be429f38ba8e2aeb99c7c778f625c53d8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"from unittest import mock"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from cinder import context"},{"line_number":4,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":2,"id":"71853303_8d2f35e1","line":1,"updated":"2026-06-17 13:36:33.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"d1c7afeb471b00d8d112e76d9e017e42a8899706","unresolved":true,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"        # 2. Inject a fake driver and mock its dependent calls"},{"line_number":24,"context_line":"        self.manager.driver \u003d mock.MagicMock()"},{"line_number":25,"context_line":"        self.manager.driver.validate_connector.return_return_value \u003d None"},{"line_number":26,"context_line":"        self.manager.driver.create_export.return_value \u003d None"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        # 3. Simulate the target proprietary NetApp leak message"}],"source_content_type":"text/x-python","patch_set":2,"id":"02ff42f4_52b17251","line":25,"range":{"start_line":25,"start_character":47,"end_line":25,"end_character":66},"updated":"2026-06-23 15:07:29.000000000","message":"!!!","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"        # 2. Inject a fake driver and mock its dependent calls"},{"line_number":24,"context_line":"        self.manager.driver \u003d mock.MagicMock()"},{"line_number":25,"context_line":"        self.manager.driver.validate_connector.return_return_value \u003d None"},{"line_number":26,"context_line":"        self.manager.driver.create_export.return_value \u003d None"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        # 3. Simulate the target proprietary NetApp leak message"}],"source_content_type":"text/x-python","patch_set":2,"id":"383343fb_5e342348","line":25,"range":{"start_line":25,"start_character":47,"end_line":25,"end_character":66},"in_reply_to":"02ff42f4_52b17251","updated":"2026-07-01 09:49:27.000000000","message":"Done","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"d1c7afeb471b00d8d112e76d9e017e42a8899706","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"72126fd3_c8b3b02f","line":64,"updated":"2026-06-23 15:07:29.000000000","message":"I liked the test because its structured like a regresson functional tests","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2026 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fea5ddb_559763da","line":1,"updated":"2026-07-01 09:49:27.000000000","message":"remove vendor name from test filename\n\nalso this change is in cinder core and valid for all vendors.","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":true,"context_lines":[{"line_number":22,"context_line":"from cinder.volume import manager as vol_manager"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class NetAppExceptionShieldingTestCase(test.TestCase):"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def setUp(self):"},{"line_number":28,"context_line":"        super(NetAppExceptionShieldingTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"db25e04f_672fb200","line":25,"range":{"start_line":25,"start_character":6,"end_line":25,"end_character":38},"updated":"2026-07-01 09:49:27.000000000","message":"not NetApp specific","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"}],"cinder/volume/manager.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"5d670eb7d191cc519f8f1dddd0f8a1037c4bfed7","unresolved":false,"context_lines":[{"line_number":1981,"context_line":"                      {\u0027vol\u0027: volume.id, \u0027err\u0027: str(err)})"},{"line_number":1982,"context_line":"            "},{"line_number":1983,"context_line":"            # 2. EXCEPTION SHIELDING: Import the core OpenStack exception class "},{"line_number":1984,"context_line":"            # and return a generic, sanitized string to the Glance/End-User API."},{"line_number":1985,"context_line":"            from cinder import exception"},{"line_number":1986,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":1987,"context_line":"                data\u003d\"Bad or unexpected response from the storage volume backend API: \""}],"source_content_type":"text/x-python","patch_set":1,"id":"931f93c3_7ca5f6db","line":1984,"updated":"2026-06-17 10:29:56.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"8835a80f83a5e1a799f07de55178b0953b28ba3b"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"5d670eb7d191cc519f8f1dddd0f8a1037c4bfed7","unresolved":false,"context_lines":[{"line_number":1984,"context_line":"            # and return a generic, sanitized string to the Glance/End-User API."},{"line_number":1985,"context_line":"            from cinder import exception"},{"line_number":1986,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":1987,"context_line":"                data\u003d\"Bad or unexpected response from the storage volume backend API: \""},{"line_number":1988,"context_line":"                     \"Driver initialize connection failed due to an internal backend error.\""},{"line_number":1989,"context_line":"            )"},{"line_number":1990,"context_line":"        # TODO(jdg): Add deprecation warning"}],"source_content_type":"text/x-python","patch_set":1,"id":"737fdc16_6e8ee5f3","line":1987,"updated":"2026-06-17 10:29:56.000000000","message":"pep8: E501 line too long (87 \u003e 79 characters)","commit_id":"8835a80f83a5e1a799f07de55178b0953b28ba3b"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"5d670eb7d191cc519f8f1dddd0f8a1037c4bfed7","unresolved":false,"context_lines":[{"line_number":1985,"context_line":"            from cinder import exception"},{"line_number":1986,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":1987,"context_line":"                data\u003d\"Bad or unexpected response from the storage volume backend API: \""},{"line_number":1988,"context_line":"                     \"Driver initialize connection failed due to an internal backend error.\""},{"line_number":1989,"context_line":"            )"},{"line_number":1990,"context_line":"        # TODO(jdg): Add deprecation warning"},{"line_number":1991,"context_line":"        volume_utils.require_driver_initialized(self.driver)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3994eb2c_4ceab6ff","line":1988,"updated":"2026-06-17 10:29:56.000000000","message":"pep8: E501 line too long (92 \u003e 79 characters)","commit_id":"8835a80f83a5e1a799f07de55178b0953b28ba3b"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"5d670eb7d191cc519f8f1dddd0f8a1037c4bfed7","unresolved":false,"context_lines":[{"line_number":1996,"context_line":"        except Exception as err:"},{"line_number":1997,"context_line":"            err_msg \u003d (_(\"Validate volume connection failed \""},{"line_number":1998,"context_line":"    "},{"line_number":1999,"context_line":"                     \"(error: %(err)s).\") % {\u0027err\u0027: err})"},{"line_number":2000,"context_line":"            LOG.exception(err_msg, resource\u003dvolume)"},{"line_number":2001,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":2002,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"2319c14b_59245f16","line":1999,"updated":"2026-06-17 10:29:56.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"8835a80f83a5e1a799f07de55178b0953b28ba3b"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"d1c7afeb471b00d8d112e76d9e017e42a8899706","unresolved":true,"context_lines":[{"line_number":1923,"context_line":""},{"line_number":1924,"context_line":"        return conn_info"},{"line_number":1925,"context_line":""},{"line_number":1926,"context_line":"    def initialize_connection(self,"},{"line_number":1927,"context_line":"                              context,"},{"line_number":1928,"context_line":"                              volume: objects.Volume,"},{"line_number":1929,"context_line":"                              connector: dict) -\u003e dict:"},{"line_number":1930,"context_line":"        \"\"\"Prepare volume for connection from host represented by connector."}],"source_content_type":"text/x-python","patch_set":2,"id":"a5af2e69_e1aeb13e","line":1927,"range":{"start_line":1926,"start_character":0,"end_line":1927,"end_character":1},"updated":"2026-06-23 15:07:29.000000000","message":"^^ ?","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fc62f28be429f38ba8e2aeb99c7c778f625c53d8","unresolved":false,"context_lines":[{"line_number":1981,"context_line":"                      {\u0027vol\u0027: volume.id, \u0027err\u0027: str(err)})"},{"line_number":1982,"context_line":"            "},{"line_number":1983,"context_line":"            # 2. EXCEPTION SHIELDING: Import the core OpenStack exception class "},{"line_number":1984,"context_line":"            # and return a generic, sanitized string to the Glance/End-User API."},{"line_number":1985,"context_line":"            from cinder import exception"},{"line_number":1986,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":1987,"context_line":"                data\u003d\"Bad or unexpected response from the storage volume backend API: \""}],"source_content_type":"text/x-python","patch_set":2,"id":"96744db4_2239060f","line":1984,"updated":"2026-06-17 13:36:33.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fc62f28be429f38ba8e2aeb99c7c778f625c53d8","unresolved":false,"context_lines":[{"line_number":1984,"context_line":"            # and return a generic, sanitized string to the Glance/End-User API."},{"line_number":1985,"context_line":"            from cinder import exception"},{"line_number":1986,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":1987,"context_line":"                data\u003d\"Bad or unexpected response from the storage volume backend API: \""},{"line_number":1988,"context_line":"                     \"Driver initialize connection failed due to an internal backend error.\""},{"line_number":1989,"context_line":"            )"},{"line_number":1990,"context_line":"        # TODO(jdg): Add deprecation warning"}],"source_content_type":"text/x-python","patch_set":2,"id":"a173b460_d9f7fc58","line":1987,"updated":"2026-06-17 13:36:33.000000000","message":"pep8: E501 line too long (87 \u003e 79 characters)","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fc62f28be429f38ba8e2aeb99c7c778f625c53d8","unresolved":false,"context_lines":[{"line_number":1985,"context_line":"            from cinder import exception"},{"line_number":1986,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":1987,"context_line":"                data\u003d\"Bad or unexpected response from the storage volume backend API: \""},{"line_number":1988,"context_line":"                     \"Driver initialize connection failed due to an internal backend error.\""},{"line_number":1989,"context_line":"            )"},{"line_number":1990,"context_line":"        # TODO(jdg): Add deprecation warning"},{"line_number":1991,"context_line":"        volume_utils.require_driver_initialized(self.driver)"}],"source_content_type":"text/x-python","patch_set":2,"id":"d95d8add_2e630ef6","line":1988,"updated":"2026-06-17 13:36:33.000000000","message":"pep8: E501 line too long (92 \u003e 79 characters)","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"d1c7afeb471b00d8d112e76d9e017e42a8899706","unresolved":true,"context_lines":[{"line_number":2038,"context_line":"                 resource\u003dvolume)"},{"line_number":2039,"context_line":"        return conn_info"},{"line_number":2040,"context_line":"\"\"\""},{"line_number":2041,"context_line":"    def initialize_connection(self,"},{"line_number":2042,"context_line":"                              context,"},{"line_number":2043,"context_line":"                              volume: objects.Volume,"},{"line_number":2044,"context_line":"                              connector: dict) -\u003e dict:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7e1ed1ea_c7d717d4","line":2041,"updated":"2026-06-23 15:07:29.000000000","message":"-1, this is just a duplicate method, this one will be used because its defined later","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fc62f28be429f38ba8e2aeb99c7c778f625c53d8","unresolved":false,"context_lines":[{"line_number":2038,"context_line":"                 resource\u003dvolume)"},{"line_number":2039,"context_line":"        return conn_info"},{"line_number":2040,"context_line":"\"\"\""},{"line_number":2041,"context_line":"    def initialize_connection(self,"},{"line_number":2042,"context_line":"                              context,"},{"line_number":2043,"context_line":"                              volume: objects.Volume,"},{"line_number":2044,"context_line":"                              connector: dict) -\u003e dict:"}],"source_content_type":"text/x-python","patch_set":2,"id":"51d50769_9791c273","line":2041,"updated":"2026-06-17 13:36:33.000000000","message":"pep8: F811 redefinition of unused \u0027initialize_connection\u0027 from line 1926","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":false,"context_lines":[{"line_number":2038,"context_line":"                 resource\u003dvolume)"},{"line_number":2039,"context_line":"        return conn_info"},{"line_number":2040,"context_line":"\"\"\""},{"line_number":2041,"context_line":"    def initialize_connection(self,"},{"line_number":2042,"context_line":"                              context,"},{"line_number":2043,"context_line":"                              volume: objects.Volume,"},{"line_number":2044,"context_line":"                              connector: dict) -\u003e dict:"}],"source_content_type":"text/x-python","patch_set":2,"id":"17d6d5a6_809e528a","line":2041,"in_reply_to":"7e1ed1ea_c7d717d4","updated":"2026-07-01 09:49:27.000000000","message":"Done","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fc62f28be429f38ba8e2aeb99c7c778f625c53d8","unresolved":false,"context_lines":[{"line_number":2080,"context_line":"        try:"},{"line_number":2081,"context_line":"            conn_info \u003d self.driver.initialize_connection(volume, connector)"},{"line_number":2082,"context_line":"        except exception.CinderException:"},{"line_number":2083,"context_line":"            # Let standard OpenStack errors bubble up normally (Fixes Tempest tests)"},{"line_number":2084,"context_line":"            self.driver.remove_export(context.elevated(), volume)"},{"line_number":2085,"context_line":"            raise"},{"line_number":2086,"context_line":"        except Exception as err:"}],"source_content_type":"text/x-python","patch_set":2,"id":"d7b0d70b_283863bb","line":2083,"updated":"2026-06-17 13:36:33.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fc62f28be429f38ba8e2aeb99c7c778f625c53d8","unresolved":false,"context_lines":[{"line_number":2084,"context_line":"            self.driver.remove_export(context.elevated(), volume)"},{"line_number":2085,"context_line":"            raise"},{"line_number":2086,"context_line":"        except Exception as err:"},{"line_number":2087,"context_line":"            # 1. SECURE LOGGING: Write sensitive infrastructure data to admin logs"},{"line_number":2088,"context_line":"            LOG.error(\"Initialize connection failed for volume %(vol)s. \""},{"line_number":2089,"context_line":"                      \"Backend driver error: %(err)s\","},{"line_number":2090,"context_line":"                      {\u0027vol\u0027: volume.id, \u0027err\u0027: str(err)})"}],"source_content_type":"text/x-python","patch_set":2,"id":"284d9358_0fd5d899","line":2087,"updated":"2026-06-17 13:36:33.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fc62f28be429f38ba8e2aeb99c7c778f625c53d8","unresolved":false,"context_lines":[{"line_number":2092,"context_line":"            "},{"line_number":2093,"context_line":"            # 2. SANITIZED API RESPONSE: Hide backend topology from end users"},{"line_number":2094,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":2095,"context_line":"                data\u003d\"Driver initialize connection failed due to an internal backend error.\""},{"line_number":2096,"context_line":"            )"},{"line_number":2097,"context_line":"        # ---------------------------------------------"},{"line_number":2098,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"f3c2d80d_f9735e7e","line":2095,"updated":"2026-06-17 13:36:33.000000000","message":"pep8: E501 line too long (92 \u003e 79 characters)","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fc62f28be429f38ba8e2aeb99c7c778f625c53d8","unresolved":false,"context_lines":[{"line_number":2102,"context_line":"        LOG.info(\"Initialize volume connection completed successfully.\","},{"line_number":2103,"context_line":"                 resource\u003dvolume)"},{"line_number":2104,"context_line":"        return conn_info"},{"line_number":2105,"context_line":"    def initialize_connection_snapshot(self,"},{"line_number":2106,"context_line":"                                       ctxt,"},{"line_number":2107,"context_line":"                                       snapshot_id: ovo_fields.UUIDField,"},{"line_number":2108,"context_line":"                                       connector: dict) -\u003e dict:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5bd5b545_6578f5ff","line":2105,"updated":"2026-06-17 13:36:33.000000000","message":"pep8: E301 expected 1 blank line, found 0","commit_id":"a79ffb59dbdd67be5b42399ed95f3283fdf44e9a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":true,"context_lines":[{"line_number":1968,"context_line":"            various places, so it should not contain any non-json data types."},{"line_number":1969,"context_line":""},{"line_number":1970,"context_line":"        \"\"\""},{"line_number":1971,"context_line":"        # TODO(jdg): Add deprecation warning"},{"line_number":1972,"context_line":"        volume_utils.require_driver_initialized(self.driver)"},{"line_number":1973,"context_line":"        try:"},{"line_number":1974,"context_line":"            self.driver.validate_connector(connector)"}],"source_content_type":"text/x-python","patch_set":3,"id":"427224cc_13b7f678","side":"PARENT","line":1971,"updated":"2026-07-01 09:49:27.000000000","message":"why to remove doc-string ? \nis it not valid anymore with this change ?","commit_id":"7ea3e9c10eb32289444c8bf8ce62b4a0d5ace1e1"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":true,"context_lines":[{"line_number":1,"context_line":""},{"line_number":2,"context_line":"# Copyright 2010 United States Government as represented by the"},{"line_number":3,"context_line":"# Administrator of the National Aeronautics and Space Administration."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":3,"id":"dcc6a8f4_2c7c5380","line":1,"updated":"2026-07-01 09:49:27.000000000","message":"-1, please revert","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":true,"context_lines":[{"line_number":1966,"context_line":"        except exception.CinderException:"},{"line_number":1967,"context_line":"            # Let standard OpenStack errors bubble up (Fixes Tempest tests)"},{"line_number":1968,"context_line":"            self.driver.remove_export(context.elevated(), volume)"},{"line_number":1969,"context_line":"            raise"},{"line_number":1970,"context_line":"        except Exception as err:"},{"line_number":1971,"context_line":"            # SECURE LOGGING: Write raw infrastructure data to admin logs"},{"line_number":1972,"context_line":"            LOG.error(\"Initialize connection failed for volume %(vol)s. \""}],"source_content_type":"text/x-python","patch_set":3,"id":"d393ff07_6169ee1f","line":1969,"updated":"2026-07-01 09:49:27.000000000","message":"so CinderException is also sending the same msg forward, so with this re-raising we will be sending whole error msg again and defeats the purpose of this patch.\n\nin other places CinderException is not re-raised directly, either `VolumeBackendAPIException` or `ExportFailure`. so re-raise them instead or drop the catch at all and lets generic Exception handle it below.","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":true,"context_lines":[{"line_number":1969,"context_line":"            raise"},{"line_number":1970,"context_line":"        except Exception as err:"},{"line_number":1971,"context_line":"            # SECURE LOGGING: Write raw infrastructure data to admin logs"},{"line_number":1972,"context_line":"            LOG.error(\"Initialize connection failed for volume %(vol)s. \""},{"line_number":1973,"context_line":"                      \"Backend driver error: %(err)s\","},{"line_number":1974,"context_line":"                      {\u0027vol\u0027: volume.id, \u0027err\u0027: str(err)})"},{"line_number":1975,"context_line":"            self.driver.remove_export(context.elevated(), volume)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a9f8789_972be7d9","line":1972,"updated":"2026-07-01 09:49:27.000000000","message":"revert to LOG.exception - this losses the stack trace","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"496530d0cb1965b8b58917c6ddba1d59163cc7be","unresolved":true,"context_lines":[{"line_number":1974,"context_line":"                      {\u0027vol\u0027: volume.id, \u0027err\u0027: str(err)})"},{"line_number":1975,"context_line":"            self.driver.remove_export(context.elevated(), volume)"},{"line_number":1976,"context_line":""},{"line_number":1977,"context_line":"            # SANITIZED API RESPONSE: Hide backend topology from end users"},{"line_number":1978,"context_line":"            msg \u003d _(\"Driver initialize connection failed due to an \""},{"line_number":1979,"context_line":"                    \"internal backend error.\")"},{"line_number":1980,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"0b838a6d_5fcb1bb3","line":1977,"updated":"2026-07-01 09:49:27.000000000","message":"may be - return generic error to API caller! instead of `SANITIZED API RESPONSE`","commit_id":"082150084bd1995572bf8f70717f4a9c1797209c"}]}
