)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"aa4e106956b0f25300c3e719caa9b23ba303b656","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Hitachi: Add maintenance parameters"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds maintenance parameters for Hitachi driver like timeout"},{"line_number":10,"context_line":"value and retry value and so on."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I3ec6e737323b47e8d17633ab80354203e2df3c9b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"cb72a276_8e776e98","line":10,"range":{"start_line":9,"start_character":58,"end_line":10,"end_character":32},"updated":"2021-12-27 13:35:24.000000000","message":"Please consider it to be more detailed.","commit_id":"a628d67d2954e4a9f29542991aad30ee047bc781"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"a7a51beba8efb92558fe7267590744a71fee88ab","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Hitachi: Add maintenance parameters"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds maintenance parameters for Hitachi driver like timeout"},{"line_number":10,"context_line":"value and retry value and so on."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I3ec6e737323b47e8d17633ab80354203e2df3c9b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"29264adf_7d50e5df","line":10,"range":{"start_line":9,"start_character":58,"end_line":10,"end_character":32},"in_reply_to":"cb72a276_8e776e98","updated":"2022-01-13 10:29:20.000000000","message":"Thank you for your comment. I\u0027ll describe details in commit message, if submitting this patch again.","commit_id":"a628d67d2954e4a9f29542991aad30ee047bc781"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"3cb2dac408fd8d1dc80ea63b42fd9a41a1f47d1e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a81413dc_f2715deb","updated":"2021-10-27 00:28:55.000000000","message":"recheck","commit_id":"f67743e87ae4c2e61cad20efb1fbd9012bf07273"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"d0f1580644735fd4013baba05032a0afcef38f6a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5d94f8f6_adacfd80","updated":"2021-10-27 00:36:36.000000000","message":"recheck\n","commit_id":"f67743e87ae4c2e61cad20efb1fbd9012bf07273"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"48edf394c76950a8020686e746dafa6c43642a00","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c762d378_519785d6","in_reply_to":"5d94f8f6_adacfd80","updated":"2021-12-21 14:05:39.000000000","message":"Done","commit_id":"f67743e87ae4c2e61cad20efb1fbd9012bf07273"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"aa4e106956b0f25300c3e719caa9b23ba303b656","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d1a5fcaa_45f9ec2e","updated":"2021-12-27 13:35:24.000000000","message":"The code looks good and Hitachi VSP CI passed. ","commit_id":"a628d67d2954e4a9f29542991aad30ee047bc781"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"a7a51beba8efb92558fe7267590744a71fee88ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4efcd402_60f62723","in_reply_to":"d1a5fcaa_45f9ec2e","updated":"2022-01-13 10:29:20.000000000","message":"Thank you","commit_id":"a628d67d2954e4a9f29542991aad30ee047bc781"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c5e6b07a56efadef18d2d92f244d0ae822b989d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2dbe189d_aa999214","updated":"2022-01-16 19:29:45.000000000","message":"A few things to think about noted inline (but they can be handled in a follow up).  Otherwise, LGTM, and I think you\u0027ve addressed the other reviewers\u0027 comments.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"34e9b844_d2eb72d0","updated":"2022-03-02 15:44:48.000000000","message":"Few comments inline to be addressed in the followup here https://review.opendev.org/c/openstack/cinder/+/827259\nJust to clarify, everything doesn\u0027t need to be addressed with a code change, some are questions and require reasoning as to why it is done in that certain way which will suffice.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"4efd7d472d1885bab6474ea7f293f09c03dc8ab3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8f20781a_d815f6ab","updated":"2022-01-20 17:09:39.000000000","message":"I have some nits in-line.  I think they can be addressed with follow-on patches though.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":28403,"name":"Naoki Saito","email":"nasaito@nec.com","username":"n-saito"},"change_message_id":"73507f269d1da07576693ec56dd8107860fc31d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"813b6503_e1bd8ff9","updated":"2022-01-20 00:49:00.000000000","message":"LGTM","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"97524b3ed61520c11763c43d0797a8e8f8cd624a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d5946fcb_f30c342b","updated":"2022-01-21 13:53:29.000000000","message":"LGTM.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"ec4d4414d7f570a782c0cc36e6c4915f3dd3795d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"05251f81_4e044fe3","updated":"2022-01-19 13:46:24.000000000","message":"Upgrading priority as some new driver patches depend on this change.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65ff062c8bcc7a9719908c66e85ff72b5e210b3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0e00c5f6_bfe6952d","updated":"2022-01-20 21:49:42.000000000","message":"Waiting to approve until we have an acknowledgement that our follow-on suggestion comments have been read.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":32966,"name":"jiang guodao","email":"jguodao@vmware.com","username":"jguodao"},"change_message_id":"7270f8a7ea22e9d30b4ba3f0c9935c9fe128a69e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"34430da8_91d94172","updated":"2022-01-17 01:40:44.000000000","message":"vmware-recheck-patch","commit_id":"2925aa974f411e58972028ff6f1c986353033560"}],"cinder/volume/drivers/hitachi/hbsd_common.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"22dbc0ed0fe29a2b71a7d3412fdd74a9e02f9de7","unresolved":true,"context_lines":[{"line_number":89,"context_line":"        \u0027hitachi_copy_speed\u0027,"},{"line_number":90,"context_line":"        default\u003d3,"},{"line_number":91,"context_line":"        min\u003d1, max\u003d15,"},{"line_number":92,"context_line":"        help\u003d\u0027Copy speed of storage system\u0027),"},{"line_number":93,"context_line":"    cfg.IntOpt("},{"line_number":94,"context_line":"        \u0027hitachi_copy_check_interval\u0027,"},{"line_number":95,"context_line":"        default\u003d3,"}],"source_content_type":"text/x-python","patch_set":2,"id":"4ad73c6c_5b7e98dc","line":92,"range":{"start_line":92,"start_character":14,"end_line":92,"end_character":24},"updated":"2021-05-27 14:05:38.000000000","message":"Does this have an associated unit that could be described here?","commit_id":"8d43308fab8dc480798775a3c4a178d1c9846bbb"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"22dbc0ed0fe29a2b71a7d3412fdd74a9e02f9de7","unresolved":true,"context_lines":[{"line_number":94,"context_line":"        \u0027hitachi_copy_check_interval\u0027,"},{"line_number":95,"context_line":"        default\u003d3,"},{"line_number":96,"context_line":"        min\u003d1, max\u003d600,"},{"line_number":97,"context_line":"        help\u003d\u0027Interval to check copy\u0027),"},{"line_number":98,"context_line":"    cfg.IntOpt("},{"line_number":99,"context_line":"        \u0027hitachi_async_copy_check_interval\u0027,"},{"line_number":100,"context_line":"        default\u003d10,"}],"source_content_type":"text/x-python","patch_set":2,"id":"c723fce1_063ebb2d","line":97,"range":{"start_line":97,"start_character":14,"end_line":97,"end_character":22},"updated":"2021-05-27 14:05:38.000000000","message":"in seconds?","commit_id":"8d43308fab8dc480798775a3c4a178d1c9846bbb"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"22dbc0ed0fe29a2b71a7d3412fdd74a9e02f9de7","unresolved":true,"context_lines":[{"line_number":99,"context_line":"        \u0027hitachi_async_copy_check_interval\u0027,"},{"line_number":100,"context_line":"        default\u003d10,"},{"line_number":101,"context_line":"        min\u003d1, max\u003d600,"},{"line_number":102,"context_line":"        help\u003d\u0027Interval to check copy asynchronously\u0027),"},{"line_number":103,"context_line":"]"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"_REQUIRED_COMMON_OPTS \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"83286092_6e3ab094","line":102,"range":{"start_line":102,"start_character":14,"end_line":102,"end_character":22},"updated":"2021-05-27 14:05:38.000000000","message":"in seconds?","commit_id":"8d43308fab8dc480798775a3c4a178d1c9846bbb"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"346555d0f126f56b1c91baf9bc747ac778f3b16c","unresolved":true,"context_lines":[{"line_number":96,"context_line":"        \u0027hitachi_copy_check_interval\u0027,"},{"line_number":97,"context_line":"        default\u003d3,"},{"line_number":98,"context_line":"        min\u003d1, max\u003d600,"},{"line_number":99,"context_line":"        help\u003d\u0027Interval in seconds to check copy\u0027),"},{"line_number":100,"context_line":"    cfg.IntOpt("},{"line_number":101,"context_line":"        \u0027hitachi_async_copy_check_interval\u0027,"},{"line_number":102,"context_line":"        default\u003d10,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1197bc4e_ad937612","line":99,"range":{"start_line":99,"start_character":13,"end_line":99,"end_character":48},"updated":"2022-01-13 14:54:24.000000000","message":"It would be good if this explained more about what this does and why an admin would set this option.","commit_id":"a628d67d2954e4a9f29542991aad30ee047bc781"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"d67d8e990c0444214ac5a1bcc612a2fc34963736","unresolved":true,"context_lines":[{"line_number":96,"context_line":"        \u0027hitachi_copy_check_interval\u0027,"},{"line_number":97,"context_line":"        default\u003d3,"},{"line_number":98,"context_line":"        min\u003d1, max\u003d600,"},{"line_number":99,"context_line":"        help\u003d\u0027Interval in seconds to check copy\u0027),"},{"line_number":100,"context_line":"    cfg.IntOpt("},{"line_number":101,"context_line":"        \u0027hitachi_async_copy_check_interval\u0027,"},{"line_number":102,"context_line":"        default\u003d10,"}],"source_content_type":"text/x-python","patch_set":5,"id":"254758f6_ad1d3fdb","line":99,"range":{"start_line":99,"start_character":13,"end_line":99,"end_character":48},"in_reply_to":"1197bc4e_ad937612","updated":"2022-01-14 12:29:25.000000000","message":"Thank you for your reviewing. I\u0027ll submit Patchset 6 with revised help message.\nWhy admin should consider this option is: the option could affect performance. \nIf decreasing the option value, some cinder operation would be faster because the driver could get early whether if copying(pair creation) had been done. On the other hand, the driver should call an API to check copying status many times. So admin should set this option if they have performance issue related copying. Excuse me, above explanation is too long to describe in help message.","commit_id":"a628d67d2954e4a9f29542991aad30ee047bc781"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":89,"context_line":"        \u0027hitachi_copy_speed\u0027,"},{"line_number":90,"context_line":"        default\u003d3,"},{"line_number":91,"context_line":"        min\u003d1, max\u003d15,"},{"line_number":92,"context_line":"        help\u003d\u0027Copy speed of storage system. 1 or 2 indicates \u0027"},{"line_number":93,"context_line":"             \u0027low speed, 3 indicates middle speed, and a value between 4 and \u0027"},{"line_number":94,"context_line":"             \u002715 indicates high speed.\u0027),"},{"line_number":95,"context_line":"    cfg.IntOpt("},{"line_number":96,"context_line":"        \u0027hitachi_copy_check_interval\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c0df6d23_510bc1a3","line":93,"range":{"start_line":92,"start_character":44,"end_line":93,"end_character":23},"updated":"2022-03-02 15:44:48.000000000","message":"is there a difference between the two values i.e. are these treated as different speeds in the backend? Looking at this help text, it seems like both values perform the copy operation at same speed.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"abd61c1781ff518ede08e42f9686988eef24131c","unresolved":true,"context_lines":[{"line_number":89,"context_line":"        \u0027hitachi_copy_speed\u0027,"},{"line_number":90,"context_line":"        default\u003d3,"},{"line_number":91,"context_line":"        min\u003d1, max\u003d15,"},{"line_number":92,"context_line":"        help\u003d\u0027Copy speed of storage system. 1 or 2 indicates \u0027"},{"line_number":93,"context_line":"             \u0027low speed, 3 indicates middle speed, and a value between 4 and \u0027"},{"line_number":94,"context_line":"             \u002715 indicates high speed.\u0027),"},{"line_number":95,"context_line":"    cfg.IntOpt("},{"line_number":96,"context_line":"        \u0027hitachi_copy_check_interval\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"a564ca93_a3b6f76d","line":93,"range":{"start_line":92,"start_character":44,"end_line":93,"end_character":23},"in_reply_to":"c0df6d23_510bc1a3","updated":"2022-03-04 00:44:14.000000000","message":"Yes. copy speed is same if set both 1 or 2. This cunfusable range of values are along storage specification, but Hitachi storage users would be easy to understand to use same range of values b/w storage specificatgion and Hitachi driver.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":90,"context_line":"        default\u003d3,"},{"line_number":91,"context_line":"        min\u003d1, max\u003d15,"},{"line_number":92,"context_line":"        help\u003d\u0027Copy speed of storage system. 1 or 2 indicates \u0027"},{"line_number":93,"context_line":"             \u0027low speed, 3 indicates middle speed, and a value between 4 and \u0027"},{"line_number":94,"context_line":"             \u002715 indicates high speed.\u0027),"},{"line_number":95,"context_line":"    cfg.IntOpt("},{"line_number":96,"context_line":"        \u0027hitachi_copy_check_interval\u0027,"},{"line_number":97,"context_line":"        default\u003d3,"}],"source_content_type":"text/x-python","patch_set":6,"id":"36c1ac3f_0c9b89f5","line":94,"range":{"start_line":93,"start_character":50,"end_line":94,"end_character":38},"updated":"2022-03-02 15:44:48.000000000","message":"If high speed is a category where the values 4-15 indicate slight increment in copy speed as the value increases, i think it is worth mentioning that else operators might think the value 4 and 15 perform the operation at same speed.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"abd61c1781ff518ede08e42f9686988eef24131c","unresolved":true,"context_lines":[{"line_number":90,"context_line":"        default\u003d3,"},{"line_number":91,"context_line":"        min\u003d1, max\u003d15,"},{"line_number":92,"context_line":"        help\u003d\u0027Copy speed of storage system. 1 or 2 indicates \u0027"},{"line_number":93,"context_line":"             \u0027low speed, 3 indicates middle speed, and a value between 4 and \u0027"},{"line_number":94,"context_line":"             \u002715 indicates high speed.\u0027),"},{"line_number":95,"context_line":"    cfg.IntOpt("},{"line_number":96,"context_line":"        \u0027hitachi_copy_check_interval\u0027,"},{"line_number":97,"context_line":"        default\u003d3,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f2da5bc_ff626a93","line":94,"range":{"start_line":93,"start_character":50,"end_line":94,"end_character":38},"in_reply_to":"36c1ac3f_0c9b89f5","updated":"2022-03-04 00:44:14.000000000","message":"same above. 4 and 15 shows same speed while copying.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"}],"cinder/volume/drivers/hitachi/hbsd_rest.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"22dbc0ed0fe29a2b71a7d3412fdd74a9e02f9de7","unresolved":true,"context_lines":[{"line_number":112,"context_line":"    cfg.IntOpt("},{"line_number":113,"context_line":"        \u0027hitachi_lun_timeout\u0027,"},{"line_number":114,"context_line":"        default\u003d_LUN_TIMEOUT,"},{"line_number":115,"context_line":"        help\u003d\u0027This is a non-public option.\u0027),"},{"line_number":116,"context_line":"    cfg.IntOpt("},{"line_number":117,"context_line":"        \u0027hitachi_lun_retry_interval\u0027,"},{"line_number":118,"context_line":"        default\u003d_LUN_RETRY_INTERVAL,"}],"source_content_type":"text/x-python","patch_set":2,"id":"59a2e9ac_b5881170","line":115,"range":{"start_line":115,"start_character":14,"end_line":115,"end_character":42},"updated":"2021-05-27 14:05:38.000000000","message":"These should have descriptions since they will appear in sample configs, etc.","commit_id":"8d43308fab8dc480798775a3c4a178d1c9846bbb"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c5e6b07a56efadef18d2d92f244d0ae822b989d0","unresolved":true,"context_lines":[{"line_number":37,"context_line":"_LUN_TIMEOUT \u003d 50"},{"line_number":38,"context_line":"_LUN_RETRY_INTERVAL \u003d 1"},{"line_number":39,"context_line":"_RESTORE_TIMEOUT \u003d 24 * 60 * 60"},{"line_number":40,"context_line":"_STATE_TRANSITION_TIMEOUT \u003d 15 * 60"},{"line_number":41,"context_line":"PAIR_ATTR \u003d \u0027HTI\u0027"},{"line_number":42,"context_line":"_SNAP_MODE \u003d \u0027A\u0027"},{"line_number":43,"context_line":"_CLONE_MODE \u003d \u0027C\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"a21b8755_abbfd3b9","line":40,"updated":"2022-01-16 19:29:45.000000000","message":"I think your usage of these is going to make this code difficult to maintain.  Usually these ALL_CAPS variables are used like constants, but in this file, these are used to provide default values to the config options, and then init_timer_values() re-sets their values based on the config option, and then these are used in the code.  If someone uses one of these before init_timer_values() is called, you will get a bug (using an incorrect timeout value) that will be difficult to trace.\n\nSince init_timer_values() is being called in HBDREST.__init__(), it\u0027s unlikely this will happen, but as this code is maintained and refactored, you never know.  This issue doesn\u0027t seem to have bothered any other reviewers, so I won\u0027t hold this patch up over it, but you might want to consider a follow-up refactoring.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"97524b3ed61520c11763c43d0797a8e8f8cd624a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"_LUN_TIMEOUT \u003d 50"},{"line_number":38,"context_line":"_LUN_RETRY_INTERVAL \u003d 1"},{"line_number":39,"context_line":"_RESTORE_TIMEOUT \u003d 24 * 60 * 60"},{"line_number":40,"context_line":"_STATE_TRANSITION_TIMEOUT \u003d 15 * 60"},{"line_number":41,"context_line":"PAIR_ATTR \u003d \u0027HTI\u0027"},{"line_number":42,"context_line":"_SNAP_MODE \u003d \u0027A\u0027"},{"line_number":43,"context_line":"_CLONE_MODE \u003d \u0027C\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"f3277826_e39f312a","line":40,"in_reply_to":"06399a2f_4eb50b9a","updated":"2022-01-21 13:53:29.000000000","message":"Great.  You don\u0027t need to wait for Z; bugfixes and refactoring changes are acceptable any time before the first Release Candidate is cut the week of 7 March.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"11a2c5ea85fcef095383123a495a5efff054aebc","unresolved":false,"context_lines":[{"line_number":37,"context_line":"_LUN_TIMEOUT \u003d 50"},{"line_number":38,"context_line":"_LUN_RETRY_INTERVAL \u003d 1"},{"line_number":39,"context_line":"_RESTORE_TIMEOUT \u003d 24 * 60 * 60"},{"line_number":40,"context_line":"_STATE_TRANSITION_TIMEOUT \u003d 15 * 60"},{"line_number":41,"context_line":"PAIR_ATTR \u003d \u0027HTI\u0027"},{"line_number":42,"context_line":"_SNAP_MODE \u003d \u0027A\u0027"},{"line_number":43,"context_line":"_CLONE_MODE \u003d \u0027C\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"06399a2f_4eb50b9a","line":40,"in_reply_to":"a21b8755_abbfd3b9","updated":"2022-01-21 03:15:50.000000000","message":"Thank you. I\u0027ll consider the point above for Z release.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"_LUN_TIMEOUT \u003d 50"},{"line_number":38,"context_line":"_LUN_RETRY_INTERVAL \u003d 1"},{"line_number":39,"context_line":"_RESTORE_TIMEOUT \u003d 24 * 60 * 60"},{"line_number":40,"context_line":"_STATE_TRANSITION_TIMEOUT \u003d 15 * 60"},{"line_number":41,"context_line":"PAIR_ATTR \u003d \u0027HTI\u0027"},{"line_number":42,"context_line":"_SNAP_MODE \u003d \u0027A\u0027"},{"line_number":43,"context_line":"_CLONE_MODE \u003d \u0027C\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"a3091133_8dd67c2b","line":40,"in_reply_to":"f3277826_e39f312a","updated":"2022-03-02 15:44:48.000000000","message":"+1 to Brian, same thoughts","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":98,"context_line":"    cfg.BoolOpt("},{"line_number":99,"context_line":"        \u0027hitachi_rest_disable_io_wait\u0027,"},{"line_number":100,"context_line":"        default\u003dTrue,"},{"line_number":101,"context_line":"        help\u003d\u0027It may take some time to detach volume after I/O. \u0027"},{"line_number":102,"context_line":"             \u0027This option will allow detaching volume to complete \u0027"},{"line_number":103,"context_line":"             \u0027immediately.\u0027),"},{"line_number":104,"context_line":"    cfg.BoolOpt("}],"source_content_type":"text/x-python","patch_set":6,"id":"f8b96fa0_bc5bf859","line":101,"range":{"start_line":101,"start_character":14,"end_line":101,"end_character":63},"updated":"2022-03-02 15:44:48.000000000","message":"What is the reason of this wait? and are there any side effects if we enable this option to skip the wait? If the wait after IO is not required then better to not wait at all in all cases instead of setting this param but if it\u0027s only possible under certain circumstances, then please add detail about it in the help text.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"abd61c1781ff518ede08e42f9686988eef24131c","unresolved":true,"context_lines":[{"line_number":98,"context_line":"    cfg.BoolOpt("},{"line_number":99,"context_line":"        \u0027hitachi_rest_disable_io_wait\u0027,"},{"line_number":100,"context_line":"        default\u003dTrue,"},{"line_number":101,"context_line":"        help\u003d\u0027It may take some time to detach volume after I/O. \u0027"},{"line_number":102,"context_line":"             \u0027This option will allow detaching volume to complete \u0027"},{"line_number":103,"context_line":"             \u0027immediately.\u0027),"},{"line_number":104,"context_line":"    cfg.BoolOpt("}],"source_content_type":"text/x-python","patch_set":6,"id":"d424d78d_befb1e49","line":101,"range":{"start_line":101,"start_character":14,"end_line":101,"end_character":63},"in_reply_to":"f8b96fa0_bc5bf859","updated":"2022-03-04 00:44:14.000000000","message":"Storage wait detach for few minutes by their specification. I\u0027ll fix the message to tell so.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":112,"context_line":"    cfg.IntOpt("},{"line_number":113,"context_line":"        \u0027hitachi_lun_timeout\u0027,"},{"line_number":114,"context_line":"        default\u003d_LUN_TIMEOUT,"},{"line_number":115,"context_line":"        help\u003d\u0027Maximum wait time in seconds for adding a LUN to complete.\u0027),"},{"line_number":116,"context_line":"    cfg.IntOpt("},{"line_number":117,"context_line":"        \u0027hitachi_lun_retry_interval\u0027,"},{"line_number":118,"context_line":"        default\u003d_LUN_RETRY_INTERVAL,"}],"source_content_type":"text/x-python","patch_set":6,"id":"0bd81752_3a4c845d","line":115,"range":{"start_line":115,"start_character":47,"end_line":115,"end_character":59},"updated":"2022-03-02 15:44:48.000000000","message":"Looking at the place this is used, I assume this is used while attaching a LUN to the server (exporting and mapping)?\nThe wording is not very clear here as adding a LUN could also mean adding a LUN to a volume/consistency group","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"abd61c1781ff518ede08e42f9686988eef24131c","unresolved":true,"context_lines":[{"line_number":112,"context_line":"    cfg.IntOpt("},{"line_number":113,"context_line":"        \u0027hitachi_lun_timeout\u0027,"},{"line_number":114,"context_line":"        default\u003d_LUN_TIMEOUT,"},{"line_number":115,"context_line":"        help\u003d\u0027Maximum wait time in seconds for adding a LUN to complete.\u0027),"},{"line_number":116,"context_line":"    cfg.IntOpt("},{"line_number":117,"context_line":"        \u0027hitachi_lun_retry_interval\u0027,"},{"line_number":118,"context_line":"        default\u003d_LUN_RETRY_INTERVAL,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1da6b4e7_826188cc","line":115,"range":{"start_line":115,"start_character":47,"end_line":115,"end_character":59},"in_reply_to":"0bd81752_3a4c845d","updated":"2022-03-04 00:44:14.000000000","message":"The word \"LUN\" means \"mapping to storage\". I\u0027ll fix the message to tell so.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":116,"context_line":"    cfg.IntOpt("},{"line_number":117,"context_line":"        \u0027hitachi_lun_retry_interval\u0027,"},{"line_number":118,"context_line":"        default\u003d_LUN_RETRY_INTERVAL,"},{"line_number":119,"context_line":"        help\u003d\u0027Retry interval in seconds for REST API adding a LUN.\u0027),"},{"line_number":120,"context_line":"    cfg.IntOpt("},{"line_number":121,"context_line":"        \u0027hitachi_restore_timeout\u0027,"},{"line_number":122,"context_line":"        default\u003d_RESTORE_TIMEOUT,"}],"source_content_type":"text/x-python","patch_set":6,"id":"52af1e5c_31dd6339","line":119,"range":{"start_line":119,"start_character":53,"end_line":119,"end_character":66},"updated":"2022-03-02 15:44:48.000000000","message":"same as above","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a volume transition to \u0027"},{"line_number":129,"context_line":"             \u0027complete.\u0027),"},{"line_number":130,"context_line":"    cfg.IntOpt("},{"line_number":131,"context_line":"        \u0027hitachi_lock_timeout\u0027,"},{"line_number":132,"context_line":"        default\u003drest_api._LOCK_TIMEOUT,"},{"line_number":133,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a storage unlocked.\u0027),"},{"line_number":134,"context_line":"    cfg.IntOpt("}],"source_content_type":"text/x-python","patch_set":6,"id":"666507d3_0acdbc9d","line":131,"range":{"start_line":131,"start_character":9,"end_line":131,"end_character":29},"updated":"2022-03-02 15:44:48.000000000","message":"as per it\u0027s usage in the _login and _check_rest_api_response in the rest API calls, it looks more like a request timeout than a lock timeout","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"abd61c1781ff518ede08e42f9686988eef24131c","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a volume transition to \u0027"},{"line_number":129,"context_line":"             \u0027complete.\u0027),"},{"line_number":130,"context_line":"    cfg.IntOpt("},{"line_number":131,"context_line":"        \u0027hitachi_lock_timeout\u0027,"},{"line_number":132,"context_line":"        default\u003drest_api._LOCK_TIMEOUT,"},{"line_number":133,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a storage unlocked.\u0027),"},{"line_number":134,"context_line":"    cfg.IntOpt("}],"source_content_type":"text/x-python","patch_set":6,"id":"eeddf550_369d0af6","line":131,"range":{"start_line":131,"start_character":9,"end_line":131,"end_character":29},"in_reply_to":"666507d3_0acdbc9d","updated":"2022-03-04 00:44:14.000000000","message":"The value is shared between timeout value for locked and that for login.\nI\u0027ll fix message to tell so.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"4efd7d472d1885bab6474ea7f293f09c03dc8ab3","unresolved":true,"context_lines":[{"line_number":130,"context_line":"    cfg.IntOpt("},{"line_number":131,"context_line":"        \u0027hitachi_lock_timeout\u0027,"},{"line_number":132,"context_line":"        default\u003drest_api._LOCK_TIMEOUT,"},{"line_number":133,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a storage unlocked.\u0027),"},{"line_number":134,"context_line":"    cfg.IntOpt("},{"line_number":135,"context_line":"        \u0027hitachi_rest_timeout\u0027,"},{"line_number":136,"context_line":"        default\u003drest_api._REST_TIMEOUT,"}],"source_content_type":"text/x-python","patch_set":6,"id":"d71fda8e_2a31ef9c","line":133,"range":{"start_line":133,"start_character":47,"end_line":133,"end_character":65},"updated":"2022-01-20 17:09:39.000000000","message":"This wording is very awkward \u0027storage to be unlcoked\u0027 might be better.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"11a2c5ea85fcef095383123a495a5efff054aebc","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    cfg.IntOpt("},{"line_number":131,"context_line":"        \u0027hitachi_lock_timeout\u0027,"},{"line_number":132,"context_line":"        default\u003drest_api._LOCK_TIMEOUT,"},{"line_number":133,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a storage unlocked.\u0027),"},{"line_number":134,"context_line":"    cfg.IntOpt("},{"line_number":135,"context_line":"        \u0027hitachi_rest_timeout\u0027,"},{"line_number":136,"context_line":"        default\u003drest_api._REST_TIMEOUT,"}],"source_content_type":"text/x-python","patch_set":6,"id":"4594aa23_a7bcde32","line":133,"range":{"start_line":133,"start_character":47,"end_line":133,"end_character":65},"in_reply_to":"d71fda8e_2a31ef9c","updated":"2022-01-21 03:15:50.000000000","message":"Thank you. I\u0027ll change it for Z release.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":132,"context_line":"        default\u003drest_api._LOCK_TIMEOUT,"},{"line_number":133,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a storage unlocked.\u0027),"},{"line_number":134,"context_line":"    cfg.IntOpt("},{"line_number":135,"context_line":"        \u0027hitachi_rest_timeout\u0027,"},{"line_number":136,"context_line":"        default\u003drest_api._REST_TIMEOUT,"},{"line_number":137,"context_line":"        help\u003d\u0027Maximum wait time in seconds for REST API execution to \u0027"},{"line_number":138,"context_line":"             \u0027complete.\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f970c67_96e4024b","line":135,"range":{"start_line":135,"start_character":9,"end_line":135,"end_character":29},"updated":"2022-03-02 15:44:48.000000000","message":"as stated above, what is the difference between this and hitachi_lock_timeout?","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":146,"context_line":"        default\u003drest_api._EXEC_RETRY_INTERVAL,"},{"line_number":147,"context_line":"        help\u003d\u0027Retry interval in seconds for REST API execution.\u0027),"},{"line_number":148,"context_line":"    cfg.IntOpt("},{"line_number":149,"context_line":"        \u0027hitachi_rest_connect_timeout\u0027,"},{"line_number":150,"context_line":"        default\u003drest_api._DEFAULT_CONNECT_TIMEOUT,"},{"line_number":151,"context_line":"        help\u003d\u0027Maximum wait time in seconds for REST API connection to \u0027"},{"line_number":152,"context_line":"             \u0027complete.\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfed8a99_2cebc759","line":149,"range":{"start_line":149,"start_character":9,"end_line":149,"end_character":37},"updated":"2022-03-02 15:44:48.000000000","message":"I\u0027m really having trouble understanding the different REST timeouts and the usecase of defining them separately. can you enlist the difference of this parameter vs hitachi_rest_timeout?","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"abd61c1781ff518ede08e42f9686988eef24131c","unresolved":true,"context_lines":[{"line_number":146,"context_line":"        default\u003drest_api._EXEC_RETRY_INTERVAL,"},{"line_number":147,"context_line":"        help\u003d\u0027Retry interval in seconds for REST API execution.\u0027),"},{"line_number":148,"context_line":"    cfg.IntOpt("},{"line_number":149,"context_line":"        \u0027hitachi_rest_connect_timeout\u0027,"},{"line_number":150,"context_line":"        default\u003drest_api._DEFAULT_CONNECT_TIMEOUT,"},{"line_number":151,"context_line":"        help\u003d\u0027Maximum wait time in seconds for REST API connection to \u0027"},{"line_number":152,"context_line":"             \u0027complete.\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"0645fc56_bd65768d","line":149,"range":{"start_line":149,"start_character":9,"end_line":149,"end_character":37},"in_reply_to":"dfed8a99_2cebc759","updated":"2022-03-04 00:44:14.000000000","message":"The value is to check connection timeout and set as connect timeout in request.session object.\nI\u0027ll fix message to tell so.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":150,"context_line":"        default\u003drest_api._DEFAULT_CONNECT_TIMEOUT,"},{"line_number":151,"context_line":"        help\u003d\u0027Maximum wait time in seconds for REST API connection to \u0027"},{"line_number":152,"context_line":"             \u0027complete.\u0027),"},{"line_number":153,"context_line":"    cfg.IntOpt("},{"line_number":154,"context_line":"        \u0027hitachi_rest_job_api_response_timeout\u0027,"},{"line_number":155,"context_line":"        default\u003drest_api._JOB_API_RESPONSE_TIMEOUT,"},{"line_number":156,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a response from REST API.\u0027),"},{"line_number":157,"context_line":"    cfg.IntOpt("},{"line_number":158,"context_line":"        \u0027hitachi_rest_get_api_response_timeout\u0027,"},{"line_number":159,"context_line":"        default\u003drest_api._GET_API_RESPONSE_TIMEOUT,"},{"line_number":160,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a response against GET method \u0027"},{"line_number":161,"context_line":"             \u0027of REST API.\u0027),"},{"line_number":162,"context_line":"    cfg.IntOpt("},{"line_number":163,"context_line":"        \u0027hitachi_rest_server_busy_timeout\u0027,"},{"line_number":164,"context_line":"        default\u003drest_api._REST_SERVER_BUSY_TIMEOUT,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c0f83434_0cdddddd","line":161,"range":{"start_line":153,"start_character":0,"end_line":161,"end_character":29},"updated":"2022-03-02 15:44:48.000000000","message":"I understand the description here but when using these, _JOB_API_RESPONSE_TIMEOUT is used when \"async_\" flag is set (which i assume is for async rest request) and _GET_API_RESPONSE_TIMEOUT for sync calls but the description doesn\u0027t mention that clearly. Is the GET call the only sync call and all other calls are async?","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"abd61c1781ff518ede08e42f9686988eef24131c","unresolved":true,"context_lines":[{"line_number":150,"context_line":"        default\u003drest_api._DEFAULT_CONNECT_TIMEOUT,"},{"line_number":151,"context_line":"        help\u003d\u0027Maximum wait time in seconds for REST API connection to \u0027"},{"line_number":152,"context_line":"             \u0027complete.\u0027),"},{"line_number":153,"context_line":"    cfg.IntOpt("},{"line_number":154,"context_line":"        \u0027hitachi_rest_job_api_response_timeout\u0027,"},{"line_number":155,"context_line":"        default\u003drest_api._JOB_API_RESPONSE_TIMEOUT,"},{"line_number":156,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a response from REST API.\u0027),"},{"line_number":157,"context_line":"    cfg.IntOpt("},{"line_number":158,"context_line":"        \u0027hitachi_rest_get_api_response_timeout\u0027,"},{"line_number":159,"context_line":"        default\u003drest_api._GET_API_RESPONSE_TIMEOUT,"},{"line_number":160,"context_line":"        help\u003d\u0027Maximum wait time in seconds for a response against GET method \u0027"},{"line_number":161,"context_line":"             \u0027of REST API.\u0027),"},{"line_number":162,"context_line":"    cfg.IntOpt("},{"line_number":163,"context_line":"        \u0027hitachi_rest_server_busy_timeout\u0027,"},{"line_number":164,"context_line":"        default\u003drest_api._REST_SERVER_BUSY_TIMEOUT,"}],"source_content_type":"text/x-python","patch_set":6,"id":"523a5883_9aa69291","line":161,"range":{"start_line":153,"start_character":0,"end_line":161,"end_character":29},"in_reply_to":"c0f83434_0cdddddd","updated":"2022-03-04 00:44:14.000000000","message":"_JOB_API_RESPONSE_TIMEOUT and _GET_API_RESPONSE_TIMEOUT are used as read timeout in requests.session obj. Yes. _JOB_API_RESPONSE_TIMEOUT is used to check asyc REST API and _GET_API_RESPONSE_TIMEOUT is for sync REST API. I\u0027ll fix message to tell so and add example, like \"for example PUT and DELETE.\"","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"4efd7d472d1885bab6474ea7f293f09c03dc8ab3","unresolved":true,"context_lines":[{"line_number":162,"context_line":"    cfg.IntOpt("},{"line_number":163,"context_line":"        \u0027hitachi_rest_server_busy_timeout\u0027,"},{"line_number":164,"context_line":"        default\u003drest_api._REST_SERVER_BUSY_TIMEOUT,"},{"line_number":165,"context_line":"        help\u003d\u0027Maximum wait time in seconds when REST API returned busy.\u0027),"},{"line_number":166,"context_line":"    cfg.IntOpt("},{"line_number":167,"context_line":"        \u0027hitachi_rest_keep_session_loop_interval\u0027,"},{"line_number":168,"context_line":"        default\u003drest_api._KEEP_SESSION_LOOP_INTERVAL,"}],"source_content_type":"text/x-python","patch_set":6,"id":"15ca2a17_8734e9c9","line":165,"range":{"start_line":165,"start_character":57,"end_line":165,"end_character":65},"updated":"2022-01-20 17:09:39.000000000","message":"returns","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"11a2c5ea85fcef095383123a495a5efff054aebc","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    cfg.IntOpt("},{"line_number":163,"context_line":"        \u0027hitachi_rest_server_busy_timeout\u0027,"},{"line_number":164,"context_line":"        default\u003drest_api._REST_SERVER_BUSY_TIMEOUT,"},{"line_number":165,"context_line":"        help\u003d\u0027Maximum wait time in seconds when REST API returned busy.\u0027),"},{"line_number":166,"context_line":"    cfg.IntOpt("},{"line_number":167,"context_line":"        \u0027hitachi_rest_keep_session_loop_interval\u0027,"},{"line_number":168,"context_line":"        default\u003drest_api._KEEP_SESSION_LOOP_INTERVAL,"}],"source_content_type":"text/x-python","patch_set":6,"id":"8b0ce465_9c6ec7bf","line":165,"range":{"start_line":165,"start_character":57,"end_line":165,"end_character":65},"in_reply_to":"15ca2a17_8734e9c9","updated":"2022-01-21 03:15:50.000000000","message":"same as above","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c5e6b07a56efadef18d2d92f244d0ae822b989d0","unresolved":true,"context_lines":[{"line_number":186,"context_line":"    cfg.ListOpt("},{"line_number":187,"context_line":"        \u0027hitachi_host_mode_options\u0027,"},{"line_number":188,"context_line":"        default\u003d[],"},{"line_number":189,"context_line":"        help\u003d\u0027host mode option for host group or iSCSI target\u0027),"},{"line_number":190,"context_line":"]"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"_REQUIRED_REST_OPTS \u003d ["}],"source_content_type":"text/x-python","patch_set":6,"id":"4d799f19_857ca5ba","line":189,"updated":"2022-01-16 19:29:45.000000000","message":"Are operators going to know how to configure this?  From hbsd_rest_fc.py line 137, it looks like this is a list of integers.  You can add an item_type parameter here so that oslo.config will raise an exception if someone puts option names or something else that\u0027s not an integer here.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"4efd7d472d1885bab6474ea7f293f09c03dc8ab3","unresolved":true,"context_lines":[{"line_number":186,"context_line":"    cfg.ListOpt("},{"line_number":187,"context_line":"        \u0027hitachi_host_mode_options\u0027,"},{"line_number":188,"context_line":"        default\u003d[],"},{"line_number":189,"context_line":"        help\u003d\u0027host mode option for host group or iSCSI target\u0027),"},{"line_number":190,"context_line":"]"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"_REQUIRED_REST_OPTS \u003d ["}],"source_content_type":"text/x-python","patch_set":6,"id":"0761e4bd_a70970a2","line":189,"range":{"start_line":189,"start_character":14,"end_line":189,"end_character":17},"updated":"2022-01-20 17:09:39.000000000","message":"nit:  Host","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"11a2c5ea85fcef095383123a495a5efff054aebc","unresolved":false,"context_lines":[{"line_number":186,"context_line":"    cfg.ListOpt("},{"line_number":187,"context_line":"        \u0027hitachi_host_mode_options\u0027,"},{"line_number":188,"context_line":"        default\u003d[],"},{"line_number":189,"context_line":"        help\u003d\u0027host mode option for host group or iSCSI target\u0027),"},{"line_number":190,"context_line":"]"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"_REQUIRED_REST_OPTS \u003d ["}],"source_content_type":"text/x-python","patch_set":6,"id":"74d4b85b_80b9843f","line":189,"range":{"start_line":189,"start_character":14,"end_line":189,"end_character":17},"in_reply_to":"0761e4bd_a70970a2","updated":"2022-01-21 03:15:50.000000000","message":"same as above","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"11a2c5ea85fcef095383123a495a5efff054aebc","unresolved":false,"context_lines":[{"line_number":186,"context_line":"    cfg.ListOpt("},{"line_number":187,"context_line":"        \u0027hitachi_host_mode_options\u0027,"},{"line_number":188,"context_line":"        default\u003d[],"},{"line_number":189,"context_line":"        help\u003d\u0027host mode option for host group or iSCSI target\u0027),"},{"line_number":190,"context_line":"]"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"_REQUIRED_REST_OPTS \u003d ["}],"source_content_type":"text/x-python","patch_set":6,"id":"d8b1fb5f_7ce54ed9","line":189,"in_reply_to":"4d799f19_857ca5ba","updated":"2022-01-21 03:15:50.000000000","message":"It is difficult to imply all of selectable values as list and check whether correct value or not because our storage has over handred of host mode options. User should have known what values they should be set because it is written in our storage manual.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"97524b3ed61520c11763c43d0797a8e8f8cd624a","unresolved":false,"context_lines":[{"line_number":186,"context_line":"    cfg.ListOpt("},{"line_number":187,"context_line":"        \u0027hitachi_host_mode_options\u0027,"},{"line_number":188,"context_line":"        default\u003d[],"},{"line_number":189,"context_line":"        help\u003d\u0027host mode option for host group or iSCSI target\u0027),"},{"line_number":190,"context_line":"]"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"_REQUIRED_REST_OPTS \u003d ["}],"source_content_type":"text/x-python","patch_set":6,"id":"4140e1c4_8a5af7b9","line":189,"in_reply_to":"d8b1fb5f_7ce54ed9","updated":"2022-01-21 13:53:29.000000000","message":"I\u0027m not implying that you should list all possible values, just that if everything in the list is an int, you can define the option as being a list of ints, and that will be helpful to operators, and oslo.config will do the string-to-int conversion for you so that you get a list of ints and don\u0027t have to convert them yourself.  But that\u0027s up to you.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":386,"context_line":"            \u0027svol\u0027: svol % _SNAP_HASH_SIZE,"},{"line_number":387,"context_line":"        }"},{"line_number":388,"context_line":"        try:"},{"line_number":389,"context_line":"            if self.conf.hitachi_copy_speed \u003c\u003d 2:"},{"line_number":390,"context_line":"                pace \u003d \u0027slower\u0027"},{"line_number":391,"context_line":"            elif self.conf.hitachi_copy_speed \u003d\u003d 3:"},{"line_number":392,"context_line":"                pace \u003d \u0027medium\u0027"},{"line_number":393,"context_line":"            else:"},{"line_number":394,"context_line":"                pace \u003d \u0027faster\u0027"},{"line_number":395,"context_line":"            body \u003d {\"snapshotGroupName\": snapshot_name,"},{"line_number":396,"context_line":"                    \"snapshotPoolId\": self.storage_info[\u0027snap_pool_id\u0027],"},{"line_number":397,"context_line":"                    \"pvolLdevId\": pvol,"}],"source_content_type":"text/x-python","patch_set":6,"id":"39f0d7a2_0596f125","line":394,"range":{"start_line":389,"start_character":0,"end_line":394,"end_character":31},"updated":"2022-03-02 15:44:48.000000000","message":"Looking at this logic, I\u0027m confused why we need to have a range of values to set the pace whereas it could be easily mapped to a single value?\n1-\u003e slower\n2-\u003e medium\n3-\u003e faster\n\nrather than keeping range of values (as defined in the config) 1-2 for slower, 3 for medium and 4-15 for faster","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"abd61c1781ff518ede08e42f9686988eef24131c","unresolved":true,"context_lines":[{"line_number":386,"context_line":"            \u0027svol\u0027: svol % _SNAP_HASH_SIZE,"},{"line_number":387,"context_line":"        }"},{"line_number":388,"context_line":"        try:"},{"line_number":389,"context_line":"            if self.conf.hitachi_copy_speed \u003c\u003d 2:"},{"line_number":390,"context_line":"                pace \u003d \u0027slower\u0027"},{"line_number":391,"context_line":"            elif self.conf.hitachi_copy_speed \u003d\u003d 3:"},{"line_number":392,"context_line":"                pace \u003d \u0027medium\u0027"},{"line_number":393,"context_line":"            else:"},{"line_number":394,"context_line":"                pace \u003d \u0027faster\u0027"},{"line_number":395,"context_line":"            body \u003d {\"snapshotGroupName\": snapshot_name,"},{"line_number":396,"context_line":"                    \"snapshotPoolId\": self.storage_info[\u0027snap_pool_id\u0027],"},{"line_number":397,"context_line":"                    \"pvolLdevId\": pvol,"}],"source_content_type":"text/x-python","patch_set":6,"id":"b9b368ea_94bda105","line":394,"range":{"start_line":389,"start_character":0,"end_line":394,"end_character":31},"in_reply_to":"39f0d7a2_0596f125","updated":"2022-03-04 00:44:14.000000000","message":"We would like to keep using current range of values which is along REST specification. We don\u0027t think the value is 0, -x or 16 at here, because we defined min and max value in definition.\n\n    cfg.IntOpt(\n        \u0027hitachi_copy_speed\u0027,\n        default\u003d3,\n        min\u003d1, max\u003d15,","commit_id":"2925aa974f411e58972028ff6f1c986353033560"}],"cinder/volume/drivers/hitachi/hbsd_rest_fc.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a7d80dac1a91dc7002d3f547a5a3d148a35f091c","unresolved":true,"context_lines":[{"line_number":133,"context_line":"            if \u0027hostModeOptions\u0027 not in body:"},{"line_number":134,"context_line":"                body[\u0027hostModeOptions\u0027] \u003d []"},{"line_number":135,"context_line":"            for opt in self.conf.hitachi_host_mode_options:"},{"line_number":136,"context_line":"                if int(opt) not in body[\u0027hostModeOptions\u0027]:"},{"line_number":137,"context_line":"                    body[\u0027hostModeOptions\u0027].append(int(opt))"},{"line_number":138,"context_line":"        self.client.modify_host_grp(port, gid, body, ignore_all_errors\u003dTrue)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"e99f39d8_3da51f0e","line":136,"range":{"start_line":136,"start_character":19,"end_line":136,"end_character":27},"updated":"2022-03-02 15:44:48.000000000","message":"this will raise ValueError if operator has set a wrong value hence the need for validation parameter in the config option\nhttps://paste.opendev.org/show/bwNZOXVtUQEMDWJXDMbo/","commit_id":"2925aa974f411e58972028ff6f1c986353033560"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"abd61c1781ff518ede08e42f9686988eef24131c","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            if \u0027hostModeOptions\u0027 not in body:"},{"line_number":134,"context_line":"                body[\u0027hostModeOptions\u0027] \u003d []"},{"line_number":135,"context_line":"            for opt in self.conf.hitachi_host_mode_options:"},{"line_number":136,"context_line":"                if int(opt) not in body[\u0027hostModeOptions\u0027]:"},{"line_number":137,"context_line":"                    body[\u0027hostModeOptions\u0027].append(int(opt))"},{"line_number":138,"context_line":"        self.client.modify_host_grp(port, gid, body, ignore_all_errors\u003dTrue)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"f06e7f12_ab88c766","line":136,"range":{"start_line":136,"start_character":19,"end_line":136,"end_character":27},"in_reply_to":"e99f39d8_3da51f0e","updated":"2022-03-04 00:44:14.000000000","message":"We choose adding item_type\u003dtypes.Integer() into cfg.ListOpt.","commit_id":"2925aa974f411e58972028ff6f1c986353033560"}]}
