)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"e00db4a944903def01912be58f48cf503ad27517","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Nilesh Thathagar \u003cnilesh.thathagar@dell.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-02-12 04:06:04 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Dell PowerMax: Added connect and read timeout to avoid cinder hang issue while call the PowerMax rest API."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #2051830"},{"line_number":10,"context_line":"Change-Id: I2d419b4257bae75c69577a34758910c4889e2507"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"a0461b51_8b6f111f","line":7,"updated":"2024-02-13 05:25:18.000000000","message":"First line should have max 50 chars.\nPlease refer: https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"5ef36f216d49e2f4de2881316f8d0f9759b5b9a8"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"821c02660cdc8adf51c102a1db52225372c79411","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nilesh Thathagar \u003cnilesh.thathagar@dell.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-02-12 04:06:04 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Dell PowerMax: Added connect and read timeout to avoid cinder hang issue while call the PowerMax rest API."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #2051830"},{"line_number":10,"context_line":"Change-Id: I2d419b4257bae75c69577a34758910c4889e2507"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"faa2d922_ab9851b9","line":7,"in_reply_to":"a0461b51_8b6f111f","updated":"2024-02-13 09:08:08.000000000","message":"Done.\n\nChanged commit message according.","commit_id":"5ef36f216d49e2f4de2881316f8d0f9759b5b9a8"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5e0cbcbf13c18667e86c15854cbe6ea3767ccc48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7b3e34e1_b8ce6a4e","updated":"2024-02-12 07:02:02.000000000","message":"recheck","commit_id":"5632d6b3cfc40500a350d7bae3b62ce2479a0b2f"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"e00db4a944903def01912be58f48cf503ad27517","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0cc74808_b680694e","updated":"2024-02-13 05:25:18.000000000","message":"Few minor comments inline.","commit_id":"5ef36f216d49e2f4de2881316f8d0f9759b5b9a8"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"6a04a06052bd0484e59984bdf97a0dbf94789a4d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c8a90850_da9b79ce","updated":"2024-02-12 10:11:22.000000000","message":"recheck","commit_id":"5ef36f216d49e2f4de2881316f8d0f9759b5b9a8"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"ce473c9e3deb45d13918d5e5d9e0c81e6f3ce52e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"79ccddba_d407fe8d","updated":"2024-02-13 05:10:19.000000000","message":"run-DellEMC PowerMax CI","commit_id":"5ef36f216d49e2f4de2881316f8d0f9759b5b9a8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"0fe87aa347091b45bded995f0a8463f79349e28e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"4bf1a766_808eec20","updated":"2024-02-21 05:16:15.000000000","message":"Mostly looks OK, though the PowerMax CI doesn\u0027t seem to be responding.  Some suggestions noted inline.","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"d71bc47aedbf848f41c0d5dc8033949addbca927","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"eb5618d3_e44ab647","updated":"2024-02-13 13:05:01.000000000","message":"My comments have been addressed. Thanks.","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"a0306e7c2146e4a4b8c426d7d00ca68740f1d678","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1b7aae61_2f976c38","updated":"2024-02-20 04:31:12.000000000","message":"core team please review.","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"75b97c2fa3c8dffb30eea06bbe98811158eeb811","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5d620098_f460126f","updated":"2024-02-16 05:20:01.000000000","message":"run-DellEMC PowerMax CI","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"40dc45b46cd6715de70df7fe243ccbae88fb38fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"32b05e30_ab943902","updated":"2024-02-21 13:51:17.000000000","message":"Looking better.  A few issues noted inline.","commit_id":"f89385cc8db38cb4598774bc9bbc025a084d28ad"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"da0783be8a56d24570e975b5915ef86e4aed89f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ec3b70fe_cdc20d8f","updated":"2024-02-21 12:34:23.000000000","message":"core team please review.","commit_id":"f89385cc8db38cb4598774bc9bbc025a084d28ad"},{"author":{"_account_id":17450,"name":"Chongchong Lei","email":"Nathaniel.Lei@dell.com","username":"Chongchong","status":"Dell EMC"},"change_message_id":"a24be368266ecd5a97b5b82be9deb999834e056c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f7920744_6f73e7a0","updated":"2024-02-21 08:17:29.000000000","message":"run-DellEMC PowerMAX CI","commit_id":"f89385cc8db38cb4598774bc9bbc025a084d28ad"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"c811d033dddfebfda145d4673b3a361d6624b7b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"b0d11549_05d3d133","updated":"2024-02-21 17:57:15.000000000","message":"recheck","commit_id":"7de2ef466272852c95181c0eabb6ab661e275bf5"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"ebaf242cb06ec3b247631623968c8bdf210986d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d6359f94_640951ec","updated":"2024-02-22 04:22:50.000000000","message":"run-DellEMC PowerMAX CI","commit_id":"7de2ef466272852c95181c0eabb6ab661e275bf5"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"6c3b2df4560de4def789c910a216124344c97a37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c4b056ae_ff26fb6c","updated":"2024-02-21 18:20:35.000000000","message":"run-DellEMC PowerMax CI","commit_id":"7de2ef466272852c95181c0eabb6ab661e275bf5"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"abf88996a7793c9e8b8159500b35e9e1c9da19d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"366d0f77_1ea25495","updated":"2024-02-26 13:14:27.000000000","message":"PowerMax CI is reporting green, so upgrading to +2.","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"980160c311ec07aa5948bf9b061a38918f4bb5ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"73ff5feb_18e0a32e","updated":"2024-02-22 14:21:34.000000000","message":"Revisions LGTM.  Only a +1 until the PowerMax CI responds green.","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"69006a95f1e9dfc9b9f599a050e722d1ee341cce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"5ace4fd1_56a49086","updated":"2024-02-26 09:56:28.000000000","message":"core team please do review","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"860b14c92bf98690014e9fc7ad58ef6da47a6f47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"03c2ec60_14dbfad9","updated":"2024-02-22 08:02:06.000000000","message":"core team please review","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f39b8a08cb65944e03461e8401a8fe0bfba80724","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"3d8d5c6f_2d7cb2fa","updated":"2024-02-26 16:32:29.000000000","message":"few comments inline but nothing worth holding the patch. Powermax CI is green, LGTM.","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fc41db941d4aa419e168d8a3fdaa4f15c427fe23","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"55e291f7_4a8e0e19","updated":"2024-02-26 14:55:43.000000000","message":"one question inline","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"2c9e9ee36ebdcdd98010dbdc4acd2390778b7b93","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"08e6a2bd_c8b89395","updated":"2024-02-22 09:58:56.000000000","message":"run-DellEMC PowerMAX CI","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"c9865ddab08298d5b22219f698168e47ce423019","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"330f87a4_700d5594","updated":"2024-02-22 14:37:04.000000000","message":"run-DellEMC PowerMAX CI","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"e5344b088572ff1019ef59cd36e6f111da9b8157","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"9e94d07c_6dd47731","in_reply_to":"73ff5feb_18e0a32e","updated":"2024-02-22 14:36:43.000000000","message":"will try to run it. hope so it will run.","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"}],"cinder/volume/drivers/dell_emc/powermax/common.py":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"e00db4a944903def01912be58f48cf503ad27517","unresolved":true,"context_lines":[{"line_number":149,"context_line":"               help\u003d\u0027Metric used for port load calculation.\u0027),"},{"line_number":150,"context_line":"    cfg.IntOpt(utils.REST_API_CONNECT_TIMEOUT,"},{"line_number":151,"context_line":"               default\u003d30,"},{"line_number":152,"context_line":"               help\u003d\u0027Use this value to specify connect timeout value \u0027"},{"line_number":153,"context_line":"                    \u0027for rest call.\u0027),"},{"line_number":154,"context_line":"    cfg.IntOpt(utils.REST_API_READ_TIMEOUT,"},{"line_number":155,"context_line":"               default\u003d30,"}],"source_content_type":"text/x-python","patch_set":4,"id":"15ea7806_1b0f97ea","line":152,"range":{"start_line":152,"start_character":55,"end_line":152,"end_character":69},"updated":"2024-02-13 05:25:18.000000000","message":"nit: timeout value (in seconds).\nIf it helps, the minimum and maximum value can also be specified (like in lines 141 to 143).","commit_id":"5ef36f216d49e2f4de2881316f8d0f9759b5b9a8"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"821c02660cdc8adf51c102a1db52225372c79411","unresolved":false,"context_lines":[{"line_number":149,"context_line":"               help\u003d\u0027Metric used for port load calculation.\u0027),"},{"line_number":150,"context_line":"    cfg.IntOpt(utils.REST_API_CONNECT_TIMEOUT,"},{"line_number":151,"context_line":"               default\u003d30,"},{"line_number":152,"context_line":"               help\u003d\u0027Use this value to specify connect timeout value \u0027"},{"line_number":153,"context_line":"                    \u0027for rest call.\u0027),"},{"line_number":154,"context_line":"    cfg.IntOpt(utils.REST_API_READ_TIMEOUT,"},{"line_number":155,"context_line":"               default\u003d30,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fed99fca_23e092d8","line":152,"range":{"start_line":152,"start_character":55,"end_line":152,"end_character":69},"in_reply_to":"15ea7806_1b0f97ea","updated":"2024-02-13 09:08:08.000000000","message":"Added timeout in seconds.\nCurrently do not have minimum and maximum value of timeout so do not have mentioned into message.","commit_id":"5ef36f216d49e2f4de2881316f8d0f9759b5b9a8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"0fe87aa347091b45bded995f0a8463f79349e28e","unresolved":true,"context_lines":[{"line_number":150,"context_line":"    cfg.IntOpt(utils.REST_API_CONNECT_TIMEOUT,"},{"line_number":151,"context_line":"               default\u003d30,"},{"line_number":152,"context_line":"               help\u003d\u0027Use this value to specify connect \u0027"},{"line_number":153,"context_line":"                    \u0027timeout value(in seconds) for rest call.\u0027),"},{"line_number":154,"context_line":"    cfg.IntOpt(utils.REST_API_READ_TIMEOUT,"},{"line_number":155,"context_line":"               default\u003d30,"},{"line_number":156,"context_line":"               help\u003d\u0027Use this value to specify read \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3601758c_99af3b62","line":153,"range":{"start_line":153,"start_character":34,"end_line":153,"end_character":35},"updated":"2024-02-21 05:16:15.000000000","message":"should be a space before the \u0027(\u0027 (same thing at line 157)","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"fd9ee40cb31c685da508aa42e056a4bbe3bb2f42","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    cfg.IntOpt(utils.REST_API_CONNECT_TIMEOUT,"},{"line_number":151,"context_line":"               default\u003d30,"},{"line_number":152,"context_line":"               help\u003d\u0027Use this value to specify connect \u0027"},{"line_number":153,"context_line":"                    \u0027timeout value(in seconds) for rest call.\u0027),"},{"line_number":154,"context_line":"    cfg.IntOpt(utils.REST_API_READ_TIMEOUT,"},{"line_number":155,"context_line":"               default\u003d30,"},{"line_number":156,"context_line":"               help\u003d\u0027Use this value to specify read \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"8fbf2131_d3b7815d","line":153,"range":{"start_line":153,"start_character":34,"end_line":153,"end_character":35},"in_reply_to":"3601758c_99af3b62","updated":"2024-02-21 09:02:29.000000000","message":"Done added space at both lines.","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"0fe87aa347091b45bded995f0a8463f79349e28e","unresolved":true,"context_lines":[{"line_number":154,"context_line":"    cfg.IntOpt(utils.REST_API_READ_TIMEOUT,"},{"line_number":155,"context_line":"               default\u003d30,"},{"line_number":156,"context_line":"               help\u003d\u0027Use this value to specify read \u0027"},{"line_number":157,"context_line":"                    \u0027timeout value(in seconds) for rest call.\u0027)]"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"CONF.register_opts(powermax_opts, group\u003dconfiguration.SHARED_CONF_GROUP)"}],"source_content_type":"text/x-python","patch_set":6,"id":"c9155700_1484a155","line":157,"updated":"2024-02-21 05:16:15.000000000","message":"Can you use -1 to mean wait forever?  If not, you might want to set zero as the minimum allowed value in the option definitions.","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"fd9ee40cb31c685da508aa42e056a4bbe3bb2f42","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    cfg.IntOpt(utils.REST_API_READ_TIMEOUT,"},{"line_number":155,"context_line":"               default\u003d30,"},{"line_number":156,"context_line":"               help\u003d\u0027Use this value to specify read \u0027"},{"line_number":157,"context_line":"                    \u0027timeout value(in seconds) for rest call.\u0027)]"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"CONF.register_opts(powermax_opts, group\u003dconfiguration.SHARED_CONF_GROUP)"}],"source_content_type":"text/x-python","patch_set":6,"id":"cdc2f9d6_2437de53","line":157,"in_reply_to":"c9155700_1484a155","updated":"2024-02-21 09:02:29.000000000","message":"If we use -1 or 0 it will be invalid so specified minimum value 1.\nAlso added check mark for minus or zero value.","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"40dc45b46cd6715de70df7fe243ccbae88fb38fa","unresolved":true,"context_lines":[{"line_number":153,"context_line":"                    \u0027timeout value (in seconds) for rest call, \u0027"},{"line_number":154,"context_line":"                    \u0027minimum of 1.\u0027),"},{"line_number":155,"context_line":"    cfg.IntOpt(utils.REST_API_READ_TIMEOUT,"},{"line_number":156,"context_line":"               default\u003d30,"},{"line_number":157,"context_line":"               help\u003d\u0027Use this value to specify read \u0027"},{"line_number":158,"context_line":"                    \u0027timeout value (in seconds) for rest call, \u0027"},{"line_number":159,"context_line":"                    \u0027minimum of 1.\u0027)]"}],"source_content_type":"text/x-python","patch_set":7,"id":"f6ece20c_ba9e688d","line":156,"updated":"2024-02-21 13:51:17.000000000","message":"Two things here:\n\n1. you can make the min part of the option definition so that if someone sets an invalid value, an exception will be raised and the service won\u0027t start.  You just add\n```\nmin\u003d1,\n```\nin between lines 156 and 157.  Also, if you do that, the config file generator will automatically add \"Minimum value: 1\" as part of the config opt help string, so you don\u0027t have to document it yourself.\n\n2. iirc, the requests library will wait forever if None is passed as the timeout value ... i guess there\u0027s no point making the option work for that?  If someone wants a long timeout, they can just specify a large value here","commit_id":"f89385cc8db38cb4598774bc9bbc025a084d28ad"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"69ab64004aedb07f2a2b9ff28e89ebb8f3d724d9","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                    \u0027timeout value (in seconds) for rest call, \u0027"},{"line_number":154,"context_line":"                    \u0027minimum of 1.\u0027),"},{"line_number":155,"context_line":"    cfg.IntOpt(utils.REST_API_READ_TIMEOUT,"},{"line_number":156,"context_line":"               default\u003d30,"},{"line_number":157,"context_line":"               help\u003d\u0027Use this value to specify read \u0027"},{"line_number":158,"context_line":"                    \u0027timeout value (in seconds) for rest call, \u0027"},{"line_number":159,"context_line":"                    \u0027minimum of 1.\u0027)]"}],"source_content_type":"text/x-python","patch_set":7,"id":"10e46f06_235348a9","line":156,"in_reply_to":"f6ece20c_ba9e688d","updated":"2024-02-21 15:40:23.000000000","message":"Done.\n\n1. Added min\u003d1 in configuration options.\n2. Yes there is no option for None. That is why it does not have specific max value, it will be according to client want to wait for.","commit_id":"f89385cc8db38cb4598774bc9bbc025a084d28ad"}],"cinder/volume/drivers/dell_emc/powermax/rest.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"0fe87aa347091b45bded995f0a8463f79349e28e","unresolved":true,"context_lines":[{"line_number":116,"context_line":"        if (utils.REST_API_READ_TIMEOUT_KEY in array_info"},{"line_number":117,"context_line":"                and array_info[utils.REST_API_READ_TIMEOUT_KEY] is not None):"},{"line_number":118,"context_line":"            self.rest_api_read_timeout \u003d ("},{"line_number":119,"context_line":"                int(array_info[utils.REST_API_READ_TIMEOUT_KEY]))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def set_residuals(self, serial_number):"},{"line_number":122,"context_line":"        \"\"\"Set ucode and snapid information."}],"source_content_type":"text/x-python","patch_set":6,"id":"dda5d42a_c6e2ae43","line":119,"updated":"2024-02-21 05:16:15.000000000","message":"There might be easier to read if you did something like this:\n```\nself.rest_api_connect_timeout \u003d (\n    array_info.get(utils.REST_API_CONNECT_TIMEOUT_KEY)\n    or self.rest_api_connect_timeout)\n```","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"69ab64004aedb07f2a2b9ff28e89ebb8f3d724d9","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        if (utils.REST_API_READ_TIMEOUT_KEY in array_info"},{"line_number":117,"context_line":"                and array_info[utils.REST_API_READ_TIMEOUT_KEY] is not None):"},{"line_number":118,"context_line":"            self.rest_api_read_timeout \u003d ("},{"line_number":119,"context_line":"                int(array_info[utils.REST_API_READ_TIMEOUT_KEY]))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def set_residuals(self, serial_number):"},{"line_number":122,"context_line":"        \"\"\"Set ucode and snapid information."}],"source_content_type":"text/x-python","patch_set":6,"id":"c3751fe8_7c45e219","line":119,"in_reply_to":"6edff31d_36befb50","updated":"2024-02-21 15:40:23.000000000","message":"Yes it will take last value. Also this function calls whenever fail-over happens","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"40dc45b46cd6715de70df7fe243ccbae88fb38fa","unresolved":true,"context_lines":[{"line_number":116,"context_line":"        if (utils.REST_API_READ_TIMEOUT_KEY in array_info"},{"line_number":117,"context_line":"                and array_info[utils.REST_API_READ_TIMEOUT_KEY] is not None):"},{"line_number":118,"context_line":"            self.rest_api_read_timeout \u003d ("},{"line_number":119,"context_line":"                int(array_info[utils.REST_API_READ_TIMEOUT_KEY]))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def set_residuals(self, serial_number):"},{"line_number":122,"context_line":"        \"\"\"Set ucode and snapid information."}],"source_content_type":"text/x-python","patch_set":6,"id":"6edff31d_36befb50","line":119,"in_reply_to":"d18392a2_3ea3b4b6","updated":"2024-02-21 13:51:17.000000000","message":"Actually, it will take whatever the last valid value was, right?  I think this function is called multiple times throughout the life of the driver instance?  (This is an observation, not something you have to address.)","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"fd9ee40cb31c685da508aa42e056a4bbe3bb2f42","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        if (utils.REST_API_READ_TIMEOUT_KEY in array_info"},{"line_number":117,"context_line":"                and array_info[utils.REST_API_READ_TIMEOUT_KEY] is not None):"},{"line_number":118,"context_line":"            self.rest_api_read_timeout \u003d ("},{"line_number":119,"context_line":"                int(array_info[utils.REST_API_READ_TIMEOUT_KEY]))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def set_residuals(self, serial_number):"},{"line_number":122,"context_line":"        \"\"\"Set ucode and snapid information."}],"source_content_type":"text/x-python","patch_set":6,"id":"d18392a2_3ea3b4b6","line":119,"in_reply_to":"dda5d42a_c6e2ae43","updated":"2024-02-21 09:02:29.000000000","message":"Done.\nHave changed according, also added check mark for minus and zero value. It will take default 30 value if provide minus or zero value.","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"0fe87aa347091b45bded995f0a8463f79349e28e","unresolved":true,"context_lines":[{"line_number":306,"context_line":"                            \"exception %s\" % (method, url, str(e)))"},{"line_number":307,"context_line":"                    LOG.error(msg)"},{"line_number":308,"context_line":"            except Exception:"},{"line_number":309,"context_line":"                pass"},{"line_number":310,"context_line":"            if self.u4p_failover_enabled or u4p_check:"},{"line_number":311,"context_line":"                if not u4p_check:"},{"line_number":312,"context_line":"                    # Failover process"}],"source_content_type":"text/x-python","patch_set":6,"id":"e8ca8f0f_7872c7c1","line":309,"updated":"2024-02-21 05:16:15.000000000","message":"There should be a way to code this that doesn\u0027t require a try block inside an except block.  Instead of messing with the __name__ attributes, you can check to see whether e is one of the exceptions you want to log like this:\n\n```\nif (isinstance(e, r_exc.ConnectTimeout) or isinstance(e, r_exc.ReadTimeout)):\n```","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"fd9ee40cb31c685da508aa42e056a4bbe3bb2f42","unresolved":false,"context_lines":[{"line_number":306,"context_line":"                            \"exception %s\" % (method, url, str(e)))"},{"line_number":307,"context_line":"                    LOG.error(msg)"},{"line_number":308,"context_line":"            except Exception:"},{"line_number":309,"context_line":"                pass"},{"line_number":310,"context_line":"            if self.u4p_failover_enabled or u4p_check:"},{"line_number":311,"context_line":"                if not u4p_check:"},{"line_number":312,"context_line":"                    # Failover process"}],"source_content_type":"text/x-python","patch_set":6,"id":"02a8815f_44efb36a","line":309,"in_reply_to":"e8ca8f0f_7872c7c1","updated":"2024-02-21 09:02:29.000000000","message":"Done changed according.","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"40dc45b46cd6715de70df7fe243ccbae88fb38fa","unresolved":true,"context_lines":[{"line_number":117,"context_line":"        self.rest_api_read_timeout \u003d ("},{"line_number":118,"context_line":"            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY))"},{"line_number":119,"context_line":"            if array_info.get(utils.REST_API_READ_TIMEOUT_KEY) and"},{"line_number":120,"context_line":"            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY)) \u003e 0"},{"line_number":121,"context_line":"            else self.rest_api_read_timeout)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def set_residuals(self, serial_number):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9086de9a_f2b5b2a9","line":120,"range":{"start_line":120,"start_character":12,"end_line":120,"end_character":64},"updated":"2024-02-21 13:51:17.000000000","message":"This will raise a TypeError if the key isn\u0027t in the dict.  Maybe restructure these like this:\n\n```\nnew_timeout \u003d int(array_info.get(utils.REST_API_CONNECT_TIMEOUT_KEY, 0))\nif new_timeout \u003e 0:\n    self.rest_api_connect_timeout \u003d new_timeout\n```","commit_id":"f89385cc8db38cb4598774bc9bbc025a084d28ad"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"69ab64004aedb07f2a2b9ff28e89ebb8f3d724d9","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        self.rest_api_read_timeout \u003d ("},{"line_number":118,"context_line":"            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY))"},{"line_number":119,"context_line":"            if array_info.get(utils.REST_API_READ_TIMEOUT_KEY) and"},{"line_number":120,"context_line":"            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY)) \u003e 0"},{"line_number":121,"context_line":"            else self.rest_api_read_timeout)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def set_residuals(self, serial_number):"}],"source_content_type":"text/x-python","patch_set":7,"id":"97b43a1a_b465abf6","line":120,"range":{"start_line":120,"start_character":12,"end_line":120,"end_character":64},"in_reply_to":"9086de9a_f2b5b2a9","updated":"2024-02-21 15:40:23.000000000","message":"Done.\n\nChanged according.","commit_id":"f89385cc8db38cb4598774bc9bbc025a084d28ad"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"95cfde53b9ee8343055ca7f458666026d309ef70","unresolved":true,"context_lines":[{"line_number":298,"context_line":"            raise r_exc.SSLError(msg % {\u0027base_uri\u0027: self.base_uri, \u0027e\u0027: e})"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        except (r_exc.Timeout, r_exc.ConnectionError,"},{"line_number":301,"context_line":"                r_exc.HTTPError) as e:"},{"line_number":302,"context_line":"            if (isinstance(e, r_exc.ConnectTimeout)"},{"line_number":303,"context_line":"                    or isinstance(e, r_exc.ReadTimeout)):"},{"line_number":304,"context_line":"                msg \u003d _(\"The %s request to URL %s failed with timeout \""},{"line_number":305,"context_line":"                        \"exception %s\" % (method, url, str(e)))"},{"line_number":306,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ea0bdcfb_a967a0fc","line":303,"range":{"start_line":301,"start_character":38,"end_line":303,"end_character":57},"updated":"2024-02-22 04:35:11.000000000","message":"For now this list covers all children of Timeout[1]. Can we just use\n\n```\nif isinstance(e. r_exc.Timeout):\n```\n\ninstead ?\n\n[1] https://github.com/psf/requests/blob/main/src/requests/exceptions.py#L61-L78","commit_id":"7de2ef466272852c95181c0eabb6ab661e275bf5"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"18b4dfbd5893c59aa8ac7acdc51a0407d2a4cf21","unresolved":false,"context_lines":[{"line_number":298,"context_line":"            raise r_exc.SSLError(msg % {\u0027base_uri\u0027: self.base_uri, \u0027e\u0027: e})"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        except (r_exc.Timeout, r_exc.ConnectionError,"},{"line_number":301,"context_line":"                r_exc.HTTPError) as e:"},{"line_number":302,"context_line":"            if (isinstance(e, r_exc.ConnectTimeout)"},{"line_number":303,"context_line":"                    or isinstance(e, r_exc.ReadTimeout)):"},{"line_number":304,"context_line":"                msg \u003d _(\"The %s request to URL %s failed with timeout \""},{"line_number":305,"context_line":"                        \"exception %s\" % (method, url, str(e)))"},{"line_number":306,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"625212b7_03c71b41","line":303,"range":{"start_line":301,"start_character":38,"end_line":303,"end_character":57},"in_reply_to":"249ec442_de4dcedd","updated":"2024-02-22 05:36:13.000000000","message":"Done.\n\nThe parent exception have only two child exception connect timeout and read timeout. so we can use if isinstance(e. r_exc.Timeout):","commit_id":"7de2ef466272852c95181c0eabb6ab661e275bf5"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5056e073c03b124494fd4450b09cfdd75244ce45","unresolved":false,"context_lines":[{"line_number":298,"context_line":"            raise r_exc.SSLError(msg % {\u0027base_uri\u0027: self.base_uri, \u0027e\u0027: e})"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        except (r_exc.Timeout, r_exc.ConnectionError,"},{"line_number":301,"context_line":"                r_exc.HTTPError) as e:"},{"line_number":302,"context_line":"            if (isinstance(e, r_exc.ConnectTimeout)"},{"line_number":303,"context_line":"                    or isinstance(e, r_exc.ReadTimeout)):"},{"line_number":304,"context_line":"                msg \u003d _(\"The %s request to URL %s failed with timeout \""},{"line_number":305,"context_line":"                        \"exception %s\" % (method, url, str(e)))"},{"line_number":306,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"249ec442_de4dcedd","line":303,"range":{"start_line":301,"start_character":38,"end_line":303,"end_character":57},"in_reply_to":"ea0bdcfb_a967a0fc","updated":"2024-02-22 04:45:51.000000000","message":"We can do that but currently we have handled for connect timeout and read timeout exception. we will get only those timeout exception if timeout will happen.","commit_id":"7de2ef466272852c95181c0eabb6ab661e275bf5"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fc41db941d4aa419e168d8a3fdaa4f15c427fe23","unresolved":true,"context_lines":[{"line_number":92,"context_line":"        self.ucode_minor_level \u003d None"},{"line_number":93,"context_line":"        self.is_snap_id \u003d False"},{"line_number":94,"context_line":"        self.u4p_version \u003d None"},{"line_number":95,"context_line":"        self.rest_api_connect_timeout \u003d 30"},{"line_number":96,"context_line":"        self.rest_api_read_timeout \u003d 30"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def set_rest_credentials(self, array_info):"},{"line_number":99,"context_line":"        \"\"\"Given the array record set the rest server credentials."}],"source_content_type":"text/x-python","patch_set":9,"id":"11665072_4663c4ac","line":96,"range":{"start_line":95,"start_character":0,"end_line":96,"end_character":39},"updated":"2024-02-26 14:55:43.000000000","message":"These should not be required, just take values from config options (default is already 30)","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"bbec33ad7313e59bc4864cd046cfb973c2110dc4","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        self.ucode_minor_level \u003d None"},{"line_number":93,"context_line":"        self.is_snap_id \u003d False"},{"line_number":94,"context_line":"        self.u4p_version \u003d None"},{"line_number":95,"context_line":"        self.rest_api_connect_timeout \u003d 30"},{"line_number":96,"context_line":"        self.rest_api_read_timeout \u003d 30"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def set_rest_credentials(self, array_info):"},{"line_number":99,"context_line":"        \"\"\"Given the array record set the rest server credentials."}],"source_content_type":"text/x-python","patch_set":9,"id":"c7426e37_24b57cfa","line":96,"range":{"start_line":95,"start_character":0,"end_line":96,"end_character":39},"in_reply_to":"11665072_4663c4ac","updated":"2024-02-26 15:31:38.000000000","message":"It is usec for line 115 and 119.","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f39b8a08cb65944e03461e8401a8fe0bfba80724","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        self.ucode_minor_level \u003d None"},{"line_number":93,"context_line":"        self.is_snap_id \u003d False"},{"line_number":94,"context_line":"        self.u4p_version \u003d None"},{"line_number":95,"context_line":"        self.rest_api_connect_timeout \u003d 30"},{"line_number":96,"context_line":"        self.rest_api_read_timeout \u003d 30"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def set_rest_credentials(self, array_info):"},{"line_number":99,"context_line":"        \"\"\"Given the array record set the rest server credentials."}],"source_content_type":"text/x-python","patch_set":9,"id":"d267385b_4fb37ec8","line":96,"range":{"start_line":95,"start_character":0,"end_line":96,"end_character":39},"in_reply_to":"c7426e37_24b57cfa","updated":"2024-02-26 16:32:29.000000000","message":"I know but the logic can be improved without including these\n\ndoesn\u0027t this work the same way?\n\n        self.rest_api_connect_timeout \u003d (\n            int(array_info.get(utils.REST_API_CONNECT_TIMEOUT_KEY, 30)))\n        self.rest_api_read_timeout \u003d (\n            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY, 30)))","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fc41db941d4aa419e168d8a3fdaa4f15c427fe23","unresolved":true,"context_lines":[{"line_number":109,"context_line":"        self.base_uri \u003d (\"https://%(ip_port)s/univmax/restapi\" % {"},{"line_number":110,"context_line":"            \u0027ip_port\u0027: ip_port})"},{"line_number":111,"context_line":"        self.session \u003d self._establish_rest_session()"},{"line_number":112,"context_line":"        new_connect_timeout \u003d ("},{"line_number":113,"context_line":"            int(array_info.get(utils.REST_API_CONNECT_TIMEOUT_KEY, 0)))"},{"line_number":114,"context_line":"        if new_connect_timeout \u003e 0:"},{"line_number":115,"context_line":"            self.rest_api_connect_timeout \u003d new_connect_timeout"},{"line_number":116,"context_line":"        new_read_timeout \u003d ("},{"line_number":117,"context_line":"            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY, 0)))"},{"line_number":118,"context_line":"        if new_read_timeout \u003e 0:"},{"line_number":119,"context_line":"            self.rest_api_read_timeout \u003d new_read_timeout"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def set_residuals(self, serial_number):"},{"line_number":122,"context_line":"        \"\"\"Set ucode and snapid information."}],"source_content_type":"text/x-python","patch_set":9,"id":"730bfa8c_3843038c","line":119,"range":{"start_line":112,"start_character":0,"end_line":119,"end_character":57},"updated":"2024-02-26 14:55:43.000000000","message":"I don\u0027t understand this logic\nIIUC array_info contains the values from the newly added config options that are passed here.\n\nSince the config options have a minimum value of 1 and a default of 30, I don\u0027t see any way where we will get a 0 value here. both of the cases seems covered:\n1. If we don\u0027t define any value for config options, it will take default of 30\n2. If we try to pass a value \u003c\u003d0 to the config options, it will error out during start of the service since the min allowed value is 1\n\nUnless this logic is executed with array_info that doesn\u0027t contain the config options","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"bbec33ad7313e59bc4864cd046cfb973c2110dc4","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.base_uri \u003d (\"https://%(ip_port)s/univmax/restapi\" % {"},{"line_number":110,"context_line":"            \u0027ip_port\u0027: ip_port})"},{"line_number":111,"context_line":"        self.session \u003d self._establish_rest_session()"},{"line_number":112,"context_line":"        new_connect_timeout \u003d ("},{"line_number":113,"context_line":"            int(array_info.get(utils.REST_API_CONNECT_TIMEOUT_KEY, 0)))"},{"line_number":114,"context_line":"        if new_connect_timeout \u003e 0:"},{"line_number":115,"context_line":"            self.rest_api_connect_timeout \u003d new_connect_timeout"},{"line_number":116,"context_line":"        new_read_timeout \u003d ("},{"line_number":117,"context_line":"            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY, 0)))"},{"line_number":118,"context_line":"        if new_read_timeout \u003e 0:"},{"line_number":119,"context_line":"            self.rest_api_read_timeout \u003d new_read_timeout"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def set_residuals(self, serial_number):"},{"line_number":122,"context_line":"        \"\"\"Set ucode and snapid information."}],"source_content_type":"text/x-python","patch_set":9,"id":"a317bd8f_015fc51d","line":119,"range":{"start_line":112,"start_character":0,"end_line":119,"end_character":57},"in_reply_to":"62c741c3_48ea948d","updated":"2024-02-26 15:31:38.000000000","message":"In case of the fail-over,this function will execute and it does not contains connect timeout and read timeout keys.","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"bcb3556e3819df0046039dbbcc42755ba46b7ee8","unresolved":true,"context_lines":[{"line_number":109,"context_line":"        self.base_uri \u003d (\"https://%(ip_port)s/univmax/restapi\" % {"},{"line_number":110,"context_line":"            \u0027ip_port\u0027: ip_port})"},{"line_number":111,"context_line":"        self.session \u003d self._establish_rest_session()"},{"line_number":112,"context_line":"        new_connect_timeout \u003d ("},{"line_number":113,"context_line":"            int(array_info.get(utils.REST_API_CONNECT_TIMEOUT_KEY, 0)))"},{"line_number":114,"context_line":"        if new_connect_timeout \u003e 0:"},{"line_number":115,"context_line":"            self.rest_api_connect_timeout \u003d new_connect_timeout"},{"line_number":116,"context_line":"        new_read_timeout \u003d ("},{"line_number":117,"context_line":"            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY, 0)))"},{"line_number":118,"context_line":"        if new_read_timeout \u003e 0:"},{"line_number":119,"context_line":"            self.rest_api_read_timeout \u003d new_read_timeout"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def set_residuals(self, serial_number):"},{"line_number":122,"context_line":"        \"\"\"Set ucode and snapid information."}],"source_content_type":"text/x-python","patch_set":9,"id":"62c741c3_48ea948d","line":119,"range":{"start_line":112,"start_character":0,"end_line":119,"end_character":57},"in_reply_to":"730bfa8c_3843038c","updated":"2024-02-26 15:19:15.000000000","message":"\u003e Since the config options have a minimum value of 1\n\nWhere is that set?","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"785ba6c7a515ee0ec5dd98fabdbe691242d3795c","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.base_uri \u003d (\"https://%(ip_port)s/univmax/restapi\" % {"},{"line_number":110,"context_line":"            \u0027ip_port\u0027: ip_port})"},{"line_number":111,"context_line":"        self.session \u003d self._establish_rest_session()"},{"line_number":112,"context_line":"        new_connect_timeout \u003d ("},{"line_number":113,"context_line":"            int(array_info.get(utils.REST_API_CONNECT_TIMEOUT_KEY, 0)))"},{"line_number":114,"context_line":"        if new_connect_timeout \u003e 0:"},{"line_number":115,"context_line":"            self.rest_api_connect_timeout \u003d new_connect_timeout"},{"line_number":116,"context_line":"        new_read_timeout \u003d ("},{"line_number":117,"context_line":"            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY, 0)))"},{"line_number":118,"context_line":"        if new_read_timeout \u003e 0:"},{"line_number":119,"context_line":"            self.rest_api_read_timeout \u003d new_read_timeout"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def set_residuals(self, serial_number):"},{"line_number":122,"context_line":"        \"\"\"Set ucode and snapid information."}],"source_content_type":"text/x-python","patch_set":9,"id":"4c5c1659_b993fc0f","line":119,"range":{"start_line":112,"start_character":0,"end_line":119,"end_character":57},"in_reply_to":"9f0db4f9_9d2b7b54","updated":"2024-02-26 19:06:29.000000000","message":"\u003e @Pete: It\u0027s defined with the config options with min\u003d1\n\nBut where?\n\nI traced if in reverse, through all the crazy layers of this and that, and ended at BaseVD, which takes it from __init__(**kwargs). I presume we have a generic mechanism, but I don\u0027t know where it\u0027s located.","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"94441efecd9d1f0d079ebcb3570848098852151e","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.base_uri \u003d (\"https://%(ip_port)s/univmax/restapi\" % {"},{"line_number":110,"context_line":"            \u0027ip_port\u0027: ip_port})"},{"line_number":111,"context_line":"        self.session \u003d self._establish_rest_session()"},{"line_number":112,"context_line":"        new_connect_timeout \u003d ("},{"line_number":113,"context_line":"            int(array_info.get(utils.REST_API_CONNECT_TIMEOUT_KEY, 0)))"},{"line_number":114,"context_line":"        if new_connect_timeout \u003e 0:"},{"line_number":115,"context_line":"            self.rest_api_connect_timeout \u003d new_connect_timeout"},{"line_number":116,"context_line":"        new_read_timeout \u003d ("},{"line_number":117,"context_line":"            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY, 0)))"},{"line_number":118,"context_line":"        if new_read_timeout \u003e 0:"},{"line_number":119,"context_line":"            self.rest_api_read_timeout \u003d new_read_timeout"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def set_residuals(self, serial_number):"},{"line_number":122,"context_line":"        \"\"\"Set ucode and snapid information."}],"source_content_type":"text/x-python","patch_set":9,"id":"bb39ccc4_a7301a3f","line":119,"range":{"start_line":112,"start_character":0,"end_line":119,"end_character":57},"in_reply_to":"a317bd8f_015fc51d","updated":"2024-02-26 15:34:54.000000000","message":"Also it is used to set values between 0 to 30.","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f39b8a08cb65944e03461e8401a8fe0bfba80724","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.base_uri \u003d (\"https://%(ip_port)s/univmax/restapi\" % {"},{"line_number":110,"context_line":"            \u0027ip_port\u0027: ip_port})"},{"line_number":111,"context_line":"        self.session \u003d self._establish_rest_session()"},{"line_number":112,"context_line":"        new_connect_timeout \u003d ("},{"line_number":113,"context_line":"            int(array_info.get(utils.REST_API_CONNECT_TIMEOUT_KEY, 0)))"},{"line_number":114,"context_line":"        if new_connect_timeout \u003e 0:"},{"line_number":115,"context_line":"            self.rest_api_connect_timeout \u003d new_connect_timeout"},{"line_number":116,"context_line":"        new_read_timeout \u003d ("},{"line_number":117,"context_line":"            int(array_info.get(utils.REST_API_READ_TIMEOUT_KEY, 0)))"},{"line_number":118,"context_line":"        if new_read_timeout \u003e 0:"},{"line_number":119,"context_line":"            self.rest_api_read_timeout \u003d new_read_timeout"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def set_residuals(self, serial_number):"},{"line_number":122,"context_line":"        \"\"\"Set ucode and snapid information."}],"source_content_type":"text/x-python","patch_set":9,"id":"9f0db4f9_9d2b7b54","line":119,"range":{"start_line":112,"start_character":0,"end_line":119,"end_character":57},"in_reply_to":"bb39ccc4_a7301a3f","updated":"2024-02-26 16:32:29.000000000","message":"@Pete: It\u0027s defined with the config options with min\u003d1\n\n@Nilesh: okay, would be good if the failover case could be handled with the config options since another cinder-volume node would also have access to the cinder.conf file or default config values\n\nRegarding setting values between 0 and 30, I don\u0027t see how we are restricting the value between 0 and 30 here, if we receive REST_API_CONNECT_TIMEOUT_KEY to be 60 then that will be set and used\nhonestly the logic seems redundant upto some extent but that\u0027s not a reason to hold the patch anymore","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"980160c311ec07aa5948bf9b061a38918f4bb5ff","unresolved":true,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        except (r_exc.Timeout, r_exc.ConnectionError,"},{"line_number":301,"context_line":"                r_exc.HTTPError) as e:"},{"line_number":302,"context_line":"            if isinstance(e, r_exc.Timeout):"},{"line_number":303,"context_line":"                msg \u003d _(\"The %s request to URL %s failed with timeout \""},{"line_number":304,"context_line":"                        \"exception %s\" % (method, url, str(e)))"},{"line_number":305,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5217a872_3d2e930c","line":302,"updated":"2024-02-22 14:21:34.000000000","message":"This is cleaner, nice!","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"1d89fb639ad7aaa6ccd80b0714ff80d752158413","unresolved":false,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        except (r_exc.Timeout, r_exc.ConnectionError,"},{"line_number":301,"context_line":"                r_exc.HTTPError) as e:"},{"line_number":302,"context_line":"            if isinstance(e, r_exc.Timeout):"},{"line_number":303,"context_line":"                msg \u003d _(\"The %s request to URL %s failed with timeout \""},{"line_number":304,"context_line":"                        \"exception %s\" % (method, url, str(e)))"},{"line_number":305,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":9,"id":"dde8e326_3a053a12","line":302,"in_reply_to":"5217a872_3d2e930c","updated":"2024-02-22 14:34:44.000000000","message":"yes. thanks.","commit_id":"5082cb3e0771a24b51d5463166ae0c2b6e95d95b"}],"releasenotes/notes/bug-2051830-dell-powermax-rest-api-timeout-b70bd2754debf16a.yaml":[{"author":{"_account_id":31779,"name":"Jean Pierre Roquesalane","display_name":"happystacker","email":"jeanpierre.roquesalane@dell.com","username":"happystacker"},"change_message_id":"0bec03355748f06c8a36f9d5f27ac6bfcbe77829","unresolved":true,"context_lines":[{"line_number":3,"context_line":"fixes:"},{"line_number":4,"context_line":"  - |"},{"line_number":5,"context_line":"    PowerMax Driver `bug #2051830"},{"line_number":6,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/2051830\u003e`_: Added"},{"line_number":7,"context_line":"    connect and read timeout for PowerMax rest call. Rest call "},{"line_number":8,"context_line":"    will be timeout to avoid cinder hang issue. "}],"source_content_type":"text/x-yaml","patch_set":1,"id":"198e9030_caf6f5d3","line":6,"updated":"2024-02-09 14:08:13.000000000","message":"this bug should be mentioned in the commit message.","commit_id":"6af7c0fe560c2c0d297c3bdd57d33ede9c93456a"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5e0cbcbf13c18667e86c15854cbe6ea3767ccc48","unresolved":false,"context_lines":[{"line_number":3,"context_line":"fixes:"},{"line_number":4,"context_line":"  - |"},{"line_number":5,"context_line":"    PowerMax Driver `bug #2051830"},{"line_number":6,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/2051830\u003e`_: Added"},{"line_number":7,"context_line":"    connect and read timeout for PowerMax rest call. Rest call "},{"line_number":8,"context_line":"    will be timeout to avoid cinder hang issue. "}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7b65cc3f_db725eee","line":6,"in_reply_to":"198e9030_caf6f5d3","updated":"2024-02-12 07:02:02.000000000","message":"Done","commit_id":"6af7c0fe560c2c0d297c3bdd57d33ede9c93456a"},{"author":{"_account_id":31779,"name":"Jean Pierre Roquesalane","display_name":"happystacker","email":"jeanpierre.roquesalane@dell.com","username":"happystacker"},"change_message_id":"0bec03355748f06c8a36f9d5f27ac6bfcbe77829","unresolved":true,"context_lines":[{"line_number":4,"context_line":"  - |"},{"line_number":5,"context_line":"    PowerMax Driver `bug #2051830"},{"line_number":6,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/2051830\u003e`_: Added"},{"line_number":7,"context_line":"    connect and read timeout for PowerMax rest call. Rest call "},{"line_number":8,"context_line":"    will be timeout to avoid cinder hang issue. "}],"source_content_type":"text/x-yaml","patch_set":1,"id":"326915eb_321e6f31","line":7,"updated":"2024-02-09 14:08:13.000000000","message":"remove blank chars","commit_id":"6af7c0fe560c2c0d297c3bdd57d33ede9c93456a"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5e0cbcbf13c18667e86c15854cbe6ea3767ccc48","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  - |"},{"line_number":5,"context_line":"    PowerMax Driver `bug #2051830"},{"line_number":6,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/2051830\u003e`_: Added"},{"line_number":7,"context_line":"    connect and read timeout for PowerMax rest call. Rest call "},{"line_number":8,"context_line":"    will be timeout to avoid cinder hang issue. "}],"source_content_type":"text/x-yaml","patch_set":1,"id":"b7c2c897_c52cfda4","line":7,"in_reply_to":"326915eb_321e6f31","updated":"2024-02-12 07:02:02.000000000","message":"Have Removed.","commit_id":"6af7c0fe560c2c0d297c3bdd57d33ede9c93456a"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"e00db4a944903def01912be58f48cf503ad27517","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"fixes:"},{"line_number":4,"context_line":"  - |"},{"line_number":5,"context_line":"    PowerMax Driver `bug #2051830"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"91fe709a_db1479b8","line":2,"updated":"2024-02-13 05:25:18.000000000","message":"nit: this empty line can be removed","commit_id":"5ef36f216d49e2f4de2881316f8d0f9759b5b9a8"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"821c02660cdc8adf51c102a1db52225372c79411","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"fixes:"},{"line_number":4,"context_line":"  - |"},{"line_number":5,"context_line":"    PowerMax Driver `bug #2051830"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"f00e2efd_340c1a31","line":2,"in_reply_to":"91fe709a_db1479b8","updated":"2024-02-13 09:08:08.000000000","message":"Done.\n\nRemoved empty line.","commit_id":"5ef36f216d49e2f4de2881316f8d0f9759b5b9a8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"0fe87aa347091b45bded995f0a8463f79349e28e","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    PowerMax Driver `bug #2051830"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/2051830\u003e`_: Added"},{"line_number":6,"context_line":"    connect and read timeout for PowerMax rest call. Rest call"},{"line_number":7,"context_line":"    will be timeout to avoid cinder hang issue."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"64a38f6e_db7a767c","line":7,"range":{"start_line":5,"start_character":56,"end_line":7,"end_character":47},"updated":"2024-02-21 05:16:15.000000000","message":"How about something like:\n\n```\nREST API calls to the PowerMax backend did not have a timeout set, which\ncould result in cinder waiting forever.  This fix introduces two configuration\noptions, ``one`` and ``two``, to control timeouts when connecting to the\nbackend.  The default value of each is 30 seconds.\n```","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"fd9ee40cb31c685da508aa42e056a4bbe3bb2f42","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    PowerMax Driver `bug #2051830"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/2051830\u003e`_: Added"},{"line_number":6,"context_line":"    connect and read timeout for PowerMax rest call. Rest call"},{"line_number":7,"context_line":"    will be timeout to avoid cinder hang issue."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"de44806b_48d7122d","line":7,"range":{"start_line":5,"start_character":56,"end_line":7,"end_character":47},"in_reply_to":"64a38f6e_db7a767c","updated":"2024-02-21 09:02:29.000000000","message":"Done changed release note according.","commit_id":"e69c7e415d177a934cc40965974e2276344227bf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"40dc45b46cd6715de70df7fe243ccbae88fb38fa","unresolved":true,"context_lines":[{"line_number":6,"context_line":"    API calls to the PowerMax backend did not have a timeout"},{"line_number":7,"context_line":"    set, which could result in cinder waiting forever."},{"line_number":8,"context_line":"    This fix introduces two configuration options,"},{"line_number":9,"context_line":"    connect timeout and read timeout, to control timeouts"},{"line_number":10,"context_line":"    when connecting to the backend."},{"line_number":11,"context_line":"    The default value of each is 30 seconds."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"6d31aada_079ffb38","line":9,"updated":"2024-02-21 13:51:17.000000000","message":"It would be good to mention the actual option names here.  Put them in double-backticks (\\`\\`) so that they\u0027ll be displayed in monospace font when the release notes are generated.","commit_id":"f89385cc8db38cb4598774bc9bbc025a084d28ad"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"69ab64004aedb07f2a2b9ff28e89ebb8f3d724d9","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    API calls to the PowerMax backend did not have a timeout"},{"line_number":7,"context_line":"    set, which could result in cinder waiting forever."},{"line_number":8,"context_line":"    This fix introduces two configuration options,"},{"line_number":9,"context_line":"    connect timeout and read timeout, to control timeouts"},{"line_number":10,"context_line":"    when connecting to the backend."},{"line_number":11,"context_line":"    The default value of each is 30 seconds."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"4bd89604_ddbe13ae","line":9,"in_reply_to":"6d31aada_079ffb38","updated":"2024-02-21 15:40:23.000000000","message":"Done.\n\nChanged according","commit_id":"f89385cc8db38cb4598774bc9bbc025a084d28ad"}]}
