)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"616bf31d794c08cb9c8cff2c996b7b4519ac18f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"353cfe3f_63a3dc00","updated":"2023-01-06 09:20:12.000000000","message":"In addition to changing timedela, old snapmirror schedules are also updated to consider \u0027netapp_snapmirror_shedule\u0027 config value.","commit_id":"ff1ac551a698c463ee9b89ed1bae2ea2825bb335"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"bfadb1879f27e1566e88f8f36eaccdb9d3b19573","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ec32b88a_adadff4d","updated":"2023-01-06 11:43:02.000000000","message":"Thanks for tidying up and bringing this code to the public.\n\nCan you add a unit test for _convert_schedule_to_seconds(), please?","commit_id":"ff1ac551a698c463ee9b89ed1bae2ea2825bb335"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"341ea26d1040358bd518126d89df554f141a8238","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"69d90c0d_3e350b91","in_reply_to":"ec32b88a_adadff4d","updated":"2023-01-06 16:11:52.000000000","message":"Added","commit_id":"ff1ac551a698c463ee9b89ed1bae2ea2825bb335"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"990dc4eeb918950a28ba420f991226af47a97f3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"16dca29b_f745276e","updated":"2023-01-18 21:52:06.000000000","message":"Am okay with this change; would like to see NetApp-CI testing this - currently it looks like the CI has some other issue going on. \n\nIt feels a bit weird to delete a release note and create a new one for this enhancement. \n\nDo you intend on backporting both these changes to older releases?","commit_id":"8a2796db4df34a6fa3c4899b86eacdb73c5db5ef"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"408b822613549214618a40ac81020dd48e286820","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c98f1955_3bb16851","updated":"2023-01-18 12:49:39.000000000","message":"recheck","commit_id":"8a2796db4df34a6fa3c4899b86eacdb73c5db5ef"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"1fb15a349387f921a287ac3145b4651503adbf42","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e51c3ed3_9b0ca49c","in_reply_to":"16dca29b_f745276e","updated":"2023-01-19 13:47:58.000000000","message":"no, master should be enough. I can pick from antelope.","commit_id":"8a2796db4df34a6fa3c4899b86eacdb73c5db5ef"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"d0056bfa1ad3defd23bc7bef36181678cd069df0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1792828a_5866aa03","updated":"2023-02-10 20:25:40.000000000","message":"Looking good - thanks. I see a NetApp CI failure, will recheck to see if it is something related to this change","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d61fc71c_8ad6ee2a","updated":"2023-03-02 14:28:12.000000000","message":"Thank you Kiran for this fix. Please, see my comments. Also, how did you test this new behavior ? ","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"78fb5d6c11a62630097a3e77b7a0966e014afbe4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dc63a249_85fb5b53","updated":"2023-02-15 00:16:29.000000000","message":"Thanks Kiran.\n\nCaique / Felipe / Nahim - can one of you look over and see if this is okay; especially given your plans for the driver to use ONTAP\u0027s REST API... ","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"14f6aa9904376c467c25099f3ad680e66d74ffae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b34fb553_9af5e88f","updated":"2023-02-13 14:53:48.000000000","message":"run-NetApp CI","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"21811f73f264c46c5f4b6cf33deaf3b70365120b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dce7a259_d66a1ed4","updated":"2023-02-10 15:31:28.000000000","message":"run-NetApp CI","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c1c9bb6a376f93bdfce07884fa8f46c193264f35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b9691377_0d570351","updated":"2023-02-10 20:25:52.000000000","message":"run-NetApp CI\n","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"6d514db0db32d09381744ed5091f55dd9ba0a4a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b763ad0c_16075bc9","updated":"2023-03-17 15:35:41.000000000","message":"recheck","commit_id":"88785146c6e6bf46d6582e9870436a0f9f16cab6"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"45214d23913c601ad6da6de0a4336d93b8f71a9a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"9f4c64bf_b0a87aa0","updated":"2023-05-23 07:28:52.000000000","message":"Felipe Rodrigues,\nfixed all of your suggestions, review and merge it","commit_id":"6965f71ba950c906c5f16162023a3d5d4a7a6c92"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"42eaa94e02c2363ffebe7e0f4a649fcf9e36cb41","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"3dac191c_b80faeaf","updated":"2023-05-25 14:50:48.000000000","message":"Felipe, could you please revisit this change?","commit_id":"c424aa9336cb36238d8502e2d2fb64458f7f6754"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ebd533ce4161c7c717d606b92ba244e309ae05bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"d73d3964_54f9cf7f","updated":"2023-07-11 14:55:34.000000000","message":"LGTM, thanks! Felipe, could you please take a look at the change again?","commit_id":"c424aa9336cb36238d8502e2d2fb64458f7f6754"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"14c4af890ff14175378d5fd7a252021fce1d4516","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"80a04796_8c264895","updated":"2023-07-19 15:53:30.000000000","message":"lgtm","commit_id":"c424aa9336cb36238d8502e2d2fb64458f7f6754"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"eefafe2575611d5918b414cc76d3ddd329957ad9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"1b88c647_c61d9049","updated":"2023-07-06 15:21:01.000000000","message":"run-NetApp CI","commit_id":"c424aa9336cb36238d8502e2d2fb64458f7f6754"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"718438a9c5bbe2bba0d4309a398d7a55717e3bc7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"f98dddfa_6587ce0f","updated":"2023-07-11 14:55:04.000000000","message":"run-NetApp CI","commit_id":"c424aa9336cb36238d8502e2d2fb64458f7f6754"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7de02d49e5cdecdb525f22813696842dbb809211","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"ddf892e0_f88304d6","updated":"2023-07-25 15:24:50.000000000","message":"Gouthamr, could you please revisit? :)","commit_id":"cffdc49367d418b85751c573f56b06f042402c4b"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"06b5a79495b101a9df15b7c85f02b10dd7da72ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"0a56a490_5caab747","updated":"2023-07-25 18:22:11.000000000","message":"Hi, Kiran, thanks for providing this patch.\n\nSorry for not reviewing this patch before. I\u0027m voting -1 because I find something that might cause a problem in the future, when ZAPI support is dropped. \n\nPlease, let me know what do you think.","commit_id":"cffdc49367d418b85751c573f56b06f042402c4b"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"37ed68562b80cec9eafc598888327d669d032782","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"004a723a_25643712","updated":"2023-07-26 13:14:02.000000000","message":"Hi, Kiran, thank you so much for the quick response. Approved :)","commit_id":"da23b652fb408c641535c0b3123bbc8362290686"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"56bf6d4ffb3839c20d7920cd43157498481ecb41","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"67ccf553_aed52621","updated":"2023-07-31 23:10:08.000000000","message":"LGTM thanks, \n\n3 of 4 NetApp CI jobs failed on this patch; hoping we\u0027re not introducing a regression here...","commit_id":"da23b652fb408c641535c0b3123bbc8362290686"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"02f786afc9c71bdc3221c9793f74641c226a5ef4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"0035f999_d637d135","updated":"2023-07-26 19:08:38.000000000","message":"LGTM, thanks Kiran","commit_id":"da23b652fb408c641535c0b3123bbc8362290686"}],"manila/share/drivers/netapp/dataontap/cluster_mode/data_motion.py":[{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":160,"context_line":"        snapmirrors \u003d dest_client.get_snapmirrors("},{"line_number":161,"context_line":"            source_vserver\u003dsrc_vserver, dest_vserver\u003ddest_vserver,"},{"line_number":162,"context_line":"            source_volume\u003dsrc_volume_name, dest_volume\u003ddest_volume_name,"},{"line_number":163,"context_line":"            desired_attributes\u003d[\u0027relationship-status\u0027,"},{"line_number":164,"context_line":"                                \u0027mirror-state\u0027,"},{"line_number":165,"context_line":"                                \u0027schedule\u0027,"},{"line_number":166,"context_line":"                                \u0027source-vserver\u0027,"},{"line_number":167,"context_line":"                                \u0027source-volume\u0027,"},{"line_number":168,"context_line":"                                \u0027last-transfer-end-timestamp\u0027,"},{"line_number":169,"context_line":"                                \u0027last-transfer-size\u0027,"},{"line_number":170,"context_line":"                                \u0027last-transfer-error\u0027])"},{"line_number":171,"context_line":"        return snapmirrors"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def create_snapmirror(self, source_share_obj, dest_share_obj,"}],"source_content_type":"text/x-python","patch_set":6,"id":"f5952cb0_8980b4ee","line":170,"range":{"start_line":163,"start_character":12,"end_line":170,"end_character":55},"updated":"2023-03-02 14:28:12.000000000","message":"NetApp has the REST client from Antelope release. It won\u0027t work for REST, since the REST client does not read the \"desired_attributes\" param. You should add the new field directly on the \"rest_client_cmode.py\" in the method \"_get_snapmirrors\". From my research, the REST equivalent field name \"is transfer_schedule .name\". Note: you must return the dict same name as ZAPI (\"schedule\"), since the driver layer is agnostic of which API is being used.","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3c9de47c42e19366bde050bdb8edf35272c9ec5f","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        snapmirrors \u003d dest_client.get_snapmirrors("},{"line_number":161,"context_line":"            source_vserver\u003dsrc_vserver, dest_vserver\u003ddest_vserver,"},{"line_number":162,"context_line":"            source_volume\u003dsrc_volume_name, dest_volume\u003ddest_volume_name,"},{"line_number":163,"context_line":"            desired_attributes\u003d[\u0027relationship-status\u0027,"},{"line_number":164,"context_line":"                                \u0027mirror-state\u0027,"},{"line_number":165,"context_line":"                                \u0027schedule\u0027,"},{"line_number":166,"context_line":"                                \u0027source-vserver\u0027,"},{"line_number":167,"context_line":"                                \u0027source-volume\u0027,"},{"line_number":168,"context_line":"                                \u0027last-transfer-end-timestamp\u0027,"},{"line_number":169,"context_line":"                                \u0027last-transfer-size\u0027,"},{"line_number":170,"context_line":"                                \u0027last-transfer-error\u0027])"},{"line_number":171,"context_line":"        return snapmirrors"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def create_snapmirror(self, source_share_obj, dest_share_obj,"}],"source_content_type":"text/x-python","patch_set":6,"id":"50492106_5d5db1c8","line":170,"range":{"start_line":163,"start_character":12,"end_line":170,"end_character":55},"in_reply_to":"e201de47_5a0aaa18","updated":"2023-04-27 15:09:00.000000000","message":"added REST aPI as well.","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":true,"context_lines":[{"line_number":160,"context_line":"        snapmirrors \u003d dest_client.get_snapmirrors("},{"line_number":161,"context_line":"            source_vserver\u003dsrc_vserver, dest_vserver\u003ddest_vserver,"},{"line_number":162,"context_line":"            source_volume\u003dsrc_volume_name, dest_volume\u003ddest_volume_name,"},{"line_number":163,"context_line":"            desired_attributes\u003d[\u0027relationship-status\u0027,"},{"line_number":164,"context_line":"                                \u0027mirror-state\u0027,"},{"line_number":165,"context_line":"                                \u0027schedule\u0027,"},{"line_number":166,"context_line":"                                \u0027source-vserver\u0027,"},{"line_number":167,"context_line":"                                \u0027source-volume\u0027,"},{"line_number":168,"context_line":"                                \u0027last-transfer-end-timestamp\u0027,"},{"line_number":169,"context_line":"                                \u0027last-transfer-size\u0027,"},{"line_number":170,"context_line":"                                \u0027last-transfer-error\u0027])"},{"line_number":171,"context_line":"        return snapmirrors"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def create_snapmirror(self, source_share_obj, dest_share_obj,"}],"source_content_type":"text/x-python","patch_set":6,"id":"e201de47_5a0aaa18","line":170,"range":{"start_line":163,"start_character":12,"end_line":170,"end_character":55},"in_reply_to":"f5952cb0_8980b4ee","updated":"2023-03-10 17:30:00.000000000","message":"where is rest_client_cmode.py ? I think we should allow ZAPI unless its completely removed, this part of code is in our deployment for last couple of months.","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"06b5a79495b101a9df15b7c85f02b10dd7da72ed","unresolved":true,"context_lines":[{"line_number":438,"context_line":"            config \u003d get_backend_configuration(dest_backend)"},{"line_number":439,"context_line":"            schedule \u003d config.netapp_snapmirror_schedule"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"        dest_client.modify_snapmirror_vol(src_vserver,"},{"line_number":442,"context_line":"                                          src_volume_name,"},{"line_number":443,"context_line":"                                          dest_vserver,"},{"line_number":444,"context_line":"                                          dest_volume_name,"}],"source_content_type":"text/x-python","patch_set":12,"id":"2ddc6227_432fa119","line":441,"range":{"start_line":441,"start_character":20,"end_line":441,"end_character":41},"updated":"2023-07-25 18:22:11.000000000","message":"If I\u0027m not wrong, this call will cause a failure in the future, when ZAPI support is dropped, since this function is not available in client_cmode_rest.\n\nI believe this patch should contain the implementation of modify_snapmirror_vol in client_cmode_rest (along with its UTs), so I\u0027m voting -1 because of that. But, if other folks think this can be done in a separate patch, I can reconsider my vote.\n\nMore info about ZAPI support: https://mysupport.netapp.com/info/communications/ECMLP2880232.html?access\u003da","commit_id":"cffdc49367d418b85751c573f56b06f042402c4b"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a800e67abb254ef8c5a7467126e2197ca75fed87","unresolved":false,"context_lines":[{"line_number":438,"context_line":"            config \u003d get_backend_configuration(dest_backend)"},{"line_number":439,"context_line":"            schedule \u003d config.netapp_snapmirror_schedule"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"        dest_client.modify_snapmirror_vol(src_vserver,"},{"line_number":442,"context_line":"                                          src_volume_name,"},{"line_number":443,"context_line":"                                          dest_vserver,"},{"line_number":444,"context_line":"                                          dest_volume_name,"}],"source_content_type":"text/x-python","patch_set":12,"id":"f965d79d_6a9e1ec7","line":441,"range":{"start_line":441,"start_character":20,"end_line":441,"end_character":41},"in_reply_to":"2ddc6227_432fa119","updated":"2023-07-26 10:47:55.000000000","message":"Fixed. Please review and approve.","commit_id":"cffdc49367d418b85751c573f56b06f042402c4b"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ceec0dbe4e34e6197b44741ebb55d6fc8bb4ca6","unresolved":true,"context_lines":[{"line_number":2573,"context_line":"        self._delete_share(replica, vserver, vserver_client,"},{"line_number":2574,"context_line":"                           remove_export\u003dis_readable, remove_qos\u003dis_readable)"},{"line_number":2575,"context_line":""},{"line_number":2576,"context_line":"    def _convert_schedule_to_seconds(self, schedule\u003d\u0027hourly\u0027):"},{"line_number":2577,"context_line":"        results \u003d re.findall(r\u0027\\d{1,2}|[^d]+\u0027, schedule)"},{"line_number":2578,"context_line":"        if not results or len(results) \u003e 2:"},{"line_number":2579,"context_line":"            return 3600  # default (1 hour)"}],"source_content_type":"text/x-python","patch_set":3,"id":"287ff5a6_34812172","line":2576,"range":{"start_line":2576,"start_character":8,"end_line":2576,"end_character":36},"updated":"2023-01-09 23:30:45.000000000","message":"i suggest you memoize this.. store the parsed value in a class variable that you can check and return rather than perform this check again for each replica","commit_id":"c712b3f2474e2f22ad06d42c3d30e52cc9ba51b8"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"15b42dd77d7f00d7e3026ec9327d149974d83e21","unresolved":false,"context_lines":[{"line_number":2573,"context_line":"        self._delete_share(replica, vserver, vserver_client,"},{"line_number":2574,"context_line":"                           remove_export\u003dis_readable, remove_qos\u003dis_readable)"},{"line_number":2575,"context_line":""},{"line_number":2576,"context_line":"    def _convert_schedule_to_seconds(self, schedule\u003d\u0027hourly\u0027):"},{"line_number":2577,"context_line":"        results \u003d re.findall(r\u0027\\d{1,2}|[^d]+\u0027, schedule)"},{"line_number":2578,"context_line":"        if not results or len(results) \u003e 2:"},{"line_number":2579,"context_line":"            return 3600  # default (1 hour)"}],"source_content_type":"text/x-python","patch_set":3,"id":"65c8f02a_789b5695","line":2576,"range":{"start_line":2576,"start_character":8,"end_line":2576,"end_character":36},"in_reply_to":"287ff5a6_34812172","updated":"2023-01-18 09:48:23.000000000","message":"Done","commit_id":"c712b3f2474e2f22ad06d42c3d30e52cc9ba51b8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ceec0dbe4e34e6197b44741ebb55d6fc8bb4ca6","unresolved":true,"context_lines":[{"line_number":2686,"context_line":"                .isoformat(), (2 * schedule_seconds)))):"},{"line_number":2687,"context_line":"            current_schedule \u003d snapmirror.get(\u0027schedule\u0027)"},{"line_number":2688,"context_line":"            new_schedule \u003d self.configuration.netapp_snapmirror_schedule"},{"line_number":2689,"context_line":"            if current_schedule \u003d\u003d new_schedule:"},{"line_number":2690,"context_line":"                return constants.REPLICA_STATE_OUT_OF_SYNC"},{"line_number":2691,"context_line":"            else:"},{"line_number":2692,"context_line":"                LOG.debug(\u0027Modify snapmirror schedule for replica:\u0027"},{"line_number":2693,"context_line":"                          \u0027%(replica)s from %(from)s to %(to)s\u0027,"},{"line_number":2694,"context_line":"                          {\u0027replica\u0027: replica[\u0027id\u0027],"},{"line_number":2695,"context_line":"                           \u0027from\u0027: current_schedule,"},{"line_number":2696,"context_line":"                           \u0027to\u0027: new_schedule})"},{"line_number":2697,"context_line":"                dm_session.modify_snapmirror(active_replica, replica,"},{"line_number":2698,"context_line":"                                             schedule\u003dnew_schedule)"},{"line_number":2699,"context_line":""},{"line_number":2700,"context_line":"        config_size \u003d (int(config.safe_get("},{"line_number":2701,"context_line":"            \u0027netapp_snapmirror_last_transfer_size_limit\u0027)) * units.Ki)"}],"source_content_type":"text/x-python","patch_set":3,"id":"8be4a8e9_c363a8d9","line":2698,"range":{"start_line":2689,"start_character":0,"end_line":2698,"end_character":67},"updated":"2023-01-09 23:30:45.000000000","message":"I don\u0027t understand why the modification is being made only if the replica\u0027s out of sync... I would imagine you\u0027d want to modify the schedule if there\u0027s a mismatch nevertheless...","commit_id":"c712b3f2474e2f22ad06d42c3d30e52cc9ba51b8"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"15b42dd77d7f00d7e3026ec9327d149974d83e21","unresolved":false,"context_lines":[{"line_number":2686,"context_line":"                .isoformat(), (2 * schedule_seconds)))):"},{"line_number":2687,"context_line":"            current_schedule \u003d snapmirror.get(\u0027schedule\u0027)"},{"line_number":2688,"context_line":"            new_schedule \u003d self.configuration.netapp_snapmirror_schedule"},{"line_number":2689,"context_line":"            if current_schedule \u003d\u003d new_schedule:"},{"line_number":2690,"context_line":"                return constants.REPLICA_STATE_OUT_OF_SYNC"},{"line_number":2691,"context_line":"            else:"},{"line_number":2692,"context_line":"                LOG.debug(\u0027Modify snapmirror schedule for replica:\u0027"},{"line_number":2693,"context_line":"                          \u0027%(replica)s from %(from)s to %(to)s\u0027,"},{"line_number":2694,"context_line":"                          {\u0027replica\u0027: replica[\u0027id\u0027],"},{"line_number":2695,"context_line":"                           \u0027from\u0027: current_schedule,"},{"line_number":2696,"context_line":"                           \u0027to\u0027: new_schedule})"},{"line_number":2697,"context_line":"                dm_session.modify_snapmirror(active_replica, replica,"},{"line_number":2698,"context_line":"                                             schedule\u003dnew_schedule)"},{"line_number":2699,"context_line":""},{"line_number":2700,"context_line":"        config_size \u003d (int(config.safe_get("},{"line_number":2701,"context_line":"            \u0027netapp_snapmirror_last_transfer_size_limit\u0027)) * units.Ki)"}],"source_content_type":"text/x-python","patch_set":3,"id":"f2ce5627_fcbdedcd","line":2698,"range":{"start_line":2689,"start_character":0,"end_line":2698,"end_character":67},"in_reply_to":"8be4a8e9_c363a8d9","updated":"2023-01-18 09:48:23.000000000","message":"Done","commit_id":"c712b3f2474e2f22ad06d42c3d30e52cc9ba51b8"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":172,"context_line":"        self._backend_name \u003d self.configuration.safe_get("},{"line_number":173,"context_line":"            \u0027share_backend_name\u0027) or driver_name"},{"line_number":174,"context_line":"        self.message_api \u003d message_api.API()"},{"line_number":175,"context_line":"        self.snapmirror_schedule \u003d self._convert_schedule_to_seconds("},{"line_number":176,"context_line":"            self.configuration.netapp_snapmirror_schedule)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":6,"id":"eb97b482_db0700d3","line":175,"range":{"start_line":175,"start_character":13,"end_line":175,"end_character":33},"updated":"2023-03-02 14:28:12.000000000","message":"It should be a private prop, right ? \"self._snapmirror_schedule\"","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        self._backend_name \u003d self.configuration.safe_get("},{"line_number":173,"context_line":"            \u0027share_backend_name\u0027) or driver_name"},{"line_number":174,"context_line":"        self.message_api \u003d message_api.API()"},{"line_number":175,"context_line":"        self.snapmirror_schedule \u003d self._convert_schedule_to_seconds("},{"line_number":176,"context_line":"            self.configuration.netapp_snapmirror_schedule)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @na_utils.trace"}],"source_content_type":"text/x-python","patch_set":6,"id":"5344571c_aa126adb","line":175,"range":{"start_line":175,"start_character":13,"end_line":175,"end_character":33},"in_reply_to":"eb97b482_db0700d3","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":173,"context_line":"            \u0027share_backend_name\u0027) or driver_name"},{"line_number":174,"context_line":"        self.message_api \u003d message_api.API()"},{"line_number":175,"context_line":"        self.snapmirror_schedule \u003d self._convert_schedule_to_seconds("},{"line_number":176,"context_line":"            self.configuration.netapp_snapmirror_schedule)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @na_utils.trace"},{"line_number":179,"context_line":"    def do_setup(self, context):"}],"source_content_type":"text/x-python","patch_set":6,"id":"98862cdd_e4dd8156","line":176,"range":{"start_line":176,"start_character":12,"end_line":176,"end_character":58},"updated":"2023-03-02 14:28:12.000000000","message":"Pleae, follow the method kwargs way:\n\n    schedule\u003dself.configuration.netapp_snapmirror_schedule)","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":173,"context_line":"            \u0027share_backend_name\u0027) or driver_name"},{"line_number":174,"context_line":"        self.message_api \u003d message_api.API()"},{"line_number":175,"context_line":"        self.snapmirror_schedule \u003d self._convert_schedule_to_seconds("},{"line_number":176,"context_line":"            self.configuration.netapp_snapmirror_schedule)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    @na_utils.trace"},{"line_number":179,"context_line":"    def do_setup(self, context):"}],"source_content_type":"text/x-python","patch_set":6,"id":"4b9589e6_0b35dc83","line":176,"range":{"start_line":176,"start_character":12,"end_line":176,"end_character":58},"in_reply_to":"98862cdd_e4dd8156","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":2575,"context_line":"        self._delete_share(replica, vserver, vserver_client,"},{"line_number":2576,"context_line":"                           remove_export\u003dis_readable, remove_qos\u003dis_readable)"},{"line_number":2577,"context_line":""},{"line_number":2578,"context_line":"    def _convert_schedule_to_seconds(self, schedule\u003d\u0027hourly\u0027):"},{"line_number":2579,"context_line":"        results \u003d re.findall(r\u0027\\d{1,2}|[^d]+\u0027, schedule)"},{"line_number":2580,"context_line":"        if not results or len(results) \u003e 2:"},{"line_number":2581,"context_line":"            return 3600  # default (1 hour)"}],"source_content_type":"text/x-python","patch_set":6,"id":"d87b0bc2_271882c8","line":2578,"range":{"start_line":2578,"start_character":8,"end_line":2578,"end_character":36},"updated":"2023-03-02 14:28:12.000000000","message":"add docstring, explaining the method.\n\nAlso, add the @na_utils.trace","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":2575,"context_line":"        self._delete_share(replica, vserver, vserver_client,"},{"line_number":2576,"context_line":"                           remove_export\u003dis_readable, remove_qos\u003dis_readable)"},{"line_number":2577,"context_line":""},{"line_number":2578,"context_line":"    def _convert_schedule_to_seconds(self, schedule\u003d\u0027hourly\u0027):"},{"line_number":2579,"context_line":"        results \u003d re.findall(r\u0027\\d{1,2}|[^d]+\u0027, schedule)"},{"line_number":2580,"context_line":"        if not results or len(results) \u003e 2:"},{"line_number":2581,"context_line":"            return 3600  # default (1 hour)"}],"source_content_type":"text/x-python","patch_set":6,"id":"de3f29be_3a677de7","line":2578,"range":{"start_line":2578,"start_character":8,"end_line":2578,"end_character":36},"in_reply_to":"d87b0bc2_271882c8","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":2576,"context_line":"                           remove_export\u003dis_readable, remove_qos\u003dis_readable)"},{"line_number":2577,"context_line":""},{"line_number":2578,"context_line":"    def _convert_schedule_to_seconds(self, schedule\u003d\u0027hourly\u0027):"},{"line_number":2579,"context_line":"        results \u003d re.findall(r\u0027\\d{1,2}|[^d]+\u0027, schedule)"},{"line_number":2580,"context_line":"        if not results or len(results) \u003e 2:"},{"line_number":2581,"context_line":"            return 3600  # default (1 hour)"},{"line_number":2582,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"f24b6484_6bc137e0","line":2579,"range":{"start_line":2579,"start_character":8,"end_line":2579,"end_character":56},"updated":"2023-03-02 14:28:12.000000000","message":"If it is set with 100 or greater it will return \"3600\" seconds, example: \"150minute\". Would be the match as `re.findall(r\u0027[\\d]+|[^d]+\u0027, \u0027hourly\u0027)` ?","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":2576,"context_line":"                           remove_export\u003dis_readable, remove_qos\u003dis_readable)"},{"line_number":2577,"context_line":""},{"line_number":2578,"context_line":"    def _convert_schedule_to_seconds(self, schedule\u003d\u0027hourly\u0027):"},{"line_number":2579,"context_line":"        results \u003d re.findall(r\u0027\\d{1,2}|[^d]+\u0027, schedule)"},{"line_number":2580,"context_line":"        if not results or len(results) \u003e 2:"},{"line_number":2581,"context_line":"            return 3600  # default (1 hour)"},{"line_number":2582,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9e5d482c_f2448e67","line":2579,"range":{"start_line":2579,"start_character":8,"end_line":2579,"end_character":56},"in_reply_to":"f24b6484_6bc137e0","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":2677,"context_line":"        current_schedule \u003d snapmirror.get(\u0027schedule\u0027)"},{"line_number":2678,"context_line":"        new_schedule \u003d self.configuration.netapp_snapmirror_schedule"},{"line_number":2679,"context_line":"        if current_schedule !\u003d new_schedule:"},{"line_number":2680,"context_line":"            LOG.debug(\u0027Modify snapmirror schedule for replica:\u0027"},{"line_number":2681,"context_line":"                      \u0027%(replica)s from %(from)s to %(to)s\u0027,"},{"line_number":2682,"context_line":"                      {\u0027replica\u0027: replica[\u0027id\u0027],"},{"line_number":2683,"context_line":"                       \u0027from\u0027: current_schedule,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5e2faa01_57738b41","line":2680,"range":{"start_line":2680,"start_character":22,"end_line":2680,"end_character":27},"updated":"2023-03-02 14:28:12.000000000","message":"It has not modified yet. Either move after the call or change to \"Trying to modify..\". I think moving sounds better.","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":2677,"context_line":"        current_schedule \u003d snapmirror.get(\u0027schedule\u0027)"},{"line_number":2678,"context_line":"        new_schedule \u003d self.configuration.netapp_snapmirror_schedule"},{"line_number":2679,"context_line":"        if current_schedule !\u003d new_schedule:"},{"line_number":2680,"context_line":"            LOG.debug(\u0027Modify snapmirror schedule for replica:\u0027"},{"line_number":2681,"context_line":"                      \u0027%(replica)s from %(from)s to %(to)s\u0027,"},{"line_number":2682,"context_line":"                      {\u0027replica\u0027: replica[\u0027id\u0027],"},{"line_number":2683,"context_line":"                       \u0027from\u0027: current_schedule,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c2e2a8e0_20726189","line":2680,"range":{"start_line":2680,"start_character":22,"end_line":2680,"end_character":27},"in_reply_to":"5e2faa01_57738b41","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":2682,"context_line":"                      {\u0027replica\u0027: replica[\u0027id\u0027],"},{"line_number":2683,"context_line":"                       \u0027from\u0027: current_schedule,"},{"line_number":2684,"context_line":"                       \u0027to\u0027: new_schedule})"},{"line_number":2685,"context_line":"            dm_session.modify_snapmirror(active_replica, replica,"},{"line_number":2686,"context_line":"                                         schedule\u003dnew_schedule)"},{"line_number":2687,"context_line":""},{"line_number":2688,"context_line":"        last_update_timestamp \u003d float("},{"line_number":2689,"context_line":"            snapmirror.get(\u0027last-transfer-end-timestamp\u0027, 0))"}],"source_content_type":"text/x-python","patch_set":6,"id":"97cd9a00_7c7ad9ea","line":2686,"range":{"start_line":2685,"start_character":12,"end_line":2686,"end_character":63},"updated":"2023-03-02 14:28:12.000000000","message":"If this method fails the replica goes to error state. Is that the expected behavior?","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3c9de47c42e19366bde050bdb8edf35272c9ec5f","unresolved":false,"context_lines":[{"line_number":2682,"context_line":"                      {\u0027replica\u0027: replica[\u0027id\u0027],"},{"line_number":2683,"context_line":"                       \u0027from\u0027: current_schedule,"},{"line_number":2684,"context_line":"                       \u0027to\u0027: new_schedule})"},{"line_number":2685,"context_line":"            dm_session.modify_snapmirror(active_replica, replica,"},{"line_number":2686,"context_line":"                                         schedule\u003dnew_schedule)"},{"line_number":2687,"context_line":""},{"line_number":2688,"context_line":"        last_update_timestamp \u003d float("},{"line_number":2689,"context_line":"            snapmirror.get(\u0027last-transfer-end-timestamp\u0027, 0))"}],"source_content_type":"text/x-python","patch_set":6,"id":"e081897b_cc8a848d","line":2686,"range":{"start_line":2685,"start_character":12,"end_line":2686,"end_character":63},"in_reply_to":"32bb7abb_5693c1d7","updated":"2023-04-27 15:09:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":true,"context_lines":[{"line_number":2682,"context_line":"                      {\u0027replica\u0027: replica[\u0027id\u0027],"},{"line_number":2683,"context_line":"                       \u0027from\u0027: current_schedule,"},{"line_number":2684,"context_line":"                       \u0027to\u0027: new_schedule})"},{"line_number":2685,"context_line":"            dm_session.modify_snapmirror(active_replica, replica,"},{"line_number":2686,"context_line":"                                         schedule\u003dnew_schedule)"},{"line_number":2687,"context_line":""},{"line_number":2688,"context_line":"        last_update_timestamp \u003d float("},{"line_number":2689,"context_line":"            snapmirror.get(\u0027last-transfer-end-timestamp\u0027, 0))"}],"source_content_type":"text/x-python","patch_set":6,"id":"32bb7abb_5693c1d7","line":2686,"range":{"start_line":2685,"start_character":12,"end_line":2686,"end_character":63},"in_reply_to":"97cd9a00_7c7ad9ea","updated":"2023-03-10 17:30:00.000000000","message":"yes, error state makes sense","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":2690,"context_line":"        if (last_update_timestamp and"},{"line_number":2691,"context_line":"            (timeutils.is_older_than("},{"line_number":2692,"context_line":"                datetime.datetime.utcfromtimestamp(last_update_timestamp)"},{"line_number":2693,"context_line":"                .isoformat(), (2 * self.snapmirror_schedule)))):"},{"line_number":2694,"context_line":"            return constants.REPLICA_STATE_OUT_OF_SYNC"},{"line_number":2695,"context_line":""},{"line_number":2696,"context_line":"        replica_backend \u003d share_utils.extract_host(replica[\u0027host\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"46306aa2_98db01fd","line":2693,"range":{"start_line":2693,"start_character":30,"end_line":2693,"end_character":33},"updated":"2023-03-02 14:28:12.000000000","message":"Why are you multiplying by \"2\" ? Please, add a \"NOTE\" explaining the reason.","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":2690,"context_line":"        if (last_update_timestamp and"},{"line_number":2691,"context_line":"            (timeutils.is_older_than("},{"line_number":2692,"context_line":"                datetime.datetime.utcfromtimestamp(last_update_timestamp)"},{"line_number":2693,"context_line":"                .isoformat(), (2 * self.snapmirror_schedule)))):"},{"line_number":2694,"context_line":"            return constants.REPLICA_STATE_OUT_OF_SYNC"},{"line_number":2695,"context_line":""},{"line_number":2696,"context_line":"        replica_backend \u003d share_utils.extract_host(replica[\u0027host\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"a6d3277d_60c6aafa","line":2693,"range":{"start_line":2693,"start_character":30,"end_line":2693,"end_character":33},"in_reply_to":"46306aa2_98db01fd","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"}],"manila/tests/share/drivers/netapp/dataontap/cluster_mode/test_lib_base.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"990dc4eeb918950a28ba420f991226af47a97f3c","unresolved":true,"context_lines":[{"line_number":4046,"context_line":"            fake.BACKEND_NAME, vserver_name\u003dfake.VSERVER1)"},{"line_number":4047,"context_line":""},{"line_number":4048,"context_line":"    def test__convert_schedule_to_seconds(self):"},{"line_number":4049,"context_line":"        items \u003d ["},{"line_number":4050,"context_line":"            {\u0027seconds\u0027: 3600, \u0027schedule\u0027: \u0027hourly\u0027},"},{"line_number":4051,"context_line":"            {\u0027seconds\u0027: (5 * 3600), \u0027schedule\u0027: \u00275hourly\u0027},"},{"line_number":4052,"context_line":"            {\u0027seconds\u0027: (30 * 60), \u0027schedule\u0027: \u002730minute\u0027},"},{"line_number":4053,"context_line":"            {\u0027seconds\u0027: (2 * 24 * 3600), \u0027schedule\u0027: \u00272DAY\u0027},"},{"line_number":4054,"context_line":"            {\u0027seconds\u0027: 3600, \u0027schedule\u0027: \u0027fake_shedule\u0027},"},{"line_number":4055,"context_line":"            {\u0027seconds\u0027: 3600, \u0027schedule\u0027: \u0027fake2\u0027},"},{"line_number":4056,"context_line":"            {\u0027seconds\u0027: 3600, \u0027schedule\u0027: \u002710fake\u0027},"},{"line_number":4057,"context_line":"        ]"},{"line_number":4058,"context_line":""},{"line_number":4059,"context_line":"        for item in items:"},{"line_number":4060,"context_line":"            expected_return \u003d item[\u0027seconds\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"229b68de_bd5a717b","line":4057,"range":{"start_line":4049,"start_character":8,"end_line":4057,"end_character":9},"updated":"2023-01-18 21:52:06.000000000","message":"perfect use case for ddt; \n\nwhen the assert fails on line 4063, you won\u0027t know which specific input caused the failure.","commit_id":"8a2796db4df34a6fa3c4899b86eacdb73c5db5ef"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"1fb15a349387f921a287ac3145b4651503adbf42","unresolved":false,"context_lines":[{"line_number":4046,"context_line":"            fake.BACKEND_NAME, vserver_name\u003dfake.VSERVER1)"},{"line_number":4047,"context_line":""},{"line_number":4048,"context_line":"    def test__convert_schedule_to_seconds(self):"},{"line_number":4049,"context_line":"        items \u003d ["},{"line_number":4050,"context_line":"            {\u0027seconds\u0027: 3600, \u0027schedule\u0027: \u0027hourly\u0027},"},{"line_number":4051,"context_line":"            {\u0027seconds\u0027: (5 * 3600), \u0027schedule\u0027: \u00275hourly\u0027},"},{"line_number":4052,"context_line":"            {\u0027seconds\u0027: (30 * 60), \u0027schedule\u0027: \u002730minute\u0027},"},{"line_number":4053,"context_line":"            {\u0027seconds\u0027: (2 * 24 * 3600), \u0027schedule\u0027: \u00272DAY\u0027},"},{"line_number":4054,"context_line":"            {\u0027seconds\u0027: 3600, \u0027schedule\u0027: \u0027fake_shedule\u0027},"},{"line_number":4055,"context_line":"            {\u0027seconds\u0027: 3600, \u0027schedule\u0027: \u0027fake2\u0027},"},{"line_number":4056,"context_line":"            {\u0027seconds\u0027: 3600, \u0027schedule\u0027: \u002710fake\u0027},"},{"line_number":4057,"context_line":"        ]"},{"line_number":4058,"context_line":""},{"line_number":4059,"context_line":"        for item in items:"},{"line_number":4060,"context_line":"            expected_return \u003d item[\u0027seconds\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"654cbf22_c1d2db9d","line":4057,"range":{"start_line":4049,"start_character":8,"end_line":4057,"end_character":9},"in_reply_to":"229b68de_bd5a717b","updated":"2023-01-19 13:47:58.000000000","message":"Done","commit_id":"8a2796db4df34a6fa3c4899b86eacdb73c5db5ef"}],"releasenotes/notes/bug-1996859-update-timedelta-and-old-snapmirror-schedules-b565d4163663ffa0.yaml":[{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"944bca92_ef738aa0","line":4,"range":{"start_line":4,"start_character":24,"end_line":4,"end_character":32},"updated":"2023-03-02 14:28:12.000000000","message":"fixed","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"489e19e4_eeb0d25d","line":4,"range":{"start_line":4,"start_character":24,"end_line":4,"end_character":32},"in_reply_to":"944bca92_ef738aa0","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"},{"line_number":8,"context_line":"    value. For more details, please refer"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"2a9fdbf4_2d102350","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":32},"updated":"2023-03-02 14:28:12.000000000","message":"`netapp_snapmirror_schedule` configuration option","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"},{"line_number":8,"context_line":"    value. For more details, please refer"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"998a2bf2_058385b4","line":5,"range":{"start_line":5,"start_character":43,"end_line":5,"end_character":60},"updated":"2023-03-02 14:28:12.000000000","message":"fixed one hour value.","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"},{"line_number":8,"context_line":"    value. For more details, please refer"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"f61aac75_f3dc14ad","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":32},"in_reply_to":"2a9fdbf4_2d102350","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"},{"line_number":8,"context_line":"    value. For more details, please refer"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"c82be8da_8105da89","line":5,"range":{"start_line":5,"start_character":43,"end_line":5,"end_character":60},"in_reply_to":"998a2bf2_058385b4","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"},{"line_number":8,"context_line":"    value. For more details, please refer"},{"line_number":9,"context_line":"    `Launchpad bug #1996859 \u003chttps://bugs.launchpad.net/manila/+bug/1996859\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"b889a6d6_c57eb35a","line":6,"range":{"start_line":6,"start_character":64,"end_line":6,"end_character":68},"updated":"2023-03-02 14:28:12.000000000","message":"existing","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"},{"line_number":8,"context_line":"    value. For more details, please refer"},{"line_number":9,"context_line":"    `Launchpad bug #1996859 \u003chttps://bugs.launchpad.net/manila/+bug/1996859\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1db7ef54_36b27dae","line":6,"range":{"start_line":6,"start_character":40,"end_line":6,"end_character":56},"updated":"2023-03-02 14:28:12.000000000","message":"option","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"},{"line_number":8,"context_line":"    value. For more details, please refer"},{"line_number":9,"context_line":"    `Launchpad bug #1996859 \u003chttps://bugs.launchpad.net/manila/+bug/1996859\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1df283c2_9f47f24b","line":6,"range":{"start_line":6,"start_character":40,"end_line":6,"end_character":56},"in_reply_to":"1db7ef54_36b27dae","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"},{"line_number":8,"context_line":"    value. For more details, please refer"},{"line_number":9,"context_line":"    `Launchpad bug #1996859 \u003chttps://bugs.launchpad.net/manila/+bug/1996859\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"48fbc8bf_eff18122","line":6,"range":{"start_line":6,"start_character":64,"end_line":6,"end_character":68},"in_reply_to":"b889a6d6_c57eb35a","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ced61446a9fec840d510c880399683abb535f13c","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"},{"line_number":8,"context_line":"    value. For more details, please refer"},{"line_number":9,"context_line":"    `Launchpad bug #1996859 \u003chttps://bugs.launchpad.net/manila/+bug/1996859\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"eb727d13_42bd1aa5","line":8,"range":{"start_line":6,"start_character":63,"end_line":8,"end_character":9},"updated":"2023-03-02 14:28:12.000000000","message":"ensure periodically that existent snapmirrors have the schedule property according to the `netapp_snapmirror_schedule` configuration value.","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e071ed7b4fcb57af171610cf1f865825f266bbd3","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    NetApp ONTAP driver updated to consider timestamp delta calculated from"},{"line_number":5,"context_line":"    async schedule config option instead of hard-coded value. Delta is"},{"line_number":6,"context_line":"    calculated as twice the time of the schedule seconds. Also, old snapmirror"},{"line_number":7,"context_line":"    schedule is modified according to the \u0027netapp_snapmirror_schedule\u0027 config"},{"line_number":8,"context_line":"    value. For more details, please refer"},{"line_number":9,"context_line":"    `Launchpad bug #1996859 \u003chttps://bugs.launchpad.net/manila/+bug/1996859\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"270f1932_2889e82a","line":8,"range":{"start_line":6,"start_character":63,"end_line":8,"end_character":9},"in_reply_to":"eb727d13_42bd1aa5","updated":"2023-03-10 17:30:00.000000000","message":"Done","commit_id":"c03472da12cb4d6ec50f380b7c3ce6acbdca4f8c"}]}
