)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"e4c659e86f83b085c3c6f01450b107286b41194f","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     yuval brave \u003cyuval@lightbitslabs.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-06-27 17:19:02 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Create multiple snapshots from same volume simultaneously using Lightbits cinder driver."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Under certain conditions, the Lightbits api-service will return various status codes (including HTTP status codes 400, 500, and 503) that could indicate a transient error, e.g., because a \"create snapshot\" operation is already in progress on the source volume. Fix the Cinder Lightbits driver to retry when this happens, since there\u0027s a good chance a subsequent \"create snapshots\" will succeed."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"93ba84c7_a4500f9e","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":88},"updated":"2024-06-28 07:06:00.000000000","message":"This can be written as:\nLightbits: Add retry logic in create snapshot\n\nAlso kindly refer below link:\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure\n\nFirst line should be limited to 50 chars and subsequent lines to 72 chars","commit_id":"cdec1e55c26e673a756165d27deb6aa0ff91c105"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"8e044b779db1cbe2a4e0dfca10ab1884d7ec1f5a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     yuval brave \u003cyuval@lightbitslabs.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-06-27 17:19:02 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Create multiple snapshots from same volume simultaneously using Lightbits cinder driver."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Under certain conditions, the Lightbits api-service will return various status codes (including HTTP status codes 400, 500, and 503) that could indicate a transient error, e.g., because a \"create snapshot\" operation is already in progress on the source volume. Fix the Cinder Lightbits driver to retry when this happens, since there\u0027s a good chance a subsequent \"create snapshots\" will succeed."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"53c8c25f_16df8d6a","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":88},"in_reply_to":"93ba84c7_a4500f9e","updated":"2024-07-22 10:00:04.000000000","message":"Done","commit_id":"cdec1e55c26e673a756165d27deb6aa0ff91c105"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":31779,"name":"Jean Pierre Roquesalane","display_name":"happystacker","email":"jeanpierre.roquesalane@dell.com","username":"happystacker"},"change_message_id":"ace941368091d5e6ac4b95253bfb807239de0455","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b3d0a881_fc345746","updated":"2024-01-03 15:36:20.000000000","message":"A release note should be there as well.","commit_id":"1877de66782a793b7da5fb48ee4ee504d65da2e9"},{"author":{"_account_id":31779,"name":"Jean Pierre Roquesalane","display_name":"happystacker","email":"jeanpierre.roquesalane@dell.com","username":"happystacker"},"change_message_id":"32461702cfa218ca39fd8889b67de9346122eb6c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"88339265_269e5efa","updated":"2024-01-22 13:34:46.000000000","message":"My comments are still not adressed. Please review and propose a new patch set.","commit_id":"532d57ea17985f82e86427039d16dd4c8fbc5d5e"},{"author":{"_account_id":34459,"name":"Muli Ben-Yehuda","email":"muli@lightbitslabs.com","username":"muliby"},"change_message_id":"a9616305e9d826ffb89385b126eb0cc79889af8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2342a622_a096f904","in_reply_to":"88339265_269e5efa","updated":"2024-02-04 10:51:48.000000000","message":"@happystacker I believe all comments have been addressed, could you take another look? Thanks!","commit_id":"532d57ea17985f82e86427039d16dd4c8fbc5d5e"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"e4c659e86f83b085c3c6f01450b107286b41194f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e54903ac_5c2ecc43","updated":"2024-06-28 07:06:00.000000000","message":"Few comments inline.","commit_id":"cdec1e55c26e673a756165d27deb6aa0ff91c105"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"299b88970d367745b652b0b7f645d46ff5c11e00","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"7331eef6_7330bfee","updated":"2024-07-09 06:01:33.000000000","message":"My comments from previous patchset have been addressed. So +1.\nAs mentioned by Eric, UT code may have to added/updated.","commit_id":"38a644f357bc49eaa527f85daba443c0c0ec91f5"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"0a2f6ab86b164403fd8984aa26bbf99cace9243c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"fb795e94_8e41afea","updated":"2024-07-08 20:07:41.000000000","message":"Unit tests need an update, currently are failing.","commit_id":"38a644f357bc49eaa527f85daba443c0c0ec91f5"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"ea76ec01e2d25ebd8d5ae908c9af167b8f31e3fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"6f84fdc3_c942c156","in_reply_to":"69240642_7eea1924","updated":"2024-07-09 09:03:44.000000000","message":"Done","commit_id":"38a644f357bc49eaa527f85daba443c0c0ec91f5"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"bbdfa533d336d69170743be47b85fa9b3a5d4ba8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"69240642_7eea1924","in_reply_to":"fb795e94_8e41afea","updated":"2024-07-09 08:33:14.000000000","message":"Thanks - checking it out","commit_id":"38a644f357bc49eaa527f85daba443c0c0ec91f5"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"33975d58d87991c8d4e39a949e6a90f9f17db45d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"7ee04504_2351f3bf","updated":"2024-08-21 14:30:33.000000000","message":"Can you be sure that when an HTTP 500 is returned, it isn\u0027t from a failure after the snapshot was created?  (And then this patch would create two snapshots.)\n\nIt seems like the driver might need to check for that upon handling a 500 with a retry.","commit_id":"0e9c45252abf891d12b7e225737f4d7b9fcc7d96"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"26bf9eef1102cb8f8a666630613938880c142413","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"384a7863_3ac2519e","updated":"2024-08-21 14:12:44.000000000","message":"Seems ok","commit_id":"0e9c45252abf891d12b7e225737f4d7b9fcc7d96"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"4c9fab459785af15b4492d6446f87acd84341679","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"31436771_7c52d695","updated":"2024-07-23 06:15:10.000000000","message":"recheck","commit_id":"0e9c45252abf891d12b7e225737f4d7b9fcc7d96"},{"author":{"_account_id":36569,"name":"Rahman Muhammad","display_name":"Rahman Muhammad","email":"rahman@lightbitslabs.com","username":"rahman-lb","status":"Lightbits delivers NVMe/TCP based storage products."},"change_message_id":"ac36344f7e795f8e751fee4f42b2bbffda11e17a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"b394364a_c7d8ea23","in_reply_to":"7ee04504_2351f3bf","updated":"2024-08-26 16:18:41.000000000","message":"Lightbits management API for snapshot creation has many checks before any attempt to create the actual snapshot on the storage system, once all pre-checks are passed and satisfied then perform the final action to create a snapshot on the storage system. Management API ensures that it doesn\u0027t return HTTP 500 when a snapshot is created.","commit_id":"0e9c45252abf891d12b7e225737f4d7b9fcc7d96"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"cf0b81340fc35e8ca0ef32c340c1be3b84b79688","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"87cf9d84_8c0b0375","updated":"2024-08-28 08:54:44.000000000","message":"- Fixed config options space issue\n- Fixed case of snapshot created but still got some error code","commit_id":"b28574c81be5b4f361bd4d07e2de19dfee5996ab"}],"cinder/volume/drivers/lightos.py":[{"author":{"_account_id":31779,"name":"Jean Pierre Roquesalane","display_name":"happystacker","email":"jeanpierre.roquesalane@dell.com","username":"happystacker"},"change_message_id":"ace941368091d5e6ac4b95253bfb807239de0455","unresolved":true,"context_lines":[{"line_number":1300,"context_line":"            # These additional 20 seconds will increase request timeout"},{"line_number":1301,"context_line":"            # and avoid failures when multiple clients are requesting large"},{"line_number":1302,"context_line":"            # number of snapshots from same source volume."},{"line_number":1303,"context_line":"            end \u003d time.time() + self.logical_op_timeout + 20"},{"line_number":1304,"context_line":"            while (time.time() \u003c end):"},{"line_number":1305,"context_line":"                (status_code_create, response) \u003d self.cluster.send_cmd("},{"line_number":1306,"context_line":"                    cmd\u003d\u0027create_snapshot\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"e099d6a1_b85765e6","line":1303,"updated":"2024-01-03 15:36:20.000000000","message":"Isn\u0027t there any other more elegant and controllable way of doing it instead of having a 20s random value?\nThis value shouldn\u0027t be hardcoded.","commit_id":"1877de66782a793b7da5fb48ee4ee504d65da2e9"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"3b08850107732072f34dd9eba128435cda610a13","unresolved":false,"context_lines":[{"line_number":1300,"context_line":"            # These additional 20 seconds will increase request timeout"},{"line_number":1301,"context_line":"            # and avoid failures when multiple clients are requesting large"},{"line_number":1302,"context_line":"            # number of snapshots from same source volume."},{"line_number":1303,"context_line":"            end \u003d time.time() + self.logical_op_timeout + 20"},{"line_number":1304,"context_line":"            while (time.time() \u003c end):"},{"line_number":1305,"context_line":"                (status_code_create, response) \u003d self.cluster.send_cmd("},{"line_number":1306,"context_line":"                    cmd\u003d\u0027create_snapshot\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3371e22b_a106b9af","line":1303,"in_reply_to":"03b62b08_524c62d1","updated":"2024-07-08 09:49:12.000000000","message":"fixed","commit_id":"1877de66782a793b7da5fb48ee4ee504d65da2e9"},{"author":{"_account_id":36569,"name":"Rahman Muhammad","display_name":"Rahman Muhammad","email":"rahman@lightbitslabs.com","username":"rahman-lb","status":"Lightbits delivers NVMe/TCP based storage products."},"change_message_id":"38ca4fcfc1adc6811c6864574dd33fca11547f23","unresolved":false,"context_lines":[{"line_number":1300,"context_line":"            # These additional 20 seconds will increase request timeout"},{"line_number":1301,"context_line":"            # and avoid failures when multiple clients are requesting large"},{"line_number":1302,"context_line":"            # number of snapshots from same source volume."},{"line_number":1303,"context_line":"            end \u003d time.time() + self.logical_op_timeout + 20"},{"line_number":1304,"context_line":"            while (time.time() \u003c end):"},{"line_number":1305,"context_line":"                (status_code_create, response) \u003d self.cluster.send_cmd("},{"line_number":1306,"context_line":"                    cmd\u003d\u0027create_snapshot\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"6a96f0d6_03fd0b16","line":1303,"in_reply_to":"3371e22b_a106b9af","updated":"2024-08-28 21:28:48.000000000","message":"@jeanpierre.roquesalane@dell.com @rajatdhasmana@gmail.com \nReview comments have been resolved, let us know if there is anything pending, an approval will be appreciated.","commit_id":"1877de66782a793b7da5fb48ee4ee504d65da2e9"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"83167954560acadfb0569318c853f180738ff411","unresolved":true,"context_lines":[{"line_number":1300,"context_line":"            # These additional 20 seconds will increase request timeout"},{"line_number":1301,"context_line":"            # and avoid failures when multiple clients are requesting large"},{"line_number":1302,"context_line":"            # number of snapshots from same source volume."},{"line_number":1303,"context_line":"            end \u003d time.time() + self.logical_op_timeout + 20"},{"line_number":1304,"context_line":"            while (time.time() \u003c end):"},{"line_number":1305,"context_line":"                (status_code_create, response) \u003d self.cluster.send_cmd("},{"line_number":1306,"context_line":"                    cmd\u003d\u0027create_snapshot\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"03b62b08_524c62d1","line":1303,"in_reply_to":"5c09f212_33e0b763","updated":"2024-06-25 10:36:43.000000000","message":"I also don\u0027t agree that this is the right way to go about this.\nIf the load increases further, we will see another code change increasing this to 40 seconds or some other bigger value.\nA better way to handle this will be an exponential backoff in which the retries should be configurable so we don\u0027t require further code changes to handle similar issues.\nEg: for a retry value of 4 and interval of 2, we can have the following wait times\n\nbase ^ retry_number * interval\n1st try: 2 ^ 0 * 2 \u003d 2 seconds\n2nd try: 2 ^ 1 * 2 \u003d 4 seconds\n3rd try: 8 seconds\n4th try: 16 seconds\n\nTotal time: 30 seconds\n\nIf we make the retry value and interval configurable, we can adjust the wait time dynamically.","commit_id":"1877de66782a793b7da5fb48ee4ee504d65da2e9"},{"author":{"_account_id":34459,"name":"Muli Ben-Yehuda","email":"muli@lightbitslabs.com","username":"muliby"},"change_message_id":"a9616305e9d826ffb89385b126eb0cc79889af8a","unresolved":true,"context_lines":[{"line_number":1300,"context_line":"            # These additional 20 seconds will increase request timeout"},{"line_number":1301,"context_line":"            # and avoid failures when multiple clients are requesting large"},{"line_number":1302,"context_line":"            # number of snapshots from same source volume."},{"line_number":1303,"context_line":"            end \u003d time.time() + self.logical_op_timeout + 20"},{"line_number":1304,"context_line":"            while (time.time() \u003c end):"},{"line_number":1305,"context_line":"                (status_code_create, response) \u003d self.cluster.send_cmd("},{"line_number":1306,"context_line":"                    cmd\u003d\u0027create_snapshot\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5c09f212_33e0b763","line":1303,"in_reply_to":"e099d6a1_b85765e6","updated":"2024-02-04 10:51:48.000000000","message":"Honestly, it depends on the load on the API service and the cluster in general. 20 seconds seemed like a good compromise between avoiding spurious failures and not waiting for too long on real failures in experiments we\u0027ve run.","commit_id":"1877de66782a793b7da5fb48ee4ee504d65da2e9"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"e4c659e86f83b085c3c6f01450b107286b41194f","unresolved":true,"context_lines":[{"line_number":80,"context_line":"               \u0027 an API endpoint response.\u0027)"},{"line_number":81,"context_line":"    cfg.IntOpt(\u0027lightos_api_service_snapshots_max_calls\u0027,"},{"line_number":82,"context_line":"               default \u003d 5,"},{"line_number":83,"context_line":"               help\u003d\u0027The maximum number of calls to the LightOS when creating snapshots the interval \u0027"},{"line_number":84,"context_line":"               \u0027increase exponentially with each call. The default is 4 calls.\u0027)"},{"line_number":85,"context_line":"]"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"313952a9_1ffba5d3","line":83,"range":{"start_line":83,"start_character":87,"end_line":83,"end_character":92},"updated":"2024-06-28 07:06:00.000000000","message":"nit: a full stop can be specified after snapshots.\ns/the/The","commit_id":"cdec1e55c26e673a756165d27deb6aa0ff91c105"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"5c5b3e035f4747660b6724fff06bc9fe58383d8f","unresolved":false,"context_lines":[{"line_number":80,"context_line":"               \u0027 an API endpoint response.\u0027)"},{"line_number":81,"context_line":"    cfg.IntOpt(\u0027lightos_api_service_snapshots_max_calls\u0027,"},{"line_number":82,"context_line":"               default \u003d 5,"},{"line_number":83,"context_line":"               help\u003d\u0027The maximum number of calls to the LightOS when creating snapshots the interval \u0027"},{"line_number":84,"context_line":"               \u0027increase exponentially with each call. The default is 4 calls.\u0027)"},{"line_number":85,"context_line":"]"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"b4d4bae5_e793e345","line":83,"range":{"start_line":83,"start_character":87,"end_line":83,"end_character":92},"in_reply_to":"313952a9_1ffba5d3","updated":"2024-07-08 08:59:32.000000000","message":"fixed","commit_id":"cdec1e55c26e673a756165d27deb6aa0ff91c105"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"e4c659e86f83b085c3c6f01450b107286b41194f","unresolved":true,"context_lines":[{"line_number":81,"context_line":"    cfg.IntOpt(\u0027lightos_api_service_snapshots_max_calls\u0027,"},{"line_number":82,"context_line":"               default \u003d 5,"},{"line_number":83,"context_line":"               help\u003d\u0027The maximum number of calls to the LightOS when creating snapshots the interval \u0027"},{"line_number":84,"context_line":"               \u0027increase exponentially with each call. The default is 4 calls.\u0027)"},{"line_number":85,"context_line":"]"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":6,"id":"cbd3b88f_cb96eb40","line":84,"range":{"start_line":84,"start_character":70,"end_line":84,"end_character":77},"updated":"2024-06-28 07:06:00.000000000","message":"nit: can this be updated to 5 calls;\nso that it is consistent with value specified at line 82.","commit_id":"cdec1e55c26e673a756165d27deb6aa0ff91c105"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"5c5b3e035f4747660b6724fff06bc9fe58383d8f","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    cfg.IntOpt(\u0027lightos_api_service_snapshots_max_calls\u0027,"},{"line_number":82,"context_line":"               default \u003d 5,"},{"line_number":83,"context_line":"               help\u003d\u0027The maximum number of calls to the LightOS when creating snapshots the interval \u0027"},{"line_number":84,"context_line":"               \u0027increase exponentially with each call. The default is 4 calls.\u0027)"},{"line_number":85,"context_line":"]"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":6,"id":"87919413_caab7df1","line":84,"range":{"start_line":84,"start_character":70,"end_line":84,"end_character":77},"in_reply_to":"cbd3b88f_cb96eb40","updated":"2024-07-08 08:59:32.000000000","message":"fixed","commit_id":"cdec1e55c26e673a756165d27deb6aa0ff91c105"},{"author":{"_account_id":36396,"name":"Bryan Neumann","display_name":"Bryan Neumann","email":"bryan.neumann@dell.com","username":"bryanneumann","status":"Dell"},"change_message_id":"43cd7981236731e991fc06ac51655ddfdd93cf5c","unresolved":true,"context_lines":[{"line_number":80,"context_line":"               \u0027 an API endpoint response.\u0027),"},{"line_number":81,"context_line":"    cfg.IntOpt("},{"line_number":82,"context_line":"        \u0027lightos_api_service_snapshots_max_calls\u0027,"},{"line_number":83,"context_line":"        default \u003d 5,"},{"line_number":84,"context_line":"        help\u003d\u0027The maximum number of calls to the LightOS\u0027"},{"line_number":85,"context_line":"        \u0027 when creating snapshots. The default is 5 calls.\u0027)"},{"line_number":86,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":13,"id":"56c83263_95d63ea1","line":83,"updated":"2024-08-27 21:20:18.000000000","message":"Space should be removed to make consistent with the other options.\n```suggestion\n        default\u003d5,\n```","commit_id":"0e9c45252abf891d12b7e225737f4d7b9fcc7d96"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"dde22f0d3dc5d50711fcd61e0100fdf3d7890d2b","unresolved":false,"context_lines":[{"line_number":80,"context_line":"               \u0027 an API endpoint response.\u0027),"},{"line_number":81,"context_line":"    cfg.IntOpt("},{"line_number":82,"context_line":"        \u0027lightos_api_service_snapshots_max_calls\u0027,"},{"line_number":83,"context_line":"        default \u003d 5,"},{"line_number":84,"context_line":"        help\u003d\u0027The maximum number of calls to the LightOS\u0027"},{"line_number":85,"context_line":"        \u0027 when creating snapshots. The default is 5 calls.\u0027)"},{"line_number":86,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":13,"id":"b36972fa_363d277e","line":83,"in_reply_to":"56c83263_95d63ea1","updated":"2024-08-28 08:54:59.000000000","message":"Done","commit_id":"0e9c45252abf891d12b7e225737f4d7b9fcc7d96"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"21d5466a536783e3fb686dc9a78a816c68ac0fb9","unresolved":true,"context_lines":[{"line_number":1306,"context_line":"        if status_code_get !\u003d httpstatus.OK:"},{"line_number":1307,"context_line":"            for i in range(self.snapshots_retries):"},{"line_number":1308,"context_line":"                if i !\u003d 0:"},{"line_number":1309,"context_line":"                    sleeptime \u003d 2 ** i  # 2, 4, 8, 16 (default is 30 seconds)"},{"line_number":1310,"context_line":"                    time.sleep(sleeptime)"},{"line_number":1311,"context_line":"                (status_code_create, response) \u003d self.cluster.send_cmd("},{"line_number":1312,"context_line":"                    cmd\u003d\u0027create_snapshot\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"10157de7_1192095e","line":1309,"updated":"2024-08-27 09:59:07.000000000","message":"May be better to use the retry decorator for this.\n\nhttps://opendev.org/openstack/cinder/src/branch/master/cinder/utils.py#L634","commit_id":"0e9c45252abf891d12b7e225737f4d7b9fcc7d96"},{"author":{"_account_id":33612,"name":"yuval","email":"yuval@lightbitslabs.com","username":"yuval"},"change_message_id":"e592dfb56f3c20cbfc17f232385efad4ee4f1d8e","unresolved":true,"context_lines":[{"line_number":1306,"context_line":"        if status_code_get !\u003d httpstatus.OK:"},{"line_number":1307,"context_line":"            for i in range(self.snapshots_retries):"},{"line_number":1308,"context_line":"                if i !\u003d 0:"},{"line_number":1309,"context_line":"                    sleeptime \u003d 2 ** i  # 2, 4, 8, 16 (default is 30 seconds)"},{"line_number":1310,"context_line":"                    time.sleep(sleeptime)"},{"line_number":1311,"context_line":"                (status_code_create, response) \u003d self.cluster.send_cmd("},{"line_number":1312,"context_line":"                    cmd\u003d\u0027create_snapshot\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"b0ac1508_9fc0f734","line":1309,"in_reply_to":"10157de7_1192095e","updated":"2024-08-27 12:26:56.000000000","message":"Hey Sean we are committed and dedicated to optimise our driver, but the feature freeze is in 3 days. I dont not want to introduce such a change to the patch in this point. but for sure update the code with this change request on the next release. I created a ticket for it in our internal system.","commit_id":"0e9c45252abf891d12b7e225737f4d7b9fcc7d96"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"586cc4236c6238a6f646e5f77ae0ca39fa1df8cc","unresolved":false,"context_lines":[{"line_number":1306,"context_line":"        if status_code_get !\u003d httpstatus.OK:"},{"line_number":1307,"context_line":"            for i in range(self.snapshots_retries):"},{"line_number":1308,"context_line":"                if i !\u003d 0:"},{"line_number":1309,"context_line":"                    sleeptime \u003d 2 ** i  # 2, 4, 8, 16 (default is 30 seconds)"},{"line_number":1310,"context_line":"                    time.sleep(sleeptime)"},{"line_number":1311,"context_line":"                (status_code_create, response) \u003d self.cluster.send_cmd("},{"line_number":1312,"context_line":"                    cmd\u003d\u0027create_snapshot\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"2d99d4aa_8daff947","line":1309,"in_reply_to":"b0ac1508_9fc0f734","updated":"2024-08-27 13:22:21.000000000","message":"Yeah, no problem. It was really just a suggestion, so I don\u0027t think it should block anything. Thanks!","commit_id":"0e9c45252abf891d12b7e225737f4d7b9fcc7d96"}]}
