)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"287eccb2edb72c548255d4788af939e1ea091e18","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"09d5d3ce_4c82823c","updated":"2025-02-26 04:55:54.000000000","message":"Thanks sai for working on this, I have few comments on this.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36178,"name":"Saravanan Manickam","display_name":"msaravan","email":"manicsaran@gmail.com","username":"msaravan"},"change_message_id":"bdeebe7d4b8e2c9a3a06f172e23ab0ed8e4a0a00","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7011b328_b59d3d43","updated":"2025-02-25 19:04:56.000000000","message":"Workflow looks good. Some if loops can be optimized at couple of places.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b8268d8f48860ba0b6111da03552e42bf41e499","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fe9cd015_66fd0f95","updated":"2025-02-26 19:33:09.000000000","message":"Feature looks good, only some minor comments to add. Please check them inline","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"d822ca673e673f49fd66766931828a072cb05632","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d0c7d651_88f9baa1","updated":"2025-02-27 04:45:44.000000000","message":"LGTM, please incorporate the review comments given by Carloss","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"},{"author":{"_account_id":36178,"name":"Saravanan Manickam","display_name":"msaravan","email":"manicsaran@gmail.com","username":"msaravan"},"change_message_id":"6af0cabe0126a28af6036b02802cae95036a4e3d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b1ae7f7d_44fcf2cc","updated":"2025-02-26 20:01:27.000000000","message":"My comments are addressed. Request you to address the outstanding comments shared by core reviewers.","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"659d0e6d0dcbab14331eef9afda66b682d8a6154","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6d1e0fb5_74b54e15","updated":"2025-02-26 09:48:42.000000000","message":"Thank you so much Gireesh and Saravanan for the review and comments. Addressed all the comments. Please verify and approve.","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c1c37d4627a751efd14a62ba2f925c3c1537d0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2cb616ee_cb7d3b9d","updated":"2025-02-27 14:11:50.000000000","message":"LGTM, thanks Sai!","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7e0b600cc32c9ebc1de0fdbcad6fec4a5f4484dd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ffad1aab_5f37e563","updated":"2025-02-28 22:11:43.000000000","message":"Please address comments in a follow up patch. NetApp CI hasn\u0027t voted on this change - from what i recall this is at least two releases since the CI has been broken, or behaving inconsistently. I hope you\u0027ve been able to test this change adequately.","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"e02da8cf08bc05aecb188fae452b07b3b3a39f9b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b0036e57_0cff84f3","updated":"2025-02-27 07:07:26.000000000","message":"Thank you Carloss for reviewing and providing comments. I have made the required changes and doc part is on me. Actually I am OOO until March 3rd. I will update the doc by 4th March if that is okay!","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"05ce5347d254b51d44c8c7aa7f993c3a1691be59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6e1fc0a7_c09efac7","updated":"2025-03-04 12:10:30.000000000","message":"Thank you so much Goutham for reviewing and providing comments.\n \nI have raised a separate patch for updating certificate auth options\nhelp section.\nhttps://review.opendev.org/c/openstack/manila/+/943241\n\nApologies for the NetApp CI part, we are gonna fix it soon for sure and \nreally thanks for understanding! Yes, I was able to test the changes \nlocally well.","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"}],"manila/share/drivers/netapp/dataontap/client/api.py":[{"author":{"_account_id":36178,"name":"Saravanan Manickam","display_name":"msaravan","email":"manicsaran@gmail.com","username":"msaravan"},"change_message_id":"bdeebe7d4b8e2c9a3a06f172e23ab0ed8e4a0a00","unresolved":true,"context_lines":[{"line_number":84,"context_line":"                 ssl_cert_path\u003dNone, username\u003dNone, password\u003dNone, port\u003dNone,"},{"line_number":85,"context_line":"                 trace\u003dFalse, api_trace_pattern\u003dNone, private_key_file\u003dNone,"},{"line_number":86,"context_line":"                 certificate_file\u003dNone, ca_certificate_file\u003dNone,"},{"line_number":87,"context_line":"                 certificate_host_validation\u003dNone):"},{"line_number":88,"context_line":"        super(BaseClient, self).__init__()"},{"line_number":89,"context_line":"        self._host \u003d host"},{"line_number":90,"context_line":"        if private_key_file and certificate_file:"}],"source_content_type":"text/x-python","patch_set":1,"id":"cf4b4532_45a7f2a9","line":87,"updated":"2025-02-25 19:04:56.000000000","message":"Nit: certificate_host_validation can be set to False by default","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"659d0e6d0dcbab14331eef9afda66b682d8a6154","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                 ssl_cert_path\u003dNone, username\u003dNone, password\u003dNone, port\u003dNone,"},{"line_number":85,"context_line":"                 trace\u003dFalse, api_trace_pattern\u003dNone, private_key_file\u003dNone,"},{"line_number":86,"context_line":"                 certificate_file\u003dNone, ca_certificate_file\u003dNone,"},{"line_number":87,"context_line":"                 certificate_host_validation\u003dNone):"},{"line_number":88,"context_line":"        super(BaseClient, self).__init__()"},{"line_number":89,"context_line":"        self._host \u003d host"},{"line_number":90,"context_line":"        if private_key_file and certificate_file:"}],"source_content_type":"text/x-python","patch_set":1,"id":"269c6c88_89ae756d","line":87,"in_reply_to":"cf4b4532_45a7f2a9","updated":"2025-02-26 09:48:42.000000000","message":"Done.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"287eccb2edb72c548255d4788af939e1ea091e18","unresolved":true,"context_lines":[{"line_number":87,"context_line":"                 certificate_host_validation\u003dNone):"},{"line_number":88,"context_line":"        super(BaseClient, self).__init__()"},{"line_number":89,"context_line":"        self._host \u003d host"},{"line_number":90,"context_line":"        if private_key_file and certificate_file:"},{"line_number":91,"context_line":"            transport_type \u003d TRANSPORT_TYPE_HTTPS"},{"line_number":92,"context_line":"            port \u003d 443"},{"line_number":93,"context_line":"            style \u003d STYLE_CERTIFICATE"},{"line_number":94,"context_line":"        self.set_transport_type(transport_type)"},{"line_number":95,"context_line":"        self.set_style(style)"},{"line_number":96,"context_line":"        if port:"}],"source_content_type":"text/x-python","patch_set":1,"id":"8f5f3fa2_7df32213","line":93,"range":{"start_line":90,"start_character":8,"end_line":93,"end_character":37},"updated":"2025-02-26 04:55:54.000000000","message":"We are kind of hardcoding here, If user provide different port and transport (port as 80 and transport as http ) along with certificate file, in this case it will go through but ideally this should failed and throw the error by saying that this is misconfiguration. We need to make below changes here \n- style parameter should have default value as \"STYLE_LOGIN_PASSWORD\"\n- throw the error if style is STYLE_CERTIFICATE then make sure below parameters are set correctly in config file.\n 1. transport_type type should be TRANSPORT_TYPE_HTTPS\n 2. both private and public certificate file should not be None.\n \n No need to set the port as 443 as customer can use different port also","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"659d0e6d0dcbab14331eef9afda66b682d8a6154","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                 certificate_host_validation\u003dNone):"},{"line_number":88,"context_line":"        super(BaseClient, self).__init__()"},{"line_number":89,"context_line":"        self._host \u003d host"},{"line_number":90,"context_line":"        if private_key_file and certificate_file:"},{"line_number":91,"context_line":"            transport_type \u003d TRANSPORT_TYPE_HTTPS"},{"line_number":92,"context_line":"            port \u003d 443"},{"line_number":93,"context_line":"            style \u003d STYLE_CERTIFICATE"},{"line_number":94,"context_line":"        self.set_transport_type(transport_type)"},{"line_number":95,"context_line":"        self.set_style(style)"},{"line_number":96,"context_line":"        if port:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3712b381_d03ffd2c","line":93,"range":{"start_line":90,"start_character":8,"end_line":93,"end_character":37},"in_reply_to":"8f5f3fa2_7df32213","updated":"2025-02-26 09:48:42.000000000","message":"1) As discussed within the team, removed port code and we accept what user passes by default. If user doesn\u0027t pass anything, the port is decided based on transport_type with existing code. \n\n2)Updated default style to STYLE_LOGIN_PASSWORD.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"287eccb2edb72c548255d4788af939e1ea091e18","unresolved":true,"context_lines":[{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    def _create_certificate_auth_handler(self):"},{"line_number":264,"context_line":"        \"\"\"Creates and returns a certificate auth handler.\"\"\""},{"line_number":265,"context_line":"        if self._certificate_host_validation:"},{"line_number":266,"context_line":"            self._session.verify \u003d True"},{"line_number":267,"context_line":"        else:"},{"line_number":268,"context_line":"            self._session.verify \u003d False"},{"line_number":269,"context_line":"        if self._private_key_file and self._certificate_file \\"},{"line_number":270,"context_line":"           and self._ca_certificate_file:"},{"line_number":271,"context_line":"            self._session.cert \u003d (self._certificate_file,"}],"source_content_type":"text/x-python","patch_set":1,"id":"010c4ae9_b395091a","line":268,"range":{"start_line":265,"start_character":7,"end_line":268,"end_character":40},"updated":"2025-02-26 04:55:54.000000000","message":"Change the code as below \nself._session.verify \u003d False\nif self._certificate_host_validation:\n            self._session.verify \u003d True","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"659d0e6d0dcbab14331eef9afda66b682d8a6154","unresolved":false,"context_lines":[{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    def _create_certificate_auth_handler(self):"},{"line_number":264,"context_line":"        \"\"\"Creates and returns a certificate auth handler.\"\"\""},{"line_number":265,"context_line":"        if self._certificate_host_validation:"},{"line_number":266,"context_line":"            self._session.verify \u003d True"},{"line_number":267,"context_line":"        else:"},{"line_number":268,"context_line":"            self._session.verify \u003d False"},{"line_number":269,"context_line":"        if self._private_key_file and self._certificate_file \\"},{"line_number":270,"context_line":"           and self._ca_certificate_file:"},{"line_number":271,"context_line":"            self._session.cert \u003d (self._certificate_file,"}],"source_content_type":"text/x-python","patch_set":1,"id":"24b1029c_7ad9b21e","line":268,"range":{"start_line":265,"start_character":7,"end_line":268,"end_character":40},"in_reply_to":"010c4ae9_b395091a","updated":"2025-02-26 09:48:42.000000000","message":"Optimized as Saravanan suggested.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36178,"name":"Saravanan Manickam","display_name":"msaravan","email":"manicsaran@gmail.com","username":"msaravan"},"change_message_id":"bdeebe7d4b8e2c9a3a06f172e23ab0ed8e4a0a00","unresolved":true,"context_lines":[{"line_number":271,"context_line":"            self._session.cert \u003d (self._certificate_file,"},{"line_number":272,"context_line":"                                  self._private_key_file)"},{"line_number":273,"context_line":"            if self._certificate_host_validation:"},{"line_number":274,"context_line":"                self._session.verify \u003d self._ca_certificate_file"},{"line_number":275,"context_line":"        elif self._certificate_file and self._private_key_file:"},{"line_number":276,"context_line":"            self._session.cert \u003d (self._certificate_file,"},{"line_number":277,"context_line":"                                  self._private_key_file)"}],"source_content_type":"text/x-python","patch_set":1,"id":"2bf75c7e_88263d50","line":274,"updated":"2025-02-25 19:04:56.000000000","message":"Please provide a comment why you assign ca_certificate_file to _session.verify. I know it is as per the doc, but its good to have a line mentioning that.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"659d0e6d0dcbab14331eef9afda66b682d8a6154","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            self._session.cert \u003d (self._certificate_file,"},{"line_number":272,"context_line":"                                  self._private_key_file)"},{"line_number":273,"context_line":"            if self._certificate_host_validation:"},{"line_number":274,"context_line":"                self._session.verify \u003d self._ca_certificate_file"},{"line_number":275,"context_line":"        elif self._certificate_file and self._private_key_file:"},{"line_number":276,"context_line":"            self._session.cert \u003d (self._certificate_file,"},{"line_number":277,"context_line":"                                  self._private_key_file)"}],"source_content_type":"text/x-python","patch_set":1,"id":"30b12d3d_02e32ec9","line":274,"in_reply_to":"2bf75c7e_88263d50","updated":"2025-02-26 09:48:42.000000000","message":"Done.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"287eccb2edb72c548255d4788af939e1ea091e18","unresolved":true,"context_lines":[{"line_number":266,"context_line":"            self._session.verify \u003d True"},{"line_number":267,"context_line":"        else:"},{"line_number":268,"context_line":"            self._session.verify \u003d False"},{"line_number":269,"context_line":"        if self._private_key_file and self._certificate_file \\"},{"line_number":270,"context_line":"           and self._ca_certificate_file:"},{"line_number":271,"context_line":"            self._session.cert \u003d (self._certificate_file,"},{"line_number":272,"context_line":"                                  self._private_key_file)"},{"line_number":273,"context_line":"            if self._certificate_host_validation:"},{"line_number":274,"context_line":"                self._session.verify \u003d self._ca_certificate_file"},{"line_number":275,"context_line":"        elif self._certificate_file and self._private_key_file:"},{"line_number":276,"context_line":"            self._session.cert \u003d (self._certificate_file,"},{"line_number":277,"context_line":"                                  self._private_key_file)"},{"line_number":278,"context_line":"        return self._session.cert, self._session.verify"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    def __str__(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"dec6453f_00f2e98d","line":277,"range":{"start_line":269,"start_character":8,"end_line":277,"end_character":57},"updated":"2025-02-26 04:55:54.000000000","message":"Optimize this code as suggested by Saravanan in rest_api.py file.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"659d0e6d0dcbab14331eef9afda66b682d8a6154","unresolved":false,"context_lines":[{"line_number":266,"context_line":"            self._session.verify \u003d True"},{"line_number":267,"context_line":"        else:"},{"line_number":268,"context_line":"            self._session.verify \u003d False"},{"line_number":269,"context_line":"        if self._private_key_file and self._certificate_file \\"},{"line_number":270,"context_line":"           and self._ca_certificate_file:"},{"line_number":271,"context_line":"            self._session.cert \u003d (self._certificate_file,"},{"line_number":272,"context_line":"                                  self._private_key_file)"},{"line_number":273,"context_line":"            if self._certificate_host_validation:"},{"line_number":274,"context_line":"                self._session.verify \u003d self._ca_certificate_file"},{"line_number":275,"context_line":"        elif self._certificate_file and self._private_key_file:"},{"line_number":276,"context_line":"            self._session.cert \u003d (self._certificate_file,"},{"line_number":277,"context_line":"                                  self._private_key_file)"},{"line_number":278,"context_line":"        return self._session.cert, self._session.verify"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    def __str__(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"90e3dbf0_7decad63","line":277,"range":{"start_line":269,"start_character":8,"end_line":277,"end_character":57},"in_reply_to":"dec6453f_00f2e98d","updated":"2025-02-26 09:48:42.000000000","message":"Optimized as Saravanan suggested.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36178,"name":"Saravanan Manickam","display_name":"msaravan","email":"manicsaran@gmail.com","username":"msaravan"},"change_message_id":"bdeebe7d4b8e2c9a3a06f172e23ab0ed8e4a0a00","unresolved":true,"context_lines":[{"line_number":483,"context_line":"                 password\u003dNone, port\u003dNone, trace\u003dFalse,"},{"line_number":484,"context_line":"                 api_trace_pattern\u003dutils.API_TRACE_PATTERN,"},{"line_number":485,"context_line":"                 private_key_file\u003dNone, certificate_file\u003dNone,"},{"line_number":486,"context_line":"                 ca_certificate_file\u003dNone, certificate_host_validation\u003dNone):"},{"line_number":487,"context_line":"        super(RestClient, self).__init__("},{"line_number":488,"context_line":"            host, transport_type\u003dtransport_type, style\u003dstyle,"},{"line_number":489,"context_line":"            ssl_cert_path\u003dssl_cert_path, username\u003dusername, password\u003dpassword,"}],"source_content_type":"text/x-python","patch_set":1,"id":"b9dc6a86_c645ee70","line":486,"updated":"2025-02-25 19:04:56.000000000","message":"certificate_host_validation can be set to False by default","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"659d0e6d0dcbab14331eef9afda66b682d8a6154","unresolved":false,"context_lines":[{"line_number":483,"context_line":"                 password\u003dNone, port\u003dNone, trace\u003dFalse,"},{"line_number":484,"context_line":"                 api_trace_pattern\u003dutils.API_TRACE_PATTERN,"},{"line_number":485,"context_line":"                 private_key_file\u003dNone, certificate_file\u003dNone,"},{"line_number":486,"context_line":"                 ca_certificate_file\u003dNone, certificate_host_validation\u003dNone):"},{"line_number":487,"context_line":"        super(RestClient, self).__init__("},{"line_number":488,"context_line":"            host, transport_type\u003dtransport_type, style\u003dstyle,"},{"line_number":489,"context_line":"            ssl_cert_path\u003dssl_cert_path, username\u003dusername, password\u003dpassword,"}],"source_content_type":"text/x-python","patch_set":1,"id":"d9981967_5064b092","line":486,"in_reply_to":"b9dc6a86_c645ee70","updated":"2025-02-26 09:48:42.000000000","message":"Done.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b8268d8f48860ba0b6111da03552e42bf41e499","unresolved":true,"context_lines":[{"line_number":243,"context_line":"        self._session.mount(\u0027%s://\u0027 % self._protocol, adapter)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        if self._auth_style \u003d\u003d STYLE_CERTIFICATE:"},{"line_number":246,"context_line":"            self._session.cert, self._session.verify \\"},{"line_number":247,"context_line":"                \u003d self._create_certificate_auth_handler()"},{"line_number":248,"context_line":"        else:"},{"line_number":249,"context_line":"            self._session.auth \u003d self._create_basic_auth_handler()"},{"line_number":250,"context_line":"            self._session.verify \u003d self._ssl_verify"}],"source_content_type":"text/x-python","patch_set":2,"id":"73301ef8_e131569c","line":247,"range":{"start_line":246,"start_character":12,"end_line":247,"end_character":57},"updated":"2025-02-26 19:33:09.000000000","message":"nit:\n```suggestion\n            self._session.cert, self._session.verify \u003d (\n                self._create_certificate_auth_handler())\n```","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"d345bfba4e311f1722755967f41d32b306a03cfc","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        self._session.mount(\u0027%s://\u0027 % self._protocol, adapter)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        if self._auth_style \u003d\u003d STYLE_CERTIFICATE:"},{"line_number":246,"context_line":"            self._session.cert, self._session.verify \\"},{"line_number":247,"context_line":"                \u003d self._create_certificate_auth_handler()"},{"line_number":248,"context_line":"        else:"},{"line_number":249,"context_line":"            self._session.auth \u003d self._create_basic_auth_handler()"},{"line_number":250,"context_line":"            self._session.verify \u003d self._ssl_verify"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ab9fd28_0a4df739","line":247,"range":{"start_line":246,"start_character":12,"end_line":247,"end_character":57},"in_reply_to":"73301ef8_e131569c","updated":"2025-02-27 07:09:18.000000000","message":"Done.","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"}],"manila/share/drivers/netapp/dataontap/client/rest_api.py":[{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"287eccb2edb72c548255d4788af939e1ea091e18","unresolved":true,"context_lines":[{"line_number":76,"context_line":"                 trace\u003dFalse, api_trace_pattern\u003dutils.API_TRACE_PATTERN,"},{"line_number":77,"context_line":"                 private_key_file\u003dNone, certificate_file\u003dNone,"},{"line_number":78,"context_line":"                 ca_certificate_file\u003dNone, certificate_host_validation\u003dNone):"},{"line_number":79,"context_line":"        self._host \u003d host"},{"line_number":80,"context_line":"        if private_key_file and certificate_file:"},{"line_number":81,"context_line":"            transport_type \u003d RestNaServer.TRANSPORT_TYPE_HTTPS"},{"line_number":82,"context_line":"            port \u003d RestNaServer.HTTPS_PORT"},{"line_number":83,"context_line":"        self.set_transport_type(transport_type)"},{"line_number":84,"context_line":"        self.set_port(port\u003dport)"},{"line_number":85,"context_line":"        self._username \u003d username"}],"source_content_type":"text/x-python","patch_set":1,"id":"44f8ed54_d7031278","line":82,"range":{"start_line":79,"start_character":8,"end_line":82,"end_character":42},"updated":"2025-02-26 04:55:54.000000000","message":"same comment is applicable which is given to api.py file","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"659d0e6d0dcbab14331eef9afda66b682d8a6154","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                 trace\u003dFalse, api_trace_pattern\u003dutils.API_TRACE_PATTERN,"},{"line_number":77,"context_line":"                 private_key_file\u003dNone, certificate_file\u003dNone,"},{"line_number":78,"context_line":"                 ca_certificate_file\u003dNone, certificate_host_validation\u003dNone):"},{"line_number":79,"context_line":"        self._host \u003d host"},{"line_number":80,"context_line":"        if private_key_file and certificate_file:"},{"line_number":81,"context_line":"            transport_type \u003d RestNaServer.TRANSPORT_TYPE_HTTPS"},{"line_number":82,"context_line":"            port \u003d RestNaServer.HTTPS_PORT"},{"line_number":83,"context_line":"        self.set_transport_type(transport_type)"},{"line_number":84,"context_line":"        self.set_port(port\u003dport)"},{"line_number":85,"context_line":"        self._username \u003d username"}],"source_content_type":"text/x-python","patch_set":1,"id":"a54ba005_0b7b91b1","line":82,"range":{"start_line":79,"start_character":8,"end_line":82,"end_character":42},"in_reply_to":"44f8ed54_d7031278","updated":"2025-02-26 09:48:42.000000000","message":"As discussed within the team, removed port code and we accept what user passes by default. If user doesn\u0027t pass anything, the port is decided based on transport_type with existing code.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"287eccb2edb72c548255d4788af939e1ea091e18","unresolved":true,"context_lines":[{"line_number":217,"context_line":"        adapter \u003d HTTPAdapter(max_retries\u003dmax_retries)"},{"line_number":218,"context_line":"        self._session.mount(\u0027%s://\u0027 % self._protocol, adapter)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        if self._private_key_file and self._certificate_file:"},{"line_number":221,"context_line":"            self._session.cert, self._session.verify\\"},{"line_number":222,"context_line":"                \u003d self._create_certificate_auth_handler()"},{"line_number":223,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"04fd587a_0b57095f","line":220,"range":{"start_line":220,"start_character":8,"end_line":220,"end_character":61},"updated":"2025-02-26 04:55:54.000000000","message":"According to me this condition should be based on \"style\". if style is STYLE_CERTIFICATE use normal auth, else if style is STYLE_CERTIFICATE use certification based auth.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"659d0e6d0dcbab14331eef9afda66b682d8a6154","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        adapter \u003d HTTPAdapter(max_retries\u003dmax_retries)"},{"line_number":218,"context_line":"        self._session.mount(\u0027%s://\u0027 % self._protocol, adapter)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        if self._private_key_file and self._certificate_file:"},{"line_number":221,"context_line":"            self._session.cert, self._session.verify\\"},{"line_number":222,"context_line":"                \u003d self._create_certificate_auth_handler()"},{"line_number":223,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"e649ff6a_0776cc80","line":220,"range":{"start_line":220,"start_character":8,"end_line":220,"end_character":61},"in_reply_to":"04fd587a_0b57095f","updated":"2025-02-26 09:48:42.000000000","message":"This will be remained as is, as discussed within the team.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36178,"name":"Saravanan Manickam","display_name":"msaravan","email":"manicsaran@gmail.com","username":"msaravan"},"change_message_id":"bdeebe7d4b8e2c9a3a06f172e23ab0ed8e4a0a00","unresolved":true,"context_lines":[{"line_number":241,"context_line":"        \"\"\"Creates and returns a basic HTTP auth handler.\"\"\""},{"line_number":242,"context_line":"        return auth.HTTPBasicAuth(self._username, self._password)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def _create_certificate_auth_handler(self):"},{"line_number":245,"context_line":"        \"\"\"Creates and returns a certificate auth handler.\"\"\""},{"line_number":246,"context_line":"        if self._certificate_host_validation:"},{"line_number":247,"context_line":"            self._session.verify \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"9709f68a_34f8886b","line":244,"updated":"2025-02-25 19:04:56.000000000","message":"This can be simplified (applicable above too):\n\nself._session.verify \u003d self._certificate_host_validation\n\nif self._certificate_file and self._private_key_file:\n        self._session.cert \u003d (self._certificate_file, self._private_key_file)\n        if self._certificate_host_validation and self._ca_certificate_file:\n            self._session.verify \u003d self._ca_certificate_file\n    return self._session.cert, self._session.verify","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"287eccb2edb72c548255d4788af939e1ea091e18","unresolved":true,"context_lines":[{"line_number":241,"context_line":"        \"\"\"Creates and returns a basic HTTP auth handler.\"\"\""},{"line_number":242,"context_line":"        return auth.HTTPBasicAuth(self._username, self._password)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def _create_certificate_auth_handler(self):"},{"line_number":245,"context_line":"        \"\"\"Creates and returns a certificate auth handler.\"\"\""},{"line_number":246,"context_line":"        if self._certificate_host_validation:"},{"line_number":247,"context_line":"            self._session.verify \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"b4c94d24_a65ac8fa","line":244,"in_reply_to":"9709f68a_34f8886b","updated":"2025-02-26 04:55:54.000000000","message":"Agree with Saravanan, make sure same change need to done for api.py file for ZAPI.\nMake sure second if condition should be under first if condition.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"659d0e6d0dcbab14331eef9afda66b682d8a6154","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        \"\"\"Creates and returns a basic HTTP auth handler.\"\"\""},{"line_number":242,"context_line":"        return auth.HTTPBasicAuth(self._username, self._password)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def _create_certificate_auth_handler(self):"},{"line_number":245,"context_line":"        \"\"\"Creates and returns a certificate auth handler.\"\"\""},{"line_number":246,"context_line":"        if self._certificate_host_validation:"},{"line_number":247,"context_line":"            self._session.verify \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f778064_0be89782","line":244,"in_reply_to":"b4c94d24_a65ac8fa","updated":"2025-02-26 09:48:42.000000000","message":"Optimized as suggested.","commit_id":"95ea81f86be6aa240e3a615f1939a709143bef17"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b8268d8f48860ba0b6111da03552e42bf41e499","unresolved":true,"context_lines":[{"line_number":217,"context_line":"        self._session.mount(\u0027%s://\u0027 % self._protocol, adapter)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        if self._private_key_file and self._certificate_file:"},{"line_number":220,"context_line":"            self._session.cert, self._session.verify\\"},{"line_number":221,"context_line":"                \u003d self._create_certificate_auth_handler()"},{"line_number":222,"context_line":"        else:"},{"line_number":223,"context_line":"            self._session.auth \u003d self._create_basic_auth_handler()"},{"line_number":224,"context_line":"            self._session.verify \u003d self._ssl_verify"}],"source_content_type":"text/x-python","patch_set":2,"id":"92066ccf_d9e1ea2e","line":221,"range":{"start_line":220,"start_character":12,"end_line":221,"end_character":57},"updated":"2025-02-26 19:33:09.000000000","message":"```suggestion\n            self._session.cert, self._session.verify \u003d (\n                self._create_certificate_auth_handler())\n```","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"d345bfba4e311f1722755967f41d32b306a03cfc","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        self._session.mount(\u0027%s://\u0027 % self._protocol, adapter)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        if self._private_key_file and self._certificate_file:"},{"line_number":220,"context_line":"            self._session.cert, self._session.verify\\"},{"line_number":221,"context_line":"                \u003d self._create_certificate_auth_handler()"},{"line_number":222,"context_line":"        else:"},{"line_number":223,"context_line":"            self._session.auth \u003d self._create_basic_auth_handler()"},{"line_number":224,"context_line":"            self._session.verify \u003d self._ssl_verify"}],"source_content_type":"text/x-python","patch_set":2,"id":"de38e2d5_1e55c814","line":221,"range":{"start_line":220,"start_character":12,"end_line":221,"end_character":57},"in_reply_to":"92066ccf_d9e1ea2e","updated":"2025-02-27 07:09:18.000000000","message":"Done.","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"}],"manila/share/drivers/netapp/options.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7e0b600cc32c9ebc1de0fdbcad6fec4a5f4484dd","unresolved":true,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"netapp_certificateauth_opts \u003d ["},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027netapp_private_key_file\u0027,"},{"line_number":76,"context_line":"               help\u003d(\u0027Example: private_key.key,\u0027"},{"line_number":77,"context_line":"                     \u0027 For self signed certificate: This file contains the\u0027"},{"line_number":78,"context_line":"                     \u0027 private key associated with the self-signed\u0027"},{"line_number":79,"context_line":"                     \u0027 certificate. It is a sensitive file that should be\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"d83f2b70_23b156e3","line":76,"range":{"start_line":76,"start_character":31,"end_line":76,"end_character":46},"updated":"2025-02-28 22:11:43.000000000","message":"/path/to/private_key.key\n\nperhaps?","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"05ce5347d254b51d44c8c7aa7f993c3a1691be59","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"netapp_certificateauth_opts \u003d ["},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027netapp_private_key_file\u0027,"},{"line_number":76,"context_line":"               help\u003d(\u0027Example: private_key.key,\u0027"},{"line_number":77,"context_line":"                     \u0027 For self signed certificate: This file contains the\u0027"},{"line_number":78,"context_line":"                     \u0027 private key associated with the self-signed\u0027"},{"line_number":79,"context_line":"                     \u0027 certificate. It is a sensitive file that should be\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"03f97ff2_3ca7ac2a","line":76,"range":{"start_line":76,"start_character":31,"end_line":76,"end_character":46},"in_reply_to":"d83f2b70_23b156e3","updated":"2025-03-04 12:10:30.000000000","message":"Updated.","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7e0b600cc32c9ebc1de0fdbcad6fec4a5f4484dd","unresolved":true,"context_lines":[{"line_number":86,"context_line":"                     \u0027 and should be kept secure and protected. The private\u0027"},{"line_number":87,"context_line":"                     \u0027 key is used to sign the CSR and later used to\u0027"},{"line_number":88,"context_line":"                     \u0027 establish secure connections and authenticate the\u0027"},{"line_number":89,"context_line":"                     \u0027 entity. Example: private_key.key, \u0027"},{"line_number":90,"context_line":"                     \u0027 please provide absolute path.\u0027),"},{"line_number":91,"context_line":"               secret\u003dTrue),"},{"line_number":92,"context_line":"    cfg.StrOpt(\u0027netapp_certificate_file\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"e734892a_ffd1b2aa","line":89,"range":{"start_line":89,"start_character":31,"end_line":89,"end_character":55},"updated":"2025-02-28 22:11:43.000000000","message":"This is there on line 76","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"05ce5347d254b51d44c8c7aa7f993c3a1691be59","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                     \u0027 and should be kept secure and protected. The private\u0027"},{"line_number":87,"context_line":"                     \u0027 key is used to sign the CSR and later used to\u0027"},{"line_number":88,"context_line":"                     \u0027 establish secure connections and authenticate the\u0027"},{"line_number":89,"context_line":"                     \u0027 entity. Example: private_key.key, \u0027"},{"line_number":90,"context_line":"                     \u0027 please provide absolute path.\u0027),"},{"line_number":91,"context_line":"               secret\u003dTrue),"},{"line_number":92,"context_line":"    cfg.StrOpt(\u0027netapp_certificate_file\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"d0d53ca5_8e4442ef","line":89,"range":{"start_line":89,"start_character":31,"end_line":89,"end_character":55},"in_reply_to":"e734892a_ffd1b2aa","updated":"2025-03-04 12:10:30.000000000","message":"Removed.","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7e0b600cc32c9ebc1de0fdbcad6fec4a5f4484dd","unresolved":true,"context_lines":[{"line_number":90,"context_line":"                     \u0027 please provide absolute path.\u0027),"},{"line_number":91,"context_line":"               secret\u003dTrue),"},{"line_number":92,"context_line":"    cfg.StrOpt(\u0027netapp_certificate_file\u0027,"},{"line_number":93,"context_line":"               help\u003d(\u0027Example: certificate.pem or certificate.crt,\u0027"},{"line_number":94,"context_line":"                     \u0027 This file contains the self-signed digital certificate\u0027"},{"line_number":95,"context_line":"                     \u0027 itself. It includes information about the entity\u0027"},{"line_number":96,"context_line":"                     \u0027 identity, such as the common name (e.g., domain name),\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"0545e0a2_d0a42c3b","line":93,"range":{"start_line":93,"start_character":31,"end_line":93,"end_character":65},"updated":"2025-02-28 22:11:43.000000000","message":"same as above:\n\n/path/to/certificate.pem or /path/to/certificate.crt","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"05ce5347d254b51d44c8c7aa7f993c3a1691be59","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                     \u0027 please provide absolute path.\u0027),"},{"line_number":91,"context_line":"               secret\u003dTrue),"},{"line_number":92,"context_line":"    cfg.StrOpt(\u0027netapp_certificate_file\u0027,"},{"line_number":93,"context_line":"               help\u003d(\u0027Example: certificate.pem or certificate.crt,\u0027"},{"line_number":94,"context_line":"                     \u0027 This file contains the self-signed digital certificate\u0027"},{"line_number":95,"context_line":"                     \u0027 itself. It includes information about the entity\u0027"},{"line_number":96,"context_line":"                     \u0027 identity, such as the common name (e.g., domain name),\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"619a78aa_64bdcb0a","line":93,"range":{"start_line":93,"start_character":31,"end_line":93,"end_character":65},"in_reply_to":"0545e0a2_d0a42c3b","updated":"2025-03-04 12:10:30.000000000","message":"Updated.","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7e0b600cc32c9ebc1de0fdbcad6fec4a5f4484dd","unresolved":true,"context_lines":[{"line_number":109,"context_line":"               secret\u003dTrue),"},{"line_number":110,"context_line":"    cfg.StrOpt(\u0027netapp_ca_certificate_file\u0027,"},{"line_number":111,"context_line":"               help\u003d(\u0027This is applicable only for ca verified certificate.\u0027"},{"line_number":112,"context_line":"                     \u0027Example: ca_certificate.crt, This file contains\u0027"},{"line_number":113,"context_line":"                     \u0027 the public key certificate of the trusted third-party\u0027"},{"line_number":114,"context_line":"                     \u0027 certificate authority (CA) that issued the\u0027"},{"line_number":115,"context_line":"                     \u0027 certificate. It is used by clients or systems to\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"13133bec_eba227cc","line":112,"range":{"start_line":112,"start_character":31,"end_line":112,"end_character":45},"updated":"2025-02-28 22:11:43.000000000","message":"/path/to/ca_certificate.crt","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"05ce5347d254b51d44c8c7aa7f993c3a1691be59","unresolved":false,"context_lines":[{"line_number":109,"context_line":"               secret\u003dTrue),"},{"line_number":110,"context_line":"    cfg.StrOpt(\u0027netapp_ca_certificate_file\u0027,"},{"line_number":111,"context_line":"               help\u003d(\u0027This is applicable only for ca verified certificate.\u0027"},{"line_number":112,"context_line":"                     \u0027Example: ca_certificate.crt, This file contains\u0027"},{"line_number":113,"context_line":"                     \u0027 the public key certificate of the trusted third-party\u0027"},{"line_number":114,"context_line":"                     \u0027 certificate authority (CA) that issued the\u0027"},{"line_number":115,"context_line":"                     \u0027 certificate. It is used by clients or systems to\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a46980b_f76bef51","line":112,"range":{"start_line":112,"start_character":31,"end_line":112,"end_character":45},"in_reply_to":"13133bec_eba227cc","updated":"2025-03-04 12:10:30.000000000","message":"Updated.","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7e0b600cc32c9ebc1de0fdbcad6fec4a5f4484dd","unresolved":true,"context_lines":[{"line_number":121,"context_line":"                     \u0027 please provide absolute path.\u0027),"},{"line_number":122,"context_line":"               secret\u003dTrue),"},{"line_number":123,"context_line":"    cfg.BoolOpt(\u0027netapp_certificate_host_validation\u0027,"},{"line_number":124,"context_line":"                default\u003dFalse,"},{"line_number":125,"context_line":"                help\u003d(\u0027By default certificate verification is disabled and \u0027"},{"line_number":126,"context_line":"                      \u0027to verify please assign True to this option\u0027)), ]"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"netapp_provisioning_opts \u003d ["},{"line_number":129,"context_line":"    cfg.ListOpt(\u0027netapp_enabled_share_protocols\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"22d4d03c_bdd61a85","line":126,"range":{"start_line":124,"start_character":16,"end_line":126,"end_character":70},"updated":"2025-02-28 22:11:43.000000000","message":"this is bad security practice. Why can\u0027t the default be secure?","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1024f3aae5fe1d8a1592c621e828c61f4ac08bbc","unresolved":true,"context_lines":[{"line_number":121,"context_line":"                     \u0027 please provide absolute path.\u0027),"},{"line_number":122,"context_line":"               secret\u003dTrue),"},{"line_number":123,"context_line":"    cfg.BoolOpt(\u0027netapp_certificate_host_validation\u0027,"},{"line_number":124,"context_line":"                default\u003dFalse,"},{"line_number":125,"context_line":"                help\u003d(\u0027By default certificate verification is disabled and \u0027"},{"line_number":126,"context_line":"                      \u0027to verify please assign True to this option\u0027)), ]"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"netapp_provisioning_opts \u003d ["},{"line_number":129,"context_line":"    cfg.ListOpt(\u0027netapp_enabled_share_protocols\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"eb3ec70b_2e50b141","line":126,"range":{"start_line":124,"start_character":16,"end_line":126,"end_character":70},"in_reply_to":"22d4d03c_bdd61a85","updated":"2025-02-28 23:37:00.000000000","message":"https://bugs.launchpad.net/manila/+bug/2100644","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"05ce5347d254b51d44c8c7aa7f993c3a1691be59","unresolved":true,"context_lines":[{"line_number":121,"context_line":"                     \u0027 please provide absolute path.\u0027),"},{"line_number":122,"context_line":"               secret\u003dTrue),"},{"line_number":123,"context_line":"    cfg.BoolOpt(\u0027netapp_certificate_host_validation\u0027,"},{"line_number":124,"context_line":"                default\u003dFalse,"},{"line_number":125,"context_line":"                help\u003d(\u0027By default certificate verification is disabled and \u0027"},{"line_number":126,"context_line":"                      \u0027to verify please assign True to this option\u0027)), ]"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"netapp_provisioning_opts \u003d ["},{"line_number":129,"context_line":"    cfg.ListOpt(\u0027netapp_enabled_share_protocols\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1766a451_ce82275e","line":126,"range":{"start_line":124,"start_character":16,"end_line":126,"end_character":70},"in_reply_to":"eb3ec70b_2e50b141","updated":"2025-03-04 12:10:30.000000000","message":"Thank you Goutham for the suggestion. @manicsaran@gmail.com Will approach you on this. We can discuss this once and finalize what to do.","commit_id":"1991444b483e6debc99f153d606b4026ecf10511"}],"releasenotes/notes/feature-certificate-based-authentication-for-netapp-drivers-e5163559d2335643.yaml":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b8268d8f48860ba0b6111da03552e42bf41e499","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":"    Currently, NetApp drivers relies on basic authentication via user access,"},{"line_number":5,"context_line":"    whih involves the use of username and password to talk to storage system"},{"line_number":6,"context_line":"    for creation of manila objects. List new features here, or remove this"},{"line_number":7,"context_line":"    section. To enhance the security of our system, we implemented"},{"line_number":8,"context_line":"    Certificate-Based-Authentication(CBA) for storage system communication."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"0bd41556_aa931b16","line":6,"range":{"start_line":4,"start_character":3,"end_line":6,"end_character":35},"updated":"2025-02-26 19:33:09.000000000","message":"I\u0027d recommend just bringing up the new feature instead of also highlighting the behavior that used to happen. I\u0027d go for something like:\n```suggestion\n    The NetApp ONTAP driver now supports Certificate-Based-Authentication (CBA)\n    for operators that desire certificate based authentication instead of user\n    and password. Please check the NetApp Deployment and Operations Guide for\n    more instructions.\n```\nI\u0027d also recommend to please update the documentation either adding a mention to https://docs.openstack.org/manila/latest/admin/netapp_cluster_mode_driver.html and/or update the NetApp DOG","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"d345bfba4e311f1722755967f41d32b306a03cfc","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":"    Currently, NetApp drivers relies on basic authentication via user access,"},{"line_number":5,"context_line":"    whih involves the use of username and password to talk to storage system"},{"line_number":6,"context_line":"    for creation of manila objects. List new features here, or remove this"},{"line_number":7,"context_line":"    section. To enhance the security of our system, we implemented"},{"line_number":8,"context_line":"    Certificate-Based-Authentication(CBA) for storage system communication."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"49a6bff4_cc8a846c","line":6,"range":{"start_line":4,"start_character":3,"end_line":6,"end_character":35},"in_reply_to":"0bd41556_aa931b16","updated":"2025-02-27 07:09:18.000000000","message":"Updated the release notes and will update the doc as well.","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c1c37d4627a751efd14a62ba2f925c3c1537d0a","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":"    Currently, NetApp drivers relies on basic authentication via user access,"},{"line_number":5,"context_line":"    whih involves the use of username and password to talk to storage system"},{"line_number":6,"context_line":"    for creation of manila objects. List new features here, or remove this"},{"line_number":7,"context_line":"    section. To enhance the security of our system, we implemented"},{"line_number":8,"context_line":"    Certificate-Based-Authentication(CBA) for storage system communication."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"e98f2a4f_52144db3","line":6,"range":{"start_line":4,"start_character":3,"end_line":6,"end_character":35},"in_reply_to":"49a6bff4_cc8a846c","updated":"2025-02-27 14:11:50.000000000","message":"Done","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2b8268d8f48860ba0b6111da03552e42bf41e499","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Currently, NetApp drivers relies on basic authentication via user access,"},{"line_number":5,"context_line":"    whih involves the use of username and password to talk to storage system"},{"line_number":6,"context_line":"    for creation of manila objects. List new features here, or remove this"},{"line_number":7,"context_line":"    section. To enhance the security of our system, we implemented"},{"line_number":8,"context_line":"    Certificate-Based-Authentication(CBA) for storage system communication."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"2a2f14d2_82ab67d9","line":8,"range":{"start_line":6,"start_character":36,"end_line":8,"end_character":75},"updated":"2025-02-26 19:33:09.000000000","message":"please remove this","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"d345bfba4e311f1722755967f41d32b306a03cfc","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Currently, NetApp drivers relies on basic authentication via user access,"},{"line_number":5,"context_line":"    whih involves the use of username and password to talk to storage system"},{"line_number":6,"context_line":"    for creation of manila objects. List new features here, or remove this"},{"line_number":7,"context_line":"    section. To enhance the security of our system, we implemented"},{"line_number":8,"context_line":"    Certificate-Based-Authentication(CBA) for storage system communication."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7cc355a0_290fd620","line":8,"range":{"start_line":6,"start_character":36,"end_line":8,"end_character":75},"in_reply_to":"2a2f14d2_82ab67d9","updated":"2025-02-27 07:09:18.000000000","message":"Removed.","commit_id":"e0511f02b4ef3c68d8ea331ace16fc8ac81c7cd0"}]}
