)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Kiran Pawar \u003ckinpaa@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-04-10 16:43:29 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Recreate security cert during vserver create."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The certificate is automatically created on NetApp with 1 year i.e. 365"},{"line_number":10,"context_line":"days of expiration time, and admin needs to manually extend it. It would"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9961157d_798a0448","line":7,"updated":"2023-04-24 13:52:44.000000000","message":"nit: In general, we add a \"tag\" before the description in patches related to NetApp driver. It could be:\n\n`[NetApp] Recreate security cert during vserver create.`","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Kiran Pawar \u003ckinpaa@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-04-10 16:43:29 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Recreate security cert during vserver create."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The certificate is automatically created on NetApp with 1 year i.e. 365"},{"line_number":10,"context_line":"days of expiration time, and admin needs to manually extend it. It would"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"6a9aca8c_55559cc7","line":7,"in_reply_to":"9961157d_798a0448","updated":"2023-04-25 10:17:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c0e176b3_261b1b00","updated":"2023-04-24 13:52:44.000000000","message":"Hi, Kiran, thank you for proposing this patch. I added some comments, please take a look at them and let me know if you have any question.","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"be7e58e83d792e8cfdc5dbf3070b70f6faa9324e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3f8827ab_855c8aa9","updated":"2023-04-17 17:19:41.000000000","message":"run-NetApp CI","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"6301634b80b836ff83f7e76039374cf4c9bed7c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e98ad698_01f311c7","updated":"2023-04-25 11:20:33.000000000","message":"Thanks for the updates, Kiran. I replied your questions inline.","commit_id":"4bb5d06a1fd03c188c7da7a168ca65e503a4ed8f"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"89baba32_00e4531b","updated":"2023-04-25 10:17:25.000000000","message":"recheck","commit_id":"4bb5d06a1fd03c188c7da7a168ca65e503a4ed8f"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"799f365201e88b1180ebbd51bd6451d24119bca8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f4a3daba_61de6be3","updated":"2023-05-03 11:58:22.000000000","message":"run-NetApp CI","commit_id":"f83700a0b4f96d9e54758c78537d5247fe1df685"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"694f8d9751b9b265226d4801a17e29bd932706f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5ed1ddef_58b5c263","updated":"2023-05-26 10:27:16.000000000","message":"@Felipe,\nCan you please review the change ?","commit_id":"26a38914a844250ea92741084dd6f07f1d72694b"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"f9c1615026b4695999054edf0df6fdb9c3789202","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7621c4fa_1bfe81ce","updated":"2023-07-19 19:45:29.000000000","message":"Hi, I triggered NetApp CI again because I think it would be good the CI passing. However, since the last failures were not related to the patch (but due to CI instability) and the code looks good to me I\u0027m already voting +1.","commit_id":"f87ab5fd107a80959df79d2198b6ff92501795c3"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"991ca7d6d834d3451be6060fc575fbd82a198d54","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"57448ea3_fb88e6a4","updated":"2023-07-19 19:41:07.000000000","message":"run-NetApp CI","commit_id":"f87ab5fd107a80959df79d2198b6ff92501795c3"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"22fc696bd0ae31886f17c5e37a730923eef48f54","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"521528be_075fc952","updated":"2023-07-28 21:01:40.000000000","message":"LGTM + have netappers feedback. It would be important to have some NetApp CI output though...\nThanks for the changem Kiran","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5301a5b8_5526646d","updated":"2023-07-28 22:33:59.000000000","message":"Thanks for these changes; please take a look at some comments inline","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2c2c9f221c0b1e8d8fdaf19161ac490ab953a9de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"36ff5943_a1ba13ed","updated":"2023-07-31 23:16:34.000000000","message":"Thanks for the changes; still got another instance of debug logging for an error..","commit_id":"1a62421d9c2b7f0fb95439ad5a74687ac00e67ea"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"47c8aaa5532125e031bbcb37bd9881d973c3e13f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"e1089af8_679b0ae8","updated":"2023-09-13 00:35:40.000000000","message":"Hi Kiran / Felipe:\n\nIs this fix appropriate for stable/2023.1 (and earlier stable branches?). If yes, could you please cherry pick it? Thanks!","commit_id":"0553eb78bea25bff078d50bd42e7391b03b138e5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"d7a6865c9fb2f914dd964a0d6f697ce055d44d3f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"c2ac6f2d_3dc12e93","updated":"2023-08-28 11:34:25.000000000","message":"LGTM, thank you Kiran!","commit_id":"0553eb78bea25bff078d50bd42e7391b03b138e5"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"2daba548a2df0ef7a2b682b738d030b9288b1e62","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"4e1ce147_3876480c","updated":"2023-08-24 18:39:58.000000000","message":"NetApp CI ZAPI jobs are falling due to a known test \"soft_delete\" issue and REST jobs are presenting timeouts, both errors are known and are not related to the patch.\n\nOver all the patch LGTM.","commit_id":"0553eb78bea25bff078d50bd42e7391b03b138e5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0c8846558ba223456c311bbbe880cd7ccdb0fd39","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"c6535fec_c85dfdfc","updated":"2023-08-01 17:31:43.000000000","message":"Thank you, LGTM","commit_id":"0553eb78bea25bff078d50bd42e7391b03b138e5"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"7167e00b78cb0a66461a4197b8ae9f7a2e762a93","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"0e31bda3_998a5f5b","updated":"2023-08-24 15:02:13.000000000","message":"run-NetApp CI","commit_id":"0553eb78bea25bff078d50bd42e7391b03b138e5"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"19fed79f0f01eeb93301b5e182f66ed242b9d9bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"938d907d_65242f22","updated":"2023-08-22 12:23:26.000000000","message":"run-NetApp CI","commit_id":"0553eb78bea25bff078d50bd42e7391b03b138e5"}],"manila/share/drivers/netapp/dataontap/client/client_cmode.py":[{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":236,"context_line":"    def _modify_security_cert(self, vserver_name, security_cert_expire_days):"},{"line_number":237,"context_line":"        \"\"\"Create new security certificate with given expire days.\"\"\""},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        if security_cert_expire_days \u003d\u003d 365:"},{"line_number":240,"context_line":"            return"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        api_args \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"d85392d6_277407dc","line":239,"updated":"2023-04-24 13:52:44.000000000","message":"I think it would be nice to add a comment here, explaining the reason of this condition and of this fixed number of days.","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[{"line_number":236,"context_line":"    def _modify_security_cert(self, vserver_name, security_cert_expire_days):"},{"line_number":237,"context_line":"        \"\"\"Create new security certificate with given expire days.\"\"\""},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        if security_cert_expire_days \u003d\u003d 365:"},{"line_number":240,"context_line":"            return"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        api_args \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f194ac2_32872a27","line":239,"in_reply_to":"d85392d6_277407dc","updated":"2023-04-25 10:17:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":254,"context_line":"                },"},{"line_number":255,"context_line":"            },"},{"line_number":256,"context_line":"        }"},{"line_number":257,"context_line":"        result \u003d self.send_iter_request(\u0027security-certificate-get-iter\u0027,"},{"line_number":258,"context_line":"                                        api_args)"},{"line_number":259,"context_line":"        try:"},{"line_number":260,"context_line":"            old_serial_number \u003d result.get_child_by_name("}],"source_content_type":"text/x-python","patch_set":2,"id":"b1ade54d_d268ccd5","line":257,"updated":"2023-04-24 13:52:44.000000000","message":"Sorry if I\u0027m wrong, but rather than making two requests (a get and a delete) couldn\u0027t you just call delete directly here?","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"6301634b80b836ff83f7e76039374cf4c9bed7c5","unresolved":true,"context_lines":[{"line_number":254,"context_line":"                },"},{"line_number":255,"context_line":"            },"},{"line_number":256,"context_line":"        }"},{"line_number":257,"context_line":"        result \u003d self.send_iter_request(\u0027security-certificate-get-iter\u0027,"},{"line_number":258,"context_line":"                                        api_args)"},{"line_number":259,"context_line":"        try:"},{"line_number":260,"context_line":"            old_serial_number \u003d result.get_child_by_name("}],"source_content_type":"text/x-python","patch_set":2,"id":"48e59081_6becd4b4","line":257,"in_reply_to":"19dd1477_007befb5","updated":"2023-04-25 11:20:33.000000000","message":"Ok, I didn\u0027t know serial-number was required because the doc doesn\u0027t say anything, but it makes sense.\n\nAnother point, have you considered making a loop to go through the list of results in the case more than one certificate is returned in the query?","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8a61955e4bad3e77fa2894af3328a17a4c235930","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                },"},{"line_number":255,"context_line":"            },"},{"line_number":256,"context_line":"        }"},{"line_number":257,"context_line":"        result \u003d self.send_iter_request(\u0027security-certificate-get-iter\u0027,"},{"line_number":258,"context_line":"                                        api_args)"},{"line_number":259,"context_line":"        try:"},{"line_number":260,"context_line":"            old_serial_number \u003d result.get_child_by_name("}],"source_content_type":"text/x-python","patch_set":2,"id":"996a32dc_5563f15c","line":257,"in_reply_to":"48e59081_6becd4b4","updated":"2023-04-25 17:26:25.000000000","message":"It is being found that only one security certificate created for each vserver during vserver creation. But since you think, there might be case of more than one certificate, I have added loop.","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":true,"context_lines":[{"line_number":254,"context_line":"                },"},{"line_number":255,"context_line":"            },"},{"line_number":256,"context_line":"        }"},{"line_number":257,"context_line":"        result \u003d self.send_iter_request(\u0027security-certificate-get-iter\u0027,"},{"line_number":258,"context_line":"                                        api_args)"},{"line_number":259,"context_line":"        try:"},{"line_number":260,"context_line":"            old_serial_number \u003d result.get_child_by_name("}],"source_content_type":"text/x-python","patch_set":2,"id":"19dd1477_007befb5","line":257,"in_reply_to":"b1ade54d_d268ccd5","updated":"2023-04-25 10:17:25.000000000","message":"delete require serial number and hence it must be retrieved beforehand.","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"4d3c7d72938fae3d984b6183f84f97a035c73187","unresolved":true,"context_lines":[{"line_number":289,"context_line":"                \u0027vserver\u0027: vserver_name,"},{"line_number":290,"context_line":"            }"},{"line_number":291,"context_line":"            try:"},{"line_number":292,"context_line":"                self.send_request(\u0027security-certificate-delete\u0027, delete_args)"},{"line_number":293,"context_line":"            except netapp_api.NaApiError as e:"},{"line_number":294,"context_line":"                LOG.debug(\u0027Failed to delete security certificate with serial \u0027"},{"line_number":295,"context_line":"                          \u0027number %s: %s - %s\u0027, serial_num, e.code, e.message)"}],"source_content_type":"text/x-python","patch_set":4,"id":"e16274f1_d0ffd947","line":292,"updated":"2023-05-05 12:07:10.000000000","message":"Hi Kiran, duplicating my downstream comment for transparency: I suggest to switch the order of execution to:\n\nFirst `security-ssl-modify` to apply the new cert.\nThen `security-certificate-delete` to delete the old cert.\n\nOtherwise there is a short period, where no cert is assigned, which may be troublesome later when we want to re-use this method for existing (not new) vservers.","commit_id":"f83700a0b4f96d9e54758c78537d5247fe1df685"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3fbf80ffa7534d3080e2ff6c0d38366d967c2f4c","unresolved":false,"context_lines":[{"line_number":289,"context_line":"                \u0027vserver\u0027: vserver_name,"},{"line_number":290,"context_line":"            }"},{"line_number":291,"context_line":"            try:"},{"line_number":292,"context_line":"                self.send_request(\u0027security-certificate-delete\u0027, delete_args)"},{"line_number":293,"context_line":"            except netapp_api.NaApiError as e:"},{"line_number":294,"context_line":"                LOG.debug(\u0027Failed to delete security certificate with serial \u0027"},{"line_number":295,"context_line":"                          \u0027number %s: %s - %s\u0027, serial_num, e.code, e.message)"}],"source_content_type":"text/x-python","patch_set":4,"id":"f341302d_acb472bb","line":292,"in_reply_to":"e16274f1_d0ffd947","updated":"2023-05-18 13:17:27.000000000","message":"Done","commit_id":"f83700a0b4f96d9e54758c78537d5247fe1df685"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":true,"context_lines":[{"line_number":262,"context_line":"            old_certificate_info_list \u003d result.get_child_by_name("},{"line_number":263,"context_line":"                \u0027attributes-list\u0027)"},{"line_number":264,"context_line":"        except AttributeError:"},{"line_number":265,"context_line":"            LOG.debug(\u0027Could not retrieve certificate-info for vserver \u0027"},{"line_number":266,"context_line":"                      \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":267,"context_line":"            return"},{"line_number":268,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"e9155d46_c82b4c00","line":265,"range":{"start_line":265,"start_character":12,"end_line":265,"end_character":21},"updated":"2023-07-28 22:33:59.000000000","message":"see comments in the ONTAP ZAPI code regarding these debug logs on line 265, 283 and 309","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","unresolved":false,"context_lines":[{"line_number":262,"context_line":"            old_certificate_info_list \u003d result.get_child_by_name("},{"line_number":263,"context_line":"                \u0027attributes-list\u0027)"},{"line_number":264,"context_line":"        except AttributeError:"},{"line_number":265,"context_line":"            LOG.debug(\u0027Could not retrieve certificate-info for vserver \u0027"},{"line_number":266,"context_line":"                      \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":267,"context_line":"            return"},{"line_number":268,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1f62a4fa_a91a1797","line":265,"range":{"start_line":265,"start_character":12,"end_line":265,"end_character":21},"in_reply_to":"e9155d46_c82b4c00","updated":"2023-07-31 10:15:18.000000000","message":"Done","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":true,"context_lines":[{"line_number":341,"context_line":"            try:"},{"line_number":342,"context_line":"                self.send_request(\u0027security-certificate-delete\u0027, delete_args)"},{"line_number":343,"context_line":"            except netapp_api.NaApiError as e:"},{"line_number":344,"context_line":"                LOG.debug(\u0027Failed to delete security certificate with serial \u0027"},{"line_number":345,"context_line":"                          \u0027number %s: %s - %s\u0027, serial_num, e.code, e.message)"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":8,"id":"fbaa3417_d5011911","line":344,"range":{"start_line":344,"start_character":20,"end_line":344,"end_character":25},"updated":"2023-07-28 22:33:59.000000000","message":"\"warning\" or \"error\"","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","unresolved":false,"context_lines":[{"line_number":341,"context_line":"            try:"},{"line_number":342,"context_line":"                self.send_request(\u0027security-certificate-delete\u0027, delete_args)"},{"line_number":343,"context_line":"            except netapp_api.NaApiError as e:"},{"line_number":344,"context_line":"                LOG.debug(\u0027Failed to delete security certificate with serial \u0027"},{"line_number":345,"context_line":"                          \u0027number %s: %s - %s\u0027, serial_num, e.code, e.message)"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":8,"id":"d7c45171_771c55f6","line":344,"range":{"start_line":344,"start_character":20,"end_line":344,"end_character":25},"in_reply_to":"fbaa3417_d5011911","updated":"2023-07-31 10:15:18.000000000","message":"Done","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2c2c9f221c0b1e8d8fdaf19161ac490ab953a9de","unresolved":true,"context_lines":[{"line_number":338,"context_line":"                \u0027type\u0027: \u0027server\u0027,"},{"line_number":339,"context_line":"                \u0027vserver\u0027: vserver_name,"},{"line_number":340,"context_line":"            }"},{"line_number":341,"context_line":"            try:"},{"line_number":342,"context_line":"                self.send_request(\u0027security-certificate-delete\u0027, delete_args)"},{"line_number":343,"context_line":"            except netapp_api.NaApiError as e:"},{"line_number":344,"context_line":"                LOG.warning(\u0027Failed to delete security certificate with \u0027"},{"line_number":345,"context_line":"                            \u0027serial number %s: %s - %s\u0027, serial_num, e.code,"},{"line_number":346,"context_line":"                            e.message)"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"    @na_utils.trace"},{"line_number":349,"context_line":"    def get_vserver_info(self, vserver_name):"}],"source_content_type":"text/x-python","patch_set":10,"id":"2400b1c7_df7972c8","line":346,"range":{"start_line":341,"start_character":0,"end_line":346,"end_character":38},"updated":"2023-07-31 23:16:34.000000000","message":"Here you ignore all API errors","commit_id":"1a62421d9c2b7f0fb95439ad5a74687ac00e67ea"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"daa8e6b341fbec6173632c4909eb3e69e4d1fc89","unresolved":false,"context_lines":[{"line_number":338,"context_line":"                \u0027type\u0027: \u0027server\u0027,"},{"line_number":339,"context_line":"                \u0027vserver\u0027: vserver_name,"},{"line_number":340,"context_line":"            }"},{"line_number":341,"context_line":"            try:"},{"line_number":342,"context_line":"                self.send_request(\u0027security-certificate-delete\u0027, delete_args)"},{"line_number":343,"context_line":"            except netapp_api.NaApiError as e:"},{"line_number":344,"context_line":"                LOG.warning(\u0027Failed to delete security certificate with \u0027"},{"line_number":345,"context_line":"                            \u0027serial number %s: %s - %s\u0027, serial_num, e.code,"},{"line_number":346,"context_line":"                            e.message)"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"    @na_utils.trace"},{"line_number":349,"context_line":"    def get_vserver_info(self, vserver_name):"}],"source_content_type":"text/x-python","patch_set":10,"id":"74a0547c_b9326a1d","line":346,"range":{"start_line":341,"start_character":0,"end_line":346,"end_character":38},"in_reply_to":"2400b1c7_df7972c8","updated":"2023-08-01 08:05:02.000000000","message":"to be safe, we first create new sec certificate and bind it with SSL. So there after even if delete of old sec certificates fail, we should be ok with ignore.","commit_id":"1a62421d9c2b7f0fb95439ad5a74687ac00e67ea"}],"manila/share/drivers/netapp/dataontap/client/client_cmode_rest.py":[{"author":{"_account_id":33756,"name":"Luisa","email":"luisarfamaral@gmail.com","username":"rfluisa"},"change_message_id":"9c38d0745ac0f2dd8828a06be7a3ad87e73d49b8","unresolved":true,"context_lines":[{"line_number":4091,"context_line":"    @na_utils.trace"},{"line_number":4092,"context_line":"    def create_vserver(self, vserver_name, root_volume_aggregate_name,"},{"line_number":4093,"context_line":"                       root_volume_name, aggregate_names, ipspace_name,"},{"line_number":4094,"context_line":"                       security_certificate_expire_days):"},{"line_number":4095,"context_line":"        \"\"\"Creates new vserver and assigns aggregates.\"\"\""},{"line_number":4096,"context_line":""},{"line_number":4097,"context_line":"        # NOTE(nahimsouza): root_volume_aggregate_name and root_volume_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"19f9423b_6c932d36","line":4094,"updated":"2023-03-17 15:31:32.000000000","message":"Hi, Kiran! Thanks for the change proposal.\n\nEverything looks good to me except the missing REST code. Since we\u0027ve already migrated, it\u0027s not ideal to launch a new feature and not have it covered in the new format. \n\nI checked the documentation and there\u0027s an endpoint ready to be used for these Security Certificate ZAPI operations. You can check it at https://library.netapp.com/ecmdocs/ECMLP2884990/html/index.html below Category: SECURITY-CERTIFICATE.\n\nPlease, implement the function using the REST API and add the unit tests.\n\nIn order for you to test using REST, you can set the variable netapp_use_legacy_client to False in your Manila stanza in the manila.conf file.","commit_id":"4f383238f9857c2546d4a2b64a4a1213f2b5f4db"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f9b7f50bd771c5741f6dd5923602e4f73eea9e92","unresolved":true,"context_lines":[{"line_number":4091,"context_line":"    @na_utils.trace"},{"line_number":4092,"context_line":"    def create_vserver(self, vserver_name, root_volume_aggregate_name,"},{"line_number":4093,"context_line":"                       root_volume_name, aggregate_names, ipspace_name,"},{"line_number":4094,"context_line":"                       security_certificate_expire_days):"},{"line_number":4095,"context_line":"        \"\"\"Creates new vserver and assigns aggregates.\"\"\""},{"line_number":4096,"context_line":""},{"line_number":4097,"context_line":"        # NOTE(nahimsouza): root_volume_aggregate_name and root_volume_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"2865d0ec_965133c1","line":4094,"in_reply_to":"0be3c3e4_acd30e39","updated":"2023-04-21 13:56:44.000000000","message":"can you please check updated PR (for REST API handling) ?","commit_id":"4f383238f9857c2546d4a2b64a4a1213f2b5f4db"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a34f0ba6a7747845b4dbcd83257e762b9e0c2437","unresolved":true,"context_lines":[{"line_number":4091,"context_line":"    @na_utils.trace"},{"line_number":4092,"context_line":"    def create_vserver(self, vserver_name, root_volume_aggregate_name,"},{"line_number":4093,"context_line":"                       root_volume_name, aggregate_names, ipspace_name,"},{"line_number":4094,"context_line":"                       security_certificate_expire_days):"},{"line_number":4095,"context_line":"        \"\"\"Creates new vserver and assigns aggregates.\"\"\""},{"line_number":4096,"context_line":""},{"line_number":4097,"context_line":"        # NOTE(nahimsouza): root_volume_aggregate_name and root_volume_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"2e389817_4a527664","line":4094,"in_reply_to":"19f9423b_6c932d36","updated":"2023-03-20 08:24:40.000000000","message":"Where will I get information regarding response of REST APIs ?","commit_id":"4f383238f9857c2546d4a2b64a4a1213f2b5f4db"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3fbf80ffa7534d3080e2ff6c0d38366d967c2f4c","unresolved":false,"context_lines":[{"line_number":4091,"context_line":"    @na_utils.trace"},{"line_number":4092,"context_line":"    def create_vserver(self, vserver_name, root_volume_aggregate_name,"},{"line_number":4093,"context_line":"                       root_volume_name, aggregate_names, ipspace_name,"},{"line_number":4094,"context_line":"                       security_certificate_expire_days):"},{"line_number":4095,"context_line":"        \"\"\"Creates new vserver and assigns aggregates.\"\"\""},{"line_number":4096,"context_line":""},{"line_number":4097,"context_line":"        # NOTE(nahimsouza): root_volume_aggregate_name and root_volume_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"97a95855_50865d1f","line":4094,"in_reply_to":"2865d0ec_965133c1","updated":"2023-05-18 13:17:27.000000000","message":"Done","commit_id":"4f383238f9857c2546d4a2b64a4a1213f2b5f4db"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"d09f4f0233f175e9be478f876232004f74016213","unresolved":true,"context_lines":[{"line_number":4091,"context_line":"    @na_utils.trace"},{"line_number":4092,"context_line":"    def create_vserver(self, vserver_name, root_volume_aggregate_name,"},{"line_number":4093,"context_line":"                       root_volume_name, aggregate_names, ipspace_name,"},{"line_number":4094,"context_line":"                       security_certificate_expire_days):"},{"line_number":4095,"context_line":"        \"\"\"Creates new vserver and assigns aggregates.\"\"\""},{"line_number":4096,"context_line":""},{"line_number":4097,"context_line":"        # NOTE(nahimsouza): root_volume_aggregate_name and root_volume_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"8e41ce55_88aba672","line":4094,"in_reply_to":"2e389817_4a527664","updated":"2023-03-30 16:35:23.000000000","message":"I think this could be useful: https://library.netapp.com/ecmdocs/ECMLP2856304/html/index.html\nThe version of this is 9.6, but it should be available for other ONTAP versions too.","commit_id":"4f383238f9857c2546d4a2b64a4a1213f2b5f4db"},{"author":{"_account_id":33756,"name":"Luisa","email":"luisarfamaral@gmail.com","username":"rfluisa"},"change_message_id":"64d3d2a8b0bf406e5771328dae6a7e364795dcc8","unresolved":true,"context_lines":[{"line_number":4091,"context_line":"    @na_utils.trace"},{"line_number":4092,"context_line":"    def create_vserver(self, vserver_name, root_volume_aggregate_name,"},{"line_number":4093,"context_line":"                       root_volume_name, aggregate_names, ipspace_name,"},{"line_number":4094,"context_line":"                       security_certificate_expire_days):"},{"line_number":4095,"context_line":"        \"\"\"Creates new vserver and assigns aggregates.\"\"\""},{"line_number":4096,"context_line":""},{"line_number":4097,"context_line":"        # NOTE(nahimsouza): root_volume_aggregate_name and root_volume_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"0be3c3e4_acd30e39","line":4094,"in_reply_to":"8e41ce55_88aba672","updated":"2023-03-30 20:19:25.000000000","message":"In this link you can find the 9.11 version https://library.netapp.com/ecmdocs/ECMLP2882307/html/index.html","commit_id":"4f383238f9857c2546d4a2b64a4a1213f2b5f4db"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":4137,"context_line":"    def _modify_security_cert(self, vserver_name, security_cert_expire_days):"},{"line_number":4138,"context_line":"        \"\"\"Create new security certificate with given expire days.\"\"\""},{"line_number":4139,"context_line":""},{"line_number":4140,"context_line":"        if security_cert_expire_days \u003d\u003d 365:"},{"line_number":4141,"context_line":"            return"},{"line_number":4142,"context_line":""},{"line_number":4143,"context_line":"        body \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"75f99de5_90a93758","line":4140,"updated":"2023-04-24 13:52:44.000000000","message":"Same here, please add a note","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[{"line_number":4137,"context_line":"    def _modify_security_cert(self, vserver_name, security_cert_expire_days):"},{"line_number":4138,"context_line":"        \"\"\"Create new security certificate with given expire days.\"\"\""},{"line_number":4139,"context_line":""},{"line_number":4140,"context_line":"        if security_cert_expire_days \u003d\u003d 365:"},{"line_number":4141,"context_line":"            return"},{"line_number":4142,"context_line":""},{"line_number":4143,"context_line":"        body \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"a113df4b_c12c205f","line":4140,"in_reply_to":"75f99de5_90a93758","updated":"2023-04-25 10:17:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":4146,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":4147,"context_line":"            \u0027svm.name\u0027: vserver_name,"},{"line_number":4148,"context_line":"        }"},{"line_number":4149,"context_line":"        result \u003d self.send_request(\u0027/security/certificates\u0027, \u0027get\u0027, body\u003dbody)"},{"line_number":4150,"context_line":"        certificate_info_list \u003d result.get(\u0027records\u0027, [])"},{"line_number":4151,"context_line":"        old_serial_number \u003d None"},{"line_number":4152,"context_line":"        old_cert_uuid \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ad986c7_3d605079","line":4149,"range":{"start_line":4149,"start_character":68,"end_line":4149,"end_character":77},"updated":"2023-04-24 13:52:44.000000000","message":"Since you are doing a GET you should pass your dictionary in the `query` parameter, not in the `body`.","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[{"line_number":4146,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":4147,"context_line":"            \u0027svm.name\u0027: vserver_name,"},{"line_number":4148,"context_line":"        }"},{"line_number":4149,"context_line":"        result \u003d self.send_request(\u0027/security/certificates\u0027, \u0027get\u0027, body\u003dbody)"},{"line_number":4150,"context_line":"        certificate_info_list \u003d result.get(\u0027records\u0027, [])"},{"line_number":4151,"context_line":"        old_serial_number \u003d None"},{"line_number":4152,"context_line":"        old_cert_uuid \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"d858db69_1f86d97b","line":4149,"range":{"start_line":4149,"start_character":68,"end_line":4149,"end_character":77},"in_reply_to":"5ad986c7_3d605079","updated":"2023-04-25 10:17:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":4154,"context_line":"            old_serial_number \u003d certificate_info.get(\u0027serial_number\u0027, None)"},{"line_number":4155,"context_line":"            old_cert_uuid \u003d certificate_info.get(\u0027uuid\u0027, None)"},{"line_number":4156,"context_line":"            break"},{"line_number":4157,"context_line":"        if not old_serial_number or not old_cert_uuid:"},{"line_number":4158,"context_line":"            LOG.debug(\u0027Could not retrieve certificate-info for vserver \u0027"},{"line_number":4159,"context_line":"                      \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":4160,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":2,"id":"8d33b399_753e4b7a","line":4157,"updated":"2023-04-24 13:52:44.000000000","message":"You could put this verification in line `4151`. Something like:\n\n```\nif not certificate_info_list:\n  LOG.debug(...)\n  return\n\n```","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[{"line_number":4154,"context_line":"            old_serial_number \u003d certificate_info.get(\u0027serial_number\u0027, None)"},{"line_number":4155,"context_line":"            old_cert_uuid \u003d certificate_info.get(\u0027uuid\u0027, None)"},{"line_number":4156,"context_line":"            break"},{"line_number":4157,"context_line":"        if not old_serial_number or not old_cert_uuid:"},{"line_number":4158,"context_line":"            LOG.debug(\u0027Could not retrieve certificate-info for vserver \u0027"},{"line_number":4159,"context_line":"                      \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":4160,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":2,"id":"1e52602a_768c64b6","line":4157,"in_reply_to":"8d33b399_753e4b7a","updated":"2023-04-25 10:17:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":4172,"context_line":"                      \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":4173,"context_line":"            return"},{"line_number":4174,"context_line":""},{"line_number":4175,"context_line":"        uuid \u003d old_cert_uuid"},{"line_number":4176,"context_line":"        try:"},{"line_number":4177,"context_line":"            self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4178,"context_line":"        except netapp_api.api.NaApiError as e:"},{"line_number":4179,"context_line":"            if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4180,"context_line":"                raise"},{"line_number":4181,"context_line":""},{"line_number":4182,"context_line":"    @na_utils.trace"},{"line_number":4183,"context_line":"    def list_node_data_ports(self, node):"}],"source_content_type":"text/x-python","patch_set":2,"id":"38f3cbe5_ab004986","line":4180,"range":{"start_line":4175,"start_character":0,"end_line":4180,"end_character":21},"updated":"2023-04-24 13:52:44.000000000","message":"I\u0027m not sure if in a real scenario there can be more than one certificate, but if this happens you are deleting only the first one. What do you think about to make this deletion inside your `for` loop?\n\n\nSuggestion:\n```\nfor certificate_info in certificate_info_list:\n  old_cert_uuid \u003d certificate_info.get(\u0027uuid\u0027, None)\n  try:\n    self.send_request(f\u0027/security/certificates/{old_cert_uuid}\u0027, \u0027delete\u0027)\n  except netapp_api.api.NaApiError as e:\n    if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:\n      raise\n```","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[{"line_number":4172,"context_line":"                      \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":4173,"context_line":"            return"},{"line_number":4174,"context_line":""},{"line_number":4175,"context_line":"        uuid \u003d old_cert_uuid"},{"line_number":4176,"context_line":"        try:"},{"line_number":4177,"context_line":"            self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4178,"context_line":"        except netapp_api.api.NaApiError as e:"},{"line_number":4179,"context_line":"            if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4180,"context_line":"                raise"},{"line_number":4181,"context_line":""},{"line_number":4182,"context_line":"    @na_utils.trace"},{"line_number":4183,"context_line":"    def list_node_data_ports(self, node):"}],"source_content_type":"text/x-python","patch_set":2,"id":"217799bd_c3115744","line":4180,"range":{"start_line":4175,"start_character":0,"end_line":4180,"end_character":21},"in_reply_to":"38f3cbe5_ab004986","updated":"2023-04-25 10:17:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"6301634b80b836ff83f7e76039374cf4c9bed7c5","unresolved":true,"context_lines":[{"line_number":4174,"context_line":"            return"},{"line_number":4175,"context_line":""},{"line_number":4176,"context_line":"        for certificate_info in get_certificate_info_list:"},{"line_number":4177,"context_line":"            svm \u003d certificate_info.get(\u0027svm\u0027, None)"},{"line_number":4178,"context_line":"            uuid \u003d svm.get(\u0027uuid\u0027, None)"},{"line_number":4179,"context_line":"            try:"},{"line_number":4180,"context_line":"                self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4181,"context_line":"            except netapp_api.api.NaApiError as e:"},{"line_number":4182,"context_line":"                if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4183,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":3,"id":"0fa54a6c_ca5f200e","line":4180,"range":{"start_line":4177,"start_character":12,"end_line":4180,"end_character":77},"updated":"2023-04-25 11:20:33.000000000","message":"There is one more thing I noticed here, in this request you need to pass the certificate uuid, but you are passing the SVM uuid.\n\nTo get the certificate uuid you could use: `uuid \u003d certificate_info[\u0027uuid\u0027]`\n\nIf you need more info please refer to: https://library.netapp.com/ecmdocs/ECMLP2884821/html/index.html#/security/security_certificate_collection_get","commit_id":"4bb5d06a1fd03c188c7da7a168ca65e503a4ed8f"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8a61955e4bad3e77fa2894af3328a17a4c235930","unresolved":false,"context_lines":[{"line_number":4174,"context_line":"            return"},{"line_number":4175,"context_line":""},{"line_number":4176,"context_line":"        for certificate_info in get_certificate_info_list:"},{"line_number":4177,"context_line":"            svm \u003d certificate_info.get(\u0027svm\u0027, None)"},{"line_number":4178,"context_line":"            uuid \u003d svm.get(\u0027uuid\u0027, None)"},{"line_number":4179,"context_line":"            try:"},{"line_number":4180,"context_line":"                self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4181,"context_line":"            except netapp_api.api.NaApiError as e:"},{"line_number":4182,"context_line":"                if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4183,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfe54ec0_82418e55","line":4180,"range":{"start_line":4177,"start_character":12,"end_line":4180,"end_character":77},"in_reply_to":"0fa54a6c_ca5f200e","updated":"2023-04-25 17:26:25.000000000","message":"Done","commit_id":"4bb5d06a1fd03c188c7da7a168ca65e503a4ed8f"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"4d3c7d72938fae3d984b6183f84f97a035c73187","unresolved":true,"context_lines":[{"line_number":4176,"context_line":"        for certificate_info in old_certificate_info_list:"},{"line_number":4177,"context_line":"            uuid \u003d certificate_info.get(\u0027uuid\u0027, None)"},{"line_number":4178,"context_line":"            try:"},{"line_number":4179,"context_line":"                self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4180,"context_line":"            except netapp_api.api.NaApiError as e:"},{"line_number":4181,"context_line":"                if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4182,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":4,"id":"85bc6805_1c07af7d","line":4179,"updated":"2023-05-05 12:07:10.000000000","message":"same like ZAPI, please consider switching the oder of execution:\n\napply new cert and only afterwards delete the old cert","commit_id":"f83700a0b4f96d9e54758c78537d5247fe1df685"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3fbf80ffa7534d3080e2ff6c0d38366d967c2f4c","unresolved":false,"context_lines":[{"line_number":4176,"context_line":"        for certificate_info in old_certificate_info_list:"},{"line_number":4177,"context_line":"            uuid \u003d certificate_info.get(\u0027uuid\u0027, None)"},{"line_number":4178,"context_line":"            try:"},{"line_number":4179,"context_line":"                self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4180,"context_line":"            except netapp_api.api.NaApiError as e:"},{"line_number":4181,"context_line":"                if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4182,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":4,"id":"dcb2837b_ec555bc4","line":4179,"in_reply_to":"85bc6805_1c07af7d","updated":"2023-05-18 13:17:27.000000000","message":"Done","commit_id":"f83700a0b4f96d9e54758c78537d5247fe1df685"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":true,"context_lines":[{"line_number":4139,"context_line":""},{"line_number":4140,"context_line":"        # Do not modify security certificate if specified expire days are"},{"line_number":4141,"context_line":"        # equal to default security certificate expire days i.e. 365."},{"line_number":4142,"context_line":"        if security_cert_expire_days \u003d\u003d 365:"},{"line_number":4143,"context_line":"            return"},{"line_number":4144,"context_line":""},{"line_number":4145,"context_line":"        query \u003d {"}],"source_content_type":"text/x-python","patch_set":8,"id":"882c332b_645738dd","line":4142,"range":{"start_line":4142,"start_character":40,"end_line":4142,"end_character":43},"updated":"2023-07-28 22:33:59.000000000","message":"please define this as a constant, proabably at the beginning of this file: https://review.opendev.org/c/openstack/manila/+/877615/8/manila/share/drivers/netapp/dataontap/client/client_cmode_rest.py#45","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","unresolved":false,"context_lines":[{"line_number":4139,"context_line":""},{"line_number":4140,"context_line":"        # Do not modify security certificate if specified expire days are"},{"line_number":4141,"context_line":"        # equal to default security certificate expire days i.e. 365."},{"line_number":4142,"context_line":"        if security_cert_expire_days \u003d\u003d 365:"},{"line_number":4143,"context_line":"            return"},{"line_number":4144,"context_line":""},{"line_number":4145,"context_line":"        query \u003d {"}],"source_content_type":"text/x-python","patch_set":8,"id":"076ff1ff_d17338b8","line":4142,"range":{"start_line":4142,"start_character":40,"end_line":4142,"end_character":43},"in_reply_to":"882c332b_645738dd","updated":"2023-07-31 10:15:18.000000000","message":"Done","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":true,"context_lines":[{"line_number":4152,"context_line":"                                   \u0027get\u0027, query\u003dquery)"},{"line_number":4153,"context_line":"        old_certificate_info_list \u003d result.get(\u0027records\u0027, [])"},{"line_number":4154,"context_line":"        if not old_certificate_info_list:"},{"line_number":4155,"context_line":"            LOG.debug(\u0027Could not retrieve certificate-info for vserver \u0027"},{"line_number":4156,"context_line":"                      \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":4157,"context_line":"            return"},{"line_number":4158,"context_line":""},{"line_number":4159,"context_line":"        body \u003d {"}],"source_content_type":"text/x-python","patch_set":8,"id":"66b7e79f_ae0186c0","line":4156,"range":{"start_line":4155,"start_character":12,"end_line":4156,"end_character":62},"updated":"2023-07-28 22:33:59.000000000","message":"shouldn\u0027t this be a LOG.warning? the config opt isn\u0027t being honored in this case. So you should mention that too.. \n\n```\n LOG.warning(\"Unable to retrieve certificate-info for vserver\"\n             \"%(server)s\u0027. Cannot set the certificate expiry to\"\n             \"%s(config)s.\" % {\u0027server\u0027: vserver_name, \n             \u0027config\u0027: security_cert_expire_days})\n \n```","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","unresolved":false,"context_lines":[{"line_number":4152,"context_line":"                                   \u0027get\u0027, query\u003dquery)"},{"line_number":4153,"context_line":"        old_certificate_info_list \u003d result.get(\u0027records\u0027, [])"},{"line_number":4154,"context_line":"        if not old_certificate_info_list:"},{"line_number":4155,"context_line":"            LOG.debug(\u0027Could not retrieve certificate-info for vserver \u0027"},{"line_number":4156,"context_line":"                      \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":4157,"context_line":"            return"},{"line_number":4158,"context_line":""},{"line_number":4159,"context_line":"        body \u003d {"}],"source_content_type":"text/x-python","patch_set":8,"id":"4613b5f7_b24d7a66","line":4156,"range":{"start_line":4155,"start_character":12,"end_line":4156,"end_character":62},"in_reply_to":"66b7e79f_ae0186c0","updated":"2023-07-31 10:15:18.000000000","message":"Done","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":true,"context_lines":[{"line_number":4160,"context_line":"            \u0027common-name\u0027: vserver_name,"},{"line_number":4161,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":4162,"context_line":"            \u0027svm.name\u0027: vserver_name,"},{"line_number":4163,"context_line":"            \u0027expiry_time\u0027: \u0027P\u0027 + str(security_cert_expire_days) + \u0027DT\u0027,"},{"line_number":4164,"context_line":"        }"},{"line_number":4165,"context_line":"        query \u003d {"},{"line_number":4166,"context_line":"            \u0027return_records\u0027: \u0027true\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"7b15d468_63608582","line":4163,"range":{"start_line":4163,"start_character":27,"end_line":4163,"end_character":71},"updated":"2023-07-28 22:33:59.000000000","message":"nit: while this works, f-strings are more efficient for stuff like this:\n\n```\n f\u0027P{security_cert_expire_days}DT\u0027\n\n\n\n\u003e\u003e\u003e timeit.Timer(\"security_cert_expire_days\u003d20; \u0027P\u0027 + str(security_cert_expire_days) + \u0027DT\u0027\").timeit()\n0.18701652501476929\n\u003e\u003e\u003e timeit.Timer(\"security_cert_expire_days\u003d20; f\u0027P{security_cert_expire_days}DT\u0027\").timeit()\n0.15470606402959675\n\n```\n\nnot insignificant, just a thing to consider when coding things like this","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","unresolved":false,"context_lines":[{"line_number":4160,"context_line":"            \u0027common-name\u0027: vserver_name,"},{"line_number":4161,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":4162,"context_line":"            \u0027svm.name\u0027: vserver_name,"},{"line_number":4163,"context_line":"            \u0027expiry_time\u0027: \u0027P\u0027 + str(security_cert_expire_days) + \u0027DT\u0027,"},{"line_number":4164,"context_line":"        }"},{"line_number":4165,"context_line":"        query \u003d {"},{"line_number":4166,"context_line":"            \u0027return_records\u0027: \u0027true\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f321c01_692d7925","line":4163,"range":{"start_line":4163,"start_character":27,"end_line":4163,"end_character":71},"in_reply_to":"7b15d468_63608582","updated":"2023-07-31 10:15:18.000000000","message":"Done","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":true,"context_lines":[{"line_number":4169,"context_line":"                                   \u0027post\u0027, body\u003dbody, query\u003dquery)"},{"line_number":4170,"context_line":"        new_certificate_info_list \u003d result.get(\u0027records\u0027, [])"},{"line_number":4171,"context_line":"        if not new_certificate_info_list:"},{"line_number":4172,"context_line":"            LOG.debug(\u0027Failed to create new security certificate for vserver \u0027"},{"line_number":4173,"context_line":"                      \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":4174,"context_line":"            return"},{"line_number":4175,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"6a290421_bdb64df0","line":4172,"range":{"start_line":4172,"start_character":16,"end_line":4172,"end_character":21},"updated":"2023-07-28 22:33:59.000000000","message":"debug makes little sense here. \n\nyou should log this as a warning, so that it\u0027s not a surprise to the operator","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","unresolved":false,"context_lines":[{"line_number":4169,"context_line":"                                   \u0027post\u0027, body\u003dbody, query\u003dquery)"},{"line_number":4170,"context_line":"        new_certificate_info_list \u003d result.get(\u0027records\u0027, [])"},{"line_number":4171,"context_line":"        if not new_certificate_info_list:"},{"line_number":4172,"context_line":"            LOG.debug(\u0027Failed to create new security certificate for vserver \u0027"},{"line_number":4173,"context_line":"                      \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":4174,"context_line":"            return"},{"line_number":4175,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7e24696e_d5dc8bf0","line":4172,"range":{"start_line":4172,"start_character":16,"end_line":4172,"end_character":21},"in_reply_to":"6a290421_bdb64df0","updated":"2023-07-31 10:15:18.000000000","message":"Done","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":true,"context_lines":[{"line_number":4190,"context_line":"                self.send_request(f\u0027/svm/svms/{svm_uuid}\u0027, \u0027patch\u0027,"},{"line_number":4191,"context_line":"                                  body\u003dbody)"},{"line_number":4192,"context_line":"            except netapp_api.api.NaApiError:"},{"line_number":4193,"context_line":"                LOG.debug(\u0027Failed to modify SSL for vserver \u0027"},{"line_number":4194,"context_line":"                          \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":4195,"context_line":""},{"line_number":4196,"context_line":"        # Delete all old security certificates"}],"source_content_type":"text/x-python","patch_set":8,"id":"a69b3aac_e0b419a3","line":4193,"range":{"start_line":4193,"start_character":20,"end_line":4193,"end_character":25},"updated":"2023-07-28 22:33:59.000000000","message":"same comment as above.. \n\nlets start with the expectation that configuration needs to be honored by the driver. We\u0027re failing that expectation... but, its a failure we\u0027re willing to log and continue processing instead of hard failing. Sounds like a reason to \"warn\" the operator that you\u0027re doing this.\n\nremember, debug is seldom enabled in a production deployment.","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","unresolved":false,"context_lines":[{"line_number":4190,"context_line":"                self.send_request(f\u0027/svm/svms/{svm_uuid}\u0027, \u0027patch\u0027,"},{"line_number":4191,"context_line":"                                  body\u003dbody)"},{"line_number":4192,"context_line":"            except netapp_api.api.NaApiError:"},{"line_number":4193,"context_line":"                LOG.debug(\u0027Failed to modify SSL for vserver \u0027"},{"line_number":4194,"context_line":"                          \u0027%(server)s.\u0027, {\u0027server\u0027: vserver_name})"},{"line_number":4195,"context_line":""},{"line_number":4196,"context_line":"        # Delete all old security certificates"}],"source_content_type":"text/x-python","patch_set":8,"id":"f4ba2752_6049f6f1","line":4193,"range":{"start_line":4193,"start_character":20,"end_line":4193,"end_character":25},"in_reply_to":"a69b3aac_e0b419a3","updated":"2023-07-31 10:15:18.000000000","message":"Done","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":true,"context_lines":[{"line_number":4199,"context_line":"            try:"},{"line_number":4200,"context_line":"                self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4201,"context_line":"            except netapp_api.api.NaApiError as e:"},{"line_number":4202,"context_line":"                if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4203,"context_line":"                    raise"},{"line_number":4204,"context_line":""},{"line_number":4205,"context_line":"    @na_utils.trace"},{"line_number":4206,"context_line":"    def list_node_data_ports(self, node):"}],"source_content_type":"text/x-python","patch_set":8,"id":"cf5b6fe0_1e6b0463","line":4203,"range":{"start_line":4202,"start_character":13,"end_line":4203,"end_character":25},"updated":"2023-07-28 22:33:59.000000000","message":"in case of REST, we ignore all errors; should you do the same here? log enough info so that an operator can cleanup out-of-band?","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"98eda3f169d94e04d629ed3f442cecc0f03f57f6","unresolved":false,"context_lines":[{"line_number":4199,"context_line":"            try:"},{"line_number":4200,"context_line":"                self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4201,"context_line":"            except netapp_api.api.NaApiError as e:"},{"line_number":4202,"context_line":"                if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4203,"context_line":"                    raise"},{"line_number":4204,"context_line":""},{"line_number":4205,"context_line":"    @na_utils.trace"},{"line_number":4206,"context_line":"    def list_node_data_ports(self, node):"}],"source_content_type":"text/x-python","patch_set":8,"id":"15ec6579_f04b3138","line":4203,"range":{"start_line":4202,"start_character":13,"end_line":4203,"end_character":25},"in_reply_to":"1a4d0d3c_e5b22833","updated":"2023-07-31 15:03:19.000000000","message":"ok, fixed","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c410c27f87cd862bb29b71d6ef2617ff3d678eaf","unresolved":true,"context_lines":[{"line_number":4199,"context_line":"            try:"},{"line_number":4200,"context_line":"                self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4201,"context_line":"            except netapp_api.api.NaApiError as e:"},{"line_number":4202,"context_line":"                if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4203,"context_line":"                    raise"},{"line_number":4204,"context_line":""},{"line_number":4205,"context_line":"    @na_utils.trace"},{"line_number":4206,"context_line":"    def list_node_data_ports(self, node):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4d0d3c_e5b22833","line":4203,"range":{"start_line":4202,"start_character":13,"end_line":4203,"end_character":25},"in_reply_to":"ceb61047_969e0db7","updated":"2023-07-31 14:40:50.000000000","message":"but, you\u0027d be introducing a regression for someone switching from ZAPI to REST. I think the goal from NetApp has been to preserve the behavior 1-1 between the two so this sort of thing doesn\u0027t happen","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","unresolved":true,"context_lines":[{"line_number":4199,"context_line":"            try:"},{"line_number":4200,"context_line":"                self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4201,"context_line":"            except netapp_api.api.NaApiError as e:"},{"line_number":4202,"context_line":"                if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4203,"context_line":"                    raise"},{"line_number":4204,"context_line":""},{"line_number":4205,"context_line":"    @na_utils.trace"},{"line_number":4206,"context_line":"    def list_node_data_ports(self, node):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ceb61047_969e0db7","line":4203,"range":{"start_line":4202,"start_character":13,"end_line":4203,"end_character":25},"in_reply_to":"cf5b6fe0_1e6b0463","updated":"2023-07-31 10:15:18.000000000","message":"There are many REST implementations within file where we raise instead of ignoring errors. I have added log.","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2c2c9f221c0b1e8d8fdaf19161ac490ab953a9de","unresolved":true,"context_lines":[{"line_number":4153,"context_line":"                                   \u0027get\u0027, query\u003dquery)"},{"line_number":4154,"context_line":"        old_certificate_info_list \u003d result.get(\u0027records\u0027, [])"},{"line_number":4155,"context_line":"        if not old_certificate_info_list:"},{"line_number":4156,"context_line":"            LOG.debug(\"Unable to retrieve certificate-info for vserver \""},{"line_number":4157,"context_line":"                      \"%(server)s\u0027. Cannot set the certificate expiry to \""},{"line_number":4158,"context_line":"                      \"%s(config)s. \", {\u0027server\u0027: vserver_name,"},{"line_number":4159,"context_line":"                                        \u0027config\u0027: security_cert_expire_days})"}],"source_content_type":"text/x-python","patch_set":10,"id":"294136c5_68f0f18e","line":4156,"range":{"start_line":4156,"start_character":16,"end_line":4156,"end_character":21},"updated":"2023-07-31 23:16:34.000000000","message":"warning","commit_id":"1a62421d9c2b7f0fb95439ad5a74687ac00e67ea"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"daa8e6b341fbec6173632c4909eb3e69e4d1fc89","unresolved":false,"context_lines":[{"line_number":4153,"context_line":"                                   \u0027get\u0027, query\u003dquery)"},{"line_number":4154,"context_line":"        old_certificate_info_list \u003d result.get(\u0027records\u0027, [])"},{"line_number":4155,"context_line":"        if not old_certificate_info_list:"},{"line_number":4156,"context_line":"            LOG.debug(\"Unable to retrieve certificate-info for vserver \""},{"line_number":4157,"context_line":"                      \"%(server)s\u0027. Cannot set the certificate expiry to \""},{"line_number":4158,"context_line":"                      \"%s(config)s. \", {\u0027server\u0027: vserver_name,"},{"line_number":4159,"context_line":"                                        \u0027config\u0027: security_cert_expire_days})"}],"source_content_type":"text/x-python","patch_set":10,"id":"6a89e09f_448952c4","line":4156,"range":{"start_line":4156,"start_character":16,"end_line":4156,"end_character":21},"in_reply_to":"294136c5_68f0f18e","updated":"2023-08-01 08:05:02.000000000","message":"Done","commit_id":"1a62421d9c2b7f0fb95439ad5a74687ac00e67ea"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2c2c9f221c0b1e8d8fdaf19161ac490ab953a9de","unresolved":true,"context_lines":[{"line_number":4200,"context_line":"        for certificate_info in old_certificate_info_list:"},{"line_number":4201,"context_line":"            uuid \u003d certificate_info.get(\u0027uuid\u0027, None)"},{"line_number":4202,"context_line":"            try:"},{"line_number":4203,"context_line":"                self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4204,"context_line":"            except netapp_api.api.NaApiError as e:"},{"line_number":4205,"context_line":"                if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4206,"context_line":"                    LOG.error(\"Failed to delete SSL for vserver %s. \""},{"line_number":4207,"context_line":"                              \"Entry doesn\u0027t exist.\", vserver_name)"},{"line_number":4208,"context_line":""},{"line_number":4209,"context_line":"    @na_utils.trace"},{"line_number":4210,"context_line":"    def list_node_data_ports(self, node):"}],"source_content_type":"text/x-python","patch_set":10,"id":"5b041677_3da5372f","line":4207,"range":{"start_line":4203,"start_character":77,"end_line":4207,"end_character":67},"updated":"2023-07-31 23:16:34.000000000","message":"here you\u0027re logging only if it\u0027s \"EREST_ENTRY_NOT_FOUND\"...  In the ZAPI implementation (https://review.opendev.org/c/openstack/manila/+/877615/10/manila/share/drivers/netapp/dataontap/client/client_cmode.py), you\u0027re logging if any type of failure occurs. \n\nI\u0027m suggesting you drop line 4205 and align both implementations.","commit_id":"1a62421d9c2b7f0fb95439ad5a74687ac00e67ea"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"daa8e6b341fbec6173632c4909eb3e69e4d1fc89","unresolved":false,"context_lines":[{"line_number":4200,"context_line":"        for certificate_info in old_certificate_info_list:"},{"line_number":4201,"context_line":"            uuid \u003d certificate_info.get(\u0027uuid\u0027, None)"},{"line_number":4202,"context_line":"            try:"},{"line_number":4203,"context_line":"                self.send_request(f\u0027/security/certificates/{uuid}\u0027, \u0027delete\u0027)"},{"line_number":4204,"context_line":"            except netapp_api.api.NaApiError as e:"},{"line_number":4205,"context_line":"                if e.code !\u003d netapp_api.EREST_ENTRY_NOT_FOUND:"},{"line_number":4206,"context_line":"                    LOG.error(\"Failed to delete SSL for vserver %s. \""},{"line_number":4207,"context_line":"                              \"Entry doesn\u0027t exist.\", vserver_name)"},{"line_number":4208,"context_line":""},{"line_number":4209,"context_line":"    @na_utils.trace"},{"line_number":4210,"context_line":"    def list_node_data_ports(self, node):"}],"source_content_type":"text/x-python","patch_set":10,"id":"fe708043_d0407388","line":4207,"range":{"start_line":4203,"start_character":77,"end_line":4207,"end_character":67},"in_reply_to":"5b041677_3da5372f","updated":"2023-08-01 08:05:02.000000000","message":"Done","commit_id":"1a62421d9c2b7f0fb95439ad5a74687ac00e67ea"}],"manila/share/drivers/netapp/options.py":[{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":194,"context_line":"               min\u003d1,"},{"line_number":195,"context_line":"               max\u003d3652,"},{"line_number":196,"context_line":"               default\u003d365,"},{"line_number":197,"context_line":"               help\u003d\u0027Create security certificate while creating vserver with \u0027"},{"line_number":198,"context_line":"                    \u0027specified expire days.\u0027),"},{"line_number":199,"context_line":"]"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"netapp_cluster_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"8c3875b9_2630f471","line":198,"range":{"start_line":197,"start_character":21,"end_line":198,"end_character":42},"updated":"2023-04-24 13:52:44.000000000","message":"I think the message could be clearer here. I thought something like:\n\n`Defines the expiration time (in days) for the certificate \ncreated during the vserver creation.`\n\nWDYT?","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[{"line_number":194,"context_line":"               min\u003d1,"},{"line_number":195,"context_line":"               max\u003d3652,"},{"line_number":196,"context_line":"               default\u003d365,"},{"line_number":197,"context_line":"               help\u003d\u0027Create security certificate while creating vserver with \u0027"},{"line_number":198,"context_line":"                    \u0027specified expire days.\u0027),"},{"line_number":199,"context_line":"]"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"netapp_cluster_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"34c5a1e1_e52786a0","line":198,"range":{"start_line":197,"start_character":21,"end_line":198,"end_character":42},"in_reply_to":"8c3875b9_2630f471","updated":"2023-04-25 10:17:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":true,"context_lines":[{"line_number":195,"context_line":"               max\u003d3652,"},{"line_number":196,"context_line":"               default\u003d365,"},{"line_number":197,"context_line":"               help\u003d\u0027Defines the expiration time (in days) for the \u0027"},{"line_number":198,"context_line":"                    \u0027certificate created during the vserver creation.\u0027),"},{"line_number":199,"context_line":"]"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"netapp_cluster_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"a5d7c388_d1ab6750","line":198,"range":{"start_line":198,"start_character":68,"end_line":198,"end_character":70},"updated":"2023-07-28 22:33:59.000000000","message":"like some others here, \n\n```\n \u0027This option only applies when the option \u0027\n\u0027driver_handles_share_servers is set to True.\u0027\n\n```","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","unresolved":false,"context_lines":[{"line_number":195,"context_line":"               max\u003d3652,"},{"line_number":196,"context_line":"               default\u003d365,"},{"line_number":197,"context_line":"               help\u003d\u0027Defines the expiration time (in days) for the \u0027"},{"line_number":198,"context_line":"                    \u0027certificate created during the vserver creation.\u0027),"},{"line_number":199,"context_line":"]"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"netapp_cluster_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"d2c2f537_6041e5f4","line":198,"range":{"start_line":198,"start_character":68,"end_line":198,"end_character":70},"in_reply_to":"a5d7c388_d1ab6750","updated":"2023-07-31 10:15:18.000000000","message":"Done","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"d7a6865c9fb2f914dd964a0d6f697ce055d44d3f","unresolved":true,"context_lines":[{"line_number":195,"context_line":"               max\u003d3652,"},{"line_number":196,"context_line":"               default\u003d365,"},{"line_number":197,"context_line":"               help\u003d\u0027Defines the expiration time (in days) for the \u0027"},{"line_number":198,"context_line":"                    \u0027certificate created during the vserver creation.  This \u0027"},{"line_number":199,"context_line":"                    \u0027option only applies when the option \u0027"},{"line_number":200,"context_line":"                    \u0027driver_handles_share_servers is set to True.\u0027),"},{"line_number":201,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":11,"id":"06ca562c_0c0d0559","line":198,"range":{"start_line":198,"start_character":69,"end_line":198,"end_character":71},"updated":"2023-08-28 11:34:25.000000000","message":"nit: too many blank spaces","commit_id":"0553eb78bea25bff078d50bd42e7391b03b138e5"}],"manila/tests/share/drivers/netapp/dataontap/client/test_client_cmode.py":[{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":434,"context_line":"            \u0027vserver-name\u0027: fake.VSERVER_NAME"},{"line_number":435,"context_line":"        }"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"        certificate_create_args \u003d {"},{"line_number":438,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":439,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":440,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":441,"context_line":"            \u0027expire-days\u0027: fake.SECURITY_CERT_LARGE_EXPIRE_DAYS,"},{"line_number":442,"context_line":"        }"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"        api_response \u003d netapp_api.NaElement(fake.SECURITY_CERT_GET_RESPONSE)"},{"line_number":445,"context_line":"        self.mock_object(self.client,"},{"line_number":446,"context_line":"                         \u0027send_iter_request\u0027,"},{"line_number":447,"context_line":"                         mock.Mock(return_value\u003dapi_response))"},{"line_number":448,"context_line":"        certificate_get_args \u003d {"},{"line_number":449,"context_line":"            \u0027query\u0027: {"},{"line_number":450,"context_line":"                \u0027certificate-info\u0027: {"},{"line_number":451,"context_line":"                    \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":452,"context_line":"                    \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":453,"context_line":"                    \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":454,"context_line":"                    \u0027type\u0027: \u0027server\u0027,"},{"line_number":455,"context_line":"                },"},{"line_number":456,"context_line":"            },"},{"line_number":457,"context_line":"            \u0027desired-attributes\u0027: {"},{"line_number":458,"context_line":"                \u0027certificate-info\u0027: {"},{"line_number":459,"context_line":"                    \u0027serial-number\u0027: None,"},{"line_number":460,"context_line":"                },"},{"line_number":461,"context_line":"            },"},{"line_number":462,"context_line":"        }"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"        certificate_delete_args \u003d {"},{"line_number":465,"context_line":"            \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":466,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":467,"context_line":"            \u0027serial-number\u0027: \u002712345\u0027,"},{"line_number":468,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":469,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":470,"context_line":"        }"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        ssl_modify_args \u003d {"},{"line_number":473,"context_line":"            \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":474,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":475,"context_line":"            \u0027certificate-serial-number\u0027: \u002712345\u0027,"},{"line_number":476,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":477,"context_line":"            \u0027client-authentication-enabled\u0027: \u0027false\u0027,"},{"line_number":478,"context_line":"            \u0027server-authentication-enabled\u0027: \u0027true\u0027,"},{"line_number":479,"context_line":"        }"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"        self.client.create_vserver(fake.VSERVER_NAME,"},{"line_number":482,"context_line":"                                   fake.ROOT_VOLUME_AGGREGATE_NAME,"}],"source_content_type":"text/x-python","patch_set":2,"id":"d5b7f913_3817060e","line":479,"range":{"start_line":437,"start_character":0,"end_line":479,"end_character":9},"updated":"2023-04-24 13:52:44.000000000","message":"This code should be placed in a new test `test__modify_security_cert` because the purpose of this function is to test only `create_vserver`","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[{"line_number":434,"context_line":"            \u0027vserver-name\u0027: fake.VSERVER_NAME"},{"line_number":435,"context_line":"        }"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"        certificate_create_args \u003d {"},{"line_number":438,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":439,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":440,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":441,"context_line":"            \u0027expire-days\u0027: fake.SECURITY_CERT_LARGE_EXPIRE_DAYS,"},{"line_number":442,"context_line":"        }"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"        api_response \u003d netapp_api.NaElement(fake.SECURITY_CERT_GET_RESPONSE)"},{"line_number":445,"context_line":"        self.mock_object(self.client,"},{"line_number":446,"context_line":"                         \u0027send_iter_request\u0027,"},{"line_number":447,"context_line":"                         mock.Mock(return_value\u003dapi_response))"},{"line_number":448,"context_line":"        certificate_get_args \u003d {"},{"line_number":449,"context_line":"            \u0027query\u0027: {"},{"line_number":450,"context_line":"                \u0027certificate-info\u0027: {"},{"line_number":451,"context_line":"                    \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":452,"context_line":"                    \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":453,"context_line":"                    \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":454,"context_line":"                    \u0027type\u0027: \u0027server\u0027,"},{"line_number":455,"context_line":"                },"},{"line_number":456,"context_line":"            },"},{"line_number":457,"context_line":"            \u0027desired-attributes\u0027: {"},{"line_number":458,"context_line":"                \u0027certificate-info\u0027: {"},{"line_number":459,"context_line":"                    \u0027serial-number\u0027: None,"},{"line_number":460,"context_line":"                },"},{"line_number":461,"context_line":"            },"},{"line_number":462,"context_line":"        }"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"        certificate_delete_args \u003d {"},{"line_number":465,"context_line":"            \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":466,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":467,"context_line":"            \u0027serial-number\u0027: \u002712345\u0027,"},{"line_number":468,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":469,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":470,"context_line":"        }"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        ssl_modify_args \u003d {"},{"line_number":473,"context_line":"            \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":474,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":475,"context_line":"            \u0027certificate-serial-number\u0027: \u002712345\u0027,"},{"line_number":476,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":477,"context_line":"            \u0027client-authentication-enabled\u0027: \u0027false\u0027,"},{"line_number":478,"context_line":"            \u0027server-authentication-enabled\u0027: \u0027true\u0027,"},{"line_number":479,"context_line":"        }"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"        self.client.create_vserver(fake.VSERVER_NAME,"},{"line_number":482,"context_line":"                                   fake.ROOT_VOLUME_AGGREGATE_NAME,"}],"source_content_type":"text/x-python","patch_set":2,"id":"cd5cceb2_d54b8cf7","line":479,"range":{"start_line":437,"start_character":0,"end_line":479,"end_character":9},"in_reply_to":"d5b7f913_3817060e","updated":"2023-04-25 10:17:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":488,"context_line":"        self.client.send_request.assert_has_calls(["},{"line_number":489,"context_line":"            mock.call(\u0027vserver-create\u0027, vserver_create_args),"},{"line_number":490,"context_line":"            mock.call(\u0027vserver-modify\u0027, vserver_modify_args),"},{"line_number":491,"context_line":"            mock.call("},{"line_number":492,"context_line":"                \u0027security-certificate-create\u0027, certificate_create_args),"},{"line_number":493,"context_line":"            mock.call("},{"line_number":494,"context_line":"                \u0027security-certificate-delete\u0027, certificate_delete_args),"},{"line_number":495,"context_line":"            mock.call("},{"line_number":496,"context_line":"                \u0027security-ssl-modify\u0027, ssl_modify_args)])"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"        self.client.send_iter_request.assert_has_calls(["},{"line_number":499,"context_line":"            mock.call(\u0027security-certificate-get-iter\u0027, certificate_get_args)])"}],"source_content_type":"text/x-python","patch_set":2,"id":"a5f8c9e1_09eb4909","line":496,"range":{"start_line":491,"start_character":12,"end_line":496,"end_character":55},"updated":"2023-04-24 13:52:44.000000000","message":"You don\u0027t need this too. You could just mock the call for `_modify_security_cert` as you did on `test_client_cmode_rest`.","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        self.client.send_request.assert_has_calls(["},{"line_number":489,"context_line":"            mock.call(\u0027vserver-create\u0027, vserver_create_args),"},{"line_number":490,"context_line":"            mock.call(\u0027vserver-modify\u0027, vserver_modify_args),"},{"line_number":491,"context_line":"            mock.call("},{"line_number":492,"context_line":"                \u0027security-certificate-create\u0027, certificate_create_args),"},{"line_number":493,"context_line":"            mock.call("},{"line_number":494,"context_line":"                \u0027security-certificate-delete\u0027, certificate_delete_args),"},{"line_number":495,"context_line":"            mock.call("},{"line_number":496,"context_line":"                \u0027security-ssl-modify\u0027, ssl_modify_args)])"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"        self.client.send_iter_request.assert_has_calls(["},{"line_number":499,"context_line":"            mock.call(\u0027security-certificate-get-iter\u0027, certificate_get_args)])"}],"source_content_type":"text/x-python","patch_set":2,"id":"8fa487d0_78c5865b","line":496,"range":{"start_line":491,"start_character":12,"end_line":496,"end_character":55},"in_reply_to":"a5f8c9e1_09eb4909","updated":"2023-04-25 10:17:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":517,"context_line":"            \u0027vserver-name\u0027: fake.VSERVER_NAME"},{"line_number":518,"context_line":"        }"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"        certificate_create_args \u003d {"},{"line_number":521,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":522,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":523,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":524,"context_line":"            \u0027expire-days\u0027: fake.SECURITY_CERT_LARGE_EXPIRE_DAYS,"},{"line_number":525,"context_line":"        }"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"        api_response \u003d netapp_api.NaElement(fake.SECURITY_CERT_GET_RESPONSE)"},{"line_number":528,"context_line":"        self.mock_object(self.client,"},{"line_number":529,"context_line":"                         \u0027send_iter_request\u0027,"},{"line_number":530,"context_line":"                         mock.Mock(return_value\u003dapi_response))"},{"line_number":531,"context_line":"        certificate_get_args \u003d {"},{"line_number":532,"context_line":"            \u0027query\u0027: {"},{"line_number":533,"context_line":"                \u0027certificate-info\u0027: {"},{"line_number":534,"context_line":"                    \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":535,"context_line":"                    \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":536,"context_line":"                    \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":537,"context_line":"                    \u0027type\u0027: \u0027server\u0027,"},{"line_number":538,"context_line":"                },"},{"line_number":539,"context_line":"            },"},{"line_number":540,"context_line":"            \u0027desired-attributes\u0027: {"},{"line_number":541,"context_line":"                \u0027certificate-info\u0027: {"},{"line_number":542,"context_line":"                    \u0027serial-number\u0027: None,"},{"line_number":543,"context_line":"                },"},{"line_number":544,"context_line":"            },"},{"line_number":545,"context_line":"        }"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"        certificate_delete_args \u003d {"},{"line_number":548,"context_line":"            \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":549,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":550,"context_line":"            \u0027serial-number\u0027: \u002712345\u0027,"},{"line_number":551,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":552,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":553,"context_line":"        }"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"        ssl_modify_args \u003d {"},{"line_number":556,"context_line":"            \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":557,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":558,"context_line":"            \u0027certificate-serial-number\u0027: \u002712345\u0027,"},{"line_number":559,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":560,"context_line":"            \u0027client-authentication-enabled\u0027: \u0027false\u0027,"},{"line_number":561,"context_line":"            \u0027server-authentication-enabled\u0027: \u0027true\u0027,"},{"line_number":562,"context_line":"        }"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"        self.client.create_vserver(fake.VSERVER_NAME,"},{"line_number":565,"context_line":"                                   fake.ROOT_VOLUME_AGGREGATE_NAME,"}],"source_content_type":"text/x-python","patch_set":2,"id":"4085f54d_5cb0a525","line":562,"range":{"start_line":520,"start_character":0,"end_line":562,"end_character":9},"updated":"2023-04-24 13:52:44.000000000","message":"Same here, please move this to a new unit test.","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":false,"context_lines":[{"line_number":517,"context_line":"            \u0027vserver-name\u0027: fake.VSERVER_NAME"},{"line_number":518,"context_line":"        }"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"        certificate_create_args \u003d {"},{"line_number":521,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":522,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":523,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":524,"context_line":"            \u0027expire-days\u0027: fake.SECURITY_CERT_LARGE_EXPIRE_DAYS,"},{"line_number":525,"context_line":"        }"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"        api_response \u003d netapp_api.NaElement(fake.SECURITY_CERT_GET_RESPONSE)"},{"line_number":528,"context_line":"        self.mock_object(self.client,"},{"line_number":529,"context_line":"                         \u0027send_iter_request\u0027,"},{"line_number":530,"context_line":"                         mock.Mock(return_value\u003dapi_response))"},{"line_number":531,"context_line":"        certificate_get_args \u003d {"},{"line_number":532,"context_line":"            \u0027query\u0027: {"},{"line_number":533,"context_line":"                \u0027certificate-info\u0027: {"},{"line_number":534,"context_line":"                    \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":535,"context_line":"                    \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":536,"context_line":"                    \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":537,"context_line":"                    \u0027type\u0027: \u0027server\u0027,"},{"line_number":538,"context_line":"                },"},{"line_number":539,"context_line":"            },"},{"line_number":540,"context_line":"            \u0027desired-attributes\u0027: {"},{"line_number":541,"context_line":"                \u0027certificate-info\u0027: {"},{"line_number":542,"context_line":"                    \u0027serial-number\u0027: None,"},{"line_number":543,"context_line":"                },"},{"line_number":544,"context_line":"            },"},{"line_number":545,"context_line":"        }"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"        certificate_delete_args \u003d {"},{"line_number":548,"context_line":"            \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":549,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":550,"context_line":"            \u0027serial-number\u0027: \u002712345\u0027,"},{"line_number":551,"context_line":"            \u0027type\u0027: \u0027server\u0027,"},{"line_number":552,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":553,"context_line":"        }"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"        ssl_modify_args \u003d {"},{"line_number":556,"context_line":"            \u0027certificate-authority\u0027: fake.VSERVER_NAME,"},{"line_number":557,"context_line":"            \u0027common-name\u0027: fake.VSERVER_NAME,"},{"line_number":558,"context_line":"            \u0027certificate-serial-number\u0027: \u002712345\u0027,"},{"line_number":559,"context_line":"            \u0027vserver\u0027: fake.VSERVER_NAME,"},{"line_number":560,"context_line":"            \u0027client-authentication-enabled\u0027: \u0027false\u0027,"},{"line_number":561,"context_line":"            \u0027server-authentication-enabled\u0027: \u0027true\u0027,"},{"line_number":562,"context_line":"        }"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"        self.client.create_vserver(fake.VSERVER_NAME,"},{"line_number":565,"context_line":"                                   fake.ROOT_VOLUME_AGGREGATE_NAME,"}],"source_content_type":"text/x-python","patch_set":2,"id":"2f982577_719fef20","line":562,"range":{"start_line":520,"start_character":0,"end_line":562,"end_character":9},"in_reply_to":"4085f54d_5cb0a525","updated":"2023-04-25 10:17:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"}],"manila/tests/share/drivers/netapp/dataontap/client/test_client_cmode_rest.py":[{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"985132375e9f9b97f35f1b0710b739fa337a9af7","unresolved":true,"context_lines":[{"line_number":4790,"context_line":"        self.client._modify_security_cert.assert_called_once_with("},{"line_number":4791,"context_line":"            fake.VSERVER_NAME,"},{"line_number":4792,"context_line":"            fake.SECURITY_CERT_DEFAULT_EXPIRE_DAYS)"},{"line_number":4793,"context_line":""},{"line_number":4794,"context_line":"    def test__broadcast_domain_exists(self):"},{"line_number":4795,"context_line":"        response \u003d fake.FAKE_GET_BROADCAST_DOMAIN"},{"line_number":4796,"context_line":"        self.mock_object(self.client, \u0027send_request\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"a9e96abf_c2742805","line":4793,"updated":"2023-04-24 13:52:44.000000000","message":"The `test_create_vserver` is good, but please add a new unit test `test__modify_security_cert` for the new method you implemented.","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8a61955e4bad3e77fa2894af3328a17a4c235930","unresolved":false,"context_lines":[{"line_number":4790,"context_line":"        self.client._modify_security_cert.assert_called_once_with("},{"line_number":4791,"context_line":"            fake.VSERVER_NAME,"},{"line_number":4792,"context_line":"            fake.SECURITY_CERT_DEFAULT_EXPIRE_DAYS)"},{"line_number":4793,"context_line":""},{"line_number":4794,"context_line":"    def test__broadcast_domain_exists(self):"},{"line_number":4795,"context_line":"        response \u003d fake.FAKE_GET_BROADCAST_DOMAIN"},{"line_number":4796,"context_line":"        self.mock_object(self.client, \u0027send_request\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"a1ce68f3_2e234560","line":4793,"in_reply_to":"3ae2e1a6_90713f14","updated":"2023-04-25 17:26:25.000000000","message":"Done","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"6301634b80b836ff83f7e76039374cf4c9bed7c5","unresolved":true,"context_lines":[{"line_number":4790,"context_line":"        self.client._modify_security_cert.assert_called_once_with("},{"line_number":4791,"context_line":"            fake.VSERVER_NAME,"},{"line_number":4792,"context_line":"            fake.SECURITY_CERT_DEFAULT_EXPIRE_DAYS)"},{"line_number":4793,"context_line":""},{"line_number":4794,"context_line":"    def test__broadcast_domain_exists(self):"},{"line_number":4795,"context_line":"        response \u003d fake.FAKE_GET_BROADCAST_DOMAIN"},{"line_number":4796,"context_line":"        self.mock_object(self.client, \u0027send_request\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae2e1a6_90713f14","line":4793,"in_reply_to":"980f5f21_88013dea","updated":"2023-04-25 11:20:33.000000000","message":"Sorry, I didn\u0027t notice this call was missing. \n\nAccording to the docs, to modify the SVM certificate you need to make a PATCH to the endpoint `/svm/svms/{svm.uuid}` passing **SVM uuid** in the url and the **certificate uuid** in the body.\n\nYou can check these docs to get more details:\n[1] https://docs.netapp.com/us-en/ontap-restmap-9121/security-ssl.html#security-ssl-modify\n[2] https://library.netapp.com/ecmdocs/ECMLP2884821/html/index.html#/svm/svm_modify","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36610dbc3d62a88b85fdf23e2ea60a6e30091fd8","unresolved":true,"context_lines":[{"line_number":4790,"context_line":"        self.client._modify_security_cert.assert_called_once_with("},{"line_number":4791,"context_line":"            fake.VSERVER_NAME,"},{"line_number":4792,"context_line":"            fake.SECURITY_CERT_DEFAULT_EXPIRE_DAYS)"},{"line_number":4793,"context_line":""},{"line_number":4794,"context_line":"    def test__broadcast_domain_exists(self):"},{"line_number":4795,"context_line":"        response \u003d fake.FAKE_GET_BROADCAST_DOMAIN"},{"line_number":4796,"context_line":"        self.mock_object(self.client, \u0027send_request\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"980f5f21_88013dea","line":4793,"in_reply_to":"a9e96abf_c2742805","updated":"2023-04-25 10:17:25.000000000","message":"what is REST API call corresponding to \u0027security-ssl-modify\u0027 API call ? I will add tests once \u0027security-ssl-modify\u0027 implementation will be added in client_cmode_rest.py","commit_id":"afe26ff17c15c18ea2a48de8ac61427673763813"}],"releasenotes/notes/netapp-add-new-security-certificate-for-vserver-aba543211ae6b811.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","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":"    NetApp ONTAP driver now allows user to define security certificate expire"},{"line_number":5,"context_line":"    days for vserver. So instead of using vserver\u0027s default security"},{"line_number":6,"context_line":"    certificate with 365 expire days, user can ask backend to create new"},{"line_number":7,"context_line":"    security certificate with given expire days and use it."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"b3c9dc75_efc45fae","line":5,"range":{"start_line":4,"start_character":35,"end_line":5,"end_character":20},"updated":"2023-07-28 22:33:59.000000000","message":"this is incorrect; user cannot define this; its the cloud operator who can configure this option. Please specify the option name in this release note","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","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":"    NetApp ONTAP driver now allows user to define security certificate expire"},{"line_number":5,"context_line":"    days for vserver. So instead of using vserver\u0027s default security"},{"line_number":6,"context_line":"    certificate with 365 expire days, user can ask backend to create new"},{"line_number":7,"context_line":"    security certificate with given expire days and use it."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"d6abc331_fe43a7e8","line":5,"range":{"start_line":4,"start_character":35,"end_line":5,"end_character":20},"in_reply_to":"b3c9dc75_efc45fae","updated":"2023-07-31 10:15:18.000000000","message":"Done","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d5df4324391dfdcc76f94fb98a71f6e7e468ddd","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver now allows user to define security certificate expire"},{"line_number":5,"context_line":"    days for vserver. So instead of using vserver\u0027s default security"},{"line_number":6,"context_line":"    certificate with 365 expire days, user can ask backend to create new"},{"line_number":7,"context_line":"    security certificate with given expire days and use it."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"751737a1_e442b744","line":6,"range":{"start_line":6,"start_character":38,"end_line":6,"end_character":42},"updated":"2023-07-28 22:33:59.000000000","message":"the cloud operator","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3ec7bc521bd6879478ecbbca65d316b937a93a66","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver now allows user to define security certificate expire"},{"line_number":5,"context_line":"    days for vserver. So instead of using vserver\u0027s default security"},{"line_number":6,"context_line":"    certificate with 365 expire days, user can ask backend to create new"},{"line_number":7,"context_line":"    security certificate with given expire days and use it."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"a38ec981_f48c6a32","line":6,"range":{"start_line":6,"start_character":38,"end_line":6,"end_character":42},"in_reply_to":"751737a1_e442b744","updated":"2023-07-31 10:15:18.000000000","message":"Done","commit_id":"14e9828928432bf1e3c9d29f11c541bb38eb3fd2"}]}
