)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":33795,"name":"nikhil kshirsagar","email":"nikhil.kshirsagar@canonical.com","username":"nkshirsagar"},"change_message_id":"4ff76944bb9c95e3816b822c5ed7945be28e40a2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3037071f_e252ce40","updated":"2023-08-01 08:06:53.000000000","message":"Hi Eric, Biser, please may I get a review/+1 for this backport?","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"},{"author":{"_account_id":35429,"name":"Biser Milanov","email":"biser.milanov@storpool.com","username":"sp-bmilanov"},"change_message_id":"38eeb153229ce7304229eb6928d728808203c4ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"eb88f9bb_90498c5b","updated":"2023-08-02 07:12:15.000000000","message":"Hi Nikhil,\n\nI have added two comments, one is very minor. Thank you for the effort!","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"},{"author":{"_account_id":33795,"name":"nikhil kshirsagar","email":"nikhil.kshirsagar@canonical.com","username":"nkshirsagar"},"change_message_id":"597e6ffe5c9bc8fa05a281b488f5b2a574b36853","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3f27d01e_f4cefb09","updated":"2023-08-02 10:29:58.000000000","message":"Is it OK to have the changes just go into the backport?","commit_id":"1490446e0b5f3ee1669221cdb0bbdea6008c40e7"},{"author":{"_account_id":35429,"name":"Biser Milanov","email":"biser.milanov@storpool.com","username":"sp-bmilanov"},"change_message_id":"2421f4f7585ba6a8c731f67b596e1aabfe3bb24f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"899bfcbe_0ad3f963","updated":"2023-08-02 10:19:50.000000000","message":"LGTM, thanks!","commit_id":"1490446e0b5f3ee1669221cdb0bbdea6008c40e7"},{"author":{"_account_id":33795,"name":"nikhil kshirsagar","email":"nikhil.kshirsagar@canonical.com","username":"nkshirsagar"},"change_message_id":"dc17f7eacd45ce3fcbed5422495766ccc33b95b2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3065a9fc_a19e1b6f","updated":"2023-08-02 09:55:37.000000000","message":"Thanks for the suggestions Biser, I\u0027ve made the changes you suggested.","commit_id":"1490446e0b5f3ee1669221cdb0bbdea6008c40e7"},{"author":{"_account_id":35429,"name":"Biser Milanov","email":"biser.milanov@storpool.com","username":"sp-bmilanov"},"change_message_id":"09be1e8e2f2e3c5b6c89b720b986a26277886ce3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"883bf9c8_7b969212","updated":"2023-08-03 06:23:23.000000000","message":"\u003e Hi Bisner, I think since this is a cherry-picked backport, it\u0027s better to not change the patch just in the backport. Hope this is OK, I have reverted the patch to patchset1, which was the clean cherry pick.\n\n\u003e Hi Biser, I could submit the changes you suggested as a separate patch to main later, if that is OK.\n\nYep, that\u0027s OK, it seems reasonable.","commit_id":"994cfb3f38b7481c8bf06a615bd9959f93bbd142"},{"author":{"_account_id":33795,"name":"nikhil kshirsagar","email":"nikhil.kshirsagar@canonical.com","username":"nkshirsagar"},"change_message_id":"52bcf743bd9dce384cddbd4c7668bc725a4d301d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ae2068e5_e57528ad","updated":"2023-08-10 05:24:25.000000000","message":"Can this be merged, would it need another +1?","commit_id":"994cfb3f38b7481c8bf06a615bd9959f93bbd142"},{"author":{"_account_id":33795,"name":"nikhil kshirsagar","email":"nikhil.kshirsagar@canonical.com","username":"nkshirsagar"},"change_message_id":"fae7c436555bcec007d45b7fa7708ccead8eb68a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"00ba7b86_2cd2a759","updated":"2023-08-02 14:35:59.000000000","message":"Hi Biser, I could submit the changes you suggested as a separate patch to main later, if that is OK.","commit_id":"994cfb3f38b7481c8bf06a615bd9959f93bbd142"},{"author":{"_account_id":33795,"name":"nikhil kshirsagar","email":"nikhil.kshirsagar@canonical.com","username":"nkshirsagar"},"change_message_id":"c3c550e570a4564d6138dc3baa5faf1bdfeec8c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"cda91f50_ea3262ae","updated":"2023-08-02 14:31:17.000000000","message":"Hi Bisner, I think since this is a cherry-picked backport, it\u0027s better to not change the patch just in the backport. Hope this is OK, I have reverted the patch to patchset1, which was the clean cherry pick.","commit_id":"994cfb3f38b7481c8bf06a615bd9959f93bbd142"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"bfbe48d67f7644b06aee5580b8028225df55724f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3572c545_1382904a","updated":"2023-09-12 11:06:23.000000000","message":"included in Zed, clean backport, looks good for yoga.","commit_id":"994cfb3f38b7481c8bf06a615bd9959f93bbd142"},{"author":{"_account_id":33795,"name":"nikhil kshirsagar","email":"nikhil.kshirsagar@canonical.com","username":"nkshirsagar"},"change_message_id":"3a0f2a88783f228d5d478ea5b0bae5725d1a7ef3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c67989f3_65ff15d1","updated":"2023-09-01 04:19:07.000000000","message":"run-TOYOU TYDS CI","commit_id":"994cfb3f38b7481c8bf06a615bd9959f93bbd142"}],"os_brick/initiator/linuxscsi.py":[{"author":{"_account_id":35429,"name":"Biser Milanov","email":"biser.milanov@storpool.com","username":"sp-bmilanov"},"change_message_id":"38eeb153229ce7304229eb6928d728808203c4ee","unresolved":true,"context_lines":[{"line_number":575,"context_line":""},{"line_number":576,"context_line":"    def _multipath_resize_map(self, mpath_id):"},{"line_number":577,"context_line":"        cmd \u003d (\u0027multipathd\u0027, \u0027resize\u0027, \u0027map\u0027, mpath_id)"},{"line_number":578,"context_line":"        (out, _err) \u003d self._execute(*cmd,"},{"line_number":579,"context_line":"                                    run_as_root\u003dTrue,"},{"line_number":580,"context_line":"                                    root_helper\u003dself._root_helper)"},{"line_number":581,"context_line":"        if \u0027fail\u0027 in out or \u0027timeout\u0027 in out:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9b708cab_804c3c65","line":578,"updated":"2023-08-02 07:12:15.000000000","message":"Nit: By prefixing `err` with an underscore, I would expect it to not be used anywhere else. Yet it is passed to `ProcessExecutionError()` a few lines below.","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"},{"author":{"_account_id":35429,"name":"Biser Milanov","email":"biser.milanov@storpool.com","username":"sp-bmilanov"},"change_message_id":"2421f4f7585ba6a8c731f67b596e1aabfe3bb24f","unresolved":false,"context_lines":[{"line_number":575,"context_line":""},{"line_number":576,"context_line":"    def _multipath_resize_map(self, mpath_id):"},{"line_number":577,"context_line":"        cmd \u003d (\u0027multipathd\u0027, \u0027resize\u0027, \u0027map\u0027, mpath_id)"},{"line_number":578,"context_line":"        (out, _err) \u003d self._execute(*cmd,"},{"line_number":579,"context_line":"                                    run_as_root\u003dTrue,"},{"line_number":580,"context_line":"                                    root_helper\u003dself._root_helper)"},{"line_number":581,"context_line":"        if \u0027fail\u0027 in out or \u0027timeout\u0027 in out:"}],"source_content_type":"text/x-python","patch_set":1,"id":"20d16a8f_1761dfd0","line":578,"in_reply_to":"67662c10_0555df52","updated":"2023-08-02 10:19:50.000000000","message":"Done","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"},{"author":{"_account_id":33795,"name":"nikhil kshirsagar","email":"nikhil.kshirsagar@canonical.com","username":"nkshirsagar"},"change_message_id":"dc17f7eacd45ce3fcbed5422495766ccc33b95b2","unresolved":true,"context_lines":[{"line_number":575,"context_line":""},{"line_number":576,"context_line":"    def _multipath_resize_map(self, mpath_id):"},{"line_number":577,"context_line":"        cmd \u003d (\u0027multipathd\u0027, \u0027resize\u0027, \u0027map\u0027, mpath_id)"},{"line_number":578,"context_line":"        (out, _err) \u003d self._execute(*cmd,"},{"line_number":579,"context_line":"                                    run_as_root\u003dTrue,"},{"line_number":580,"context_line":"                                    root_helper\u003dself._root_helper)"},{"line_number":581,"context_line":"        if \u0027fail\u0027 in out or \u0027timeout\u0027 in out:"}],"source_content_type":"text/x-python","patch_set":1,"id":"67662c10_0555df52","line":578,"in_reply_to":"9b708cab_804c3c65","updated":"2023-08-02 09:55:37.000000000","message":"ack, I\u0027ve used resize_error","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"},{"author":{"_account_id":35429,"name":"Biser Milanov","email":"biser.milanov@storpool.com","username":"sp-bmilanov"},"change_message_id":"38eeb153229ce7304229eb6928d728808203c4ee","unresolved":true,"context_lines":[{"line_number":595,"context_line":"        # \"multipathd reconfigure\" is async since 0.6.1. While the"},{"line_number":596,"context_line":"        # operation is in progress, \"multipathd resize map\" returns"},{"line_number":597,"context_line":"        # \"timeout\"."},{"line_number":598,"context_line":"        tstart \u003d time.time()"},{"line_number":599,"context_line":"        while True:"},{"line_number":600,"context_line":"            try:"},{"line_number":601,"context_line":"                self._multipath_resize_map(mpath_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ca50aa97_8ff86fc2","line":598,"updated":"2023-08-02 07:12:15.000000000","message":"Seems like `time.time()` can jump around, leading to the the retry logic below either taking more (or less) than `MULTIPATHD_RESIZE_TIMEOUT` [1]. Might be better to use `time.clock_gettime(time.CLOCK_MONOTONIC)`? [2]\n\n[1]: https://docs.python.org/3/library/time.html#time.time\n[2]: https://docs.python.org/3/library/time.html#time.clock_gettime","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"},{"author":{"_account_id":35429,"name":"Biser Milanov","email":"biser.milanov@storpool.com","username":"sp-bmilanov"},"change_message_id":"2421f4f7585ba6a8c731f67b596e1aabfe3bb24f","unresolved":false,"context_lines":[{"line_number":595,"context_line":"        # \"multipathd reconfigure\" is async since 0.6.1. While the"},{"line_number":596,"context_line":"        # operation is in progress, \"multipathd resize map\" returns"},{"line_number":597,"context_line":"        # \"timeout\"."},{"line_number":598,"context_line":"        tstart \u003d time.time()"},{"line_number":599,"context_line":"        while True:"},{"line_number":600,"context_line":"            try:"},{"line_number":601,"context_line":"                self._multipath_resize_map(mpath_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"e597a05a_847e93a3","line":598,"in_reply_to":"b00d2e1b_ca9ec815","updated":"2023-08-02 10:19:50.000000000","message":"Done","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"},{"author":{"_account_id":33795,"name":"nikhil kshirsagar","email":"nikhil.kshirsagar@canonical.com","username":"nkshirsagar"},"change_message_id":"dc17f7eacd45ce3fcbed5422495766ccc33b95b2","unresolved":true,"context_lines":[{"line_number":595,"context_line":"        # \"multipathd reconfigure\" is async since 0.6.1. While the"},{"line_number":596,"context_line":"        # operation is in progress, \"multipathd resize map\" returns"},{"line_number":597,"context_line":"        # \"timeout\"."},{"line_number":598,"context_line":"        tstart \u003d time.time()"},{"line_number":599,"context_line":"        while True:"},{"line_number":600,"context_line":"            try:"},{"line_number":601,"context_line":"                self._multipath_resize_map(mpath_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"b00d2e1b_ca9ec815","line":598,"in_reply_to":"ca50aa97_8ff86fc2","updated":"2023-08-02 09:55:37.000000000","message":"ack thank you for the suggestions, done.","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"},{"author":{"_account_id":35429,"name":"Biser Milanov","email":"biser.milanov@storpool.com","username":"sp-bmilanov"},"change_message_id":"38eeb153229ce7304229eb6928d728808203c4ee","unresolved":true,"context_lines":[{"line_number":602,"context_line":"                break"},{"line_number":603,"context_line":"            except putils.ProcessExecutionError as err:"},{"line_number":604,"context_line":"                with excutils.save_and_reraise_exception(reraise\u003dTrue) as ctx:"},{"line_number":605,"context_line":"                    elapsed \u003d time.time() - tstart"},{"line_number":606,"context_line":"                    if \u0027timeout\u0027 in err.stdout and ("},{"line_number":607,"context_line":"                            elapsed \u003c MULTIPATHD_RESIZE_TIMEOUT):"},{"line_number":608,"context_line":"                        LOG.debug("}],"source_content_type":"text/x-python","patch_set":1,"id":"e0497e47_c102da58","line":605,"updated":"2023-08-02 07:12:15.000000000","message":"Ditto about `time.time()`.","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"},{"author":{"_account_id":35429,"name":"Biser Milanov","email":"biser.milanov@storpool.com","username":"sp-bmilanov"},"change_message_id":"2421f4f7585ba6a8c731f67b596e1aabfe3bb24f","unresolved":false,"context_lines":[{"line_number":602,"context_line":"                break"},{"line_number":603,"context_line":"            except putils.ProcessExecutionError as err:"},{"line_number":604,"context_line":"                with excutils.save_and_reraise_exception(reraise\u003dTrue) as ctx:"},{"line_number":605,"context_line":"                    elapsed \u003d time.time() - tstart"},{"line_number":606,"context_line":"                    if \u0027timeout\u0027 in err.stdout and ("},{"line_number":607,"context_line":"                            elapsed \u003c MULTIPATHD_RESIZE_TIMEOUT):"},{"line_number":608,"context_line":"                        LOG.debug("}],"source_content_type":"text/x-python","patch_set":1,"id":"048fc0ae_28470b46","line":605,"in_reply_to":"30aaa600_2a5c8792","updated":"2023-08-02 10:19:50.000000000","message":"Done","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"},{"author":{"_account_id":33795,"name":"nikhil kshirsagar","email":"nikhil.kshirsagar@canonical.com","username":"nkshirsagar"},"change_message_id":"dc17f7eacd45ce3fcbed5422495766ccc33b95b2","unresolved":true,"context_lines":[{"line_number":602,"context_line":"                break"},{"line_number":603,"context_line":"            except putils.ProcessExecutionError as err:"},{"line_number":604,"context_line":"                with excutils.save_and_reraise_exception(reraise\u003dTrue) as ctx:"},{"line_number":605,"context_line":"                    elapsed \u003d time.time() - tstart"},{"line_number":606,"context_line":"                    if \u0027timeout\u0027 in err.stdout and ("},{"line_number":607,"context_line":"                            elapsed \u003c MULTIPATHD_RESIZE_TIMEOUT):"},{"line_number":608,"context_line":"                        LOG.debug("}],"source_content_type":"text/x-python","patch_set":1,"id":"30aaa600_2a5c8792","line":605,"in_reply_to":"e0497e47_c102da58","updated":"2023-08-02 09:55:37.000000000","message":"done","commit_id":"da063b21a51565f1d73c515aa320aebc900903ef"}]}
