)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make sure extend_volume succeed despite multipath-tools version"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The `multipathd reconfigure` has became a asynchronous command"},{"line_number":10,"context_line":"since the 0.6.1 version of multipath-tools. That leads to fail"},{"line_number":11,"context_line":"to extend in-use fibre channel volume, because `multipathd resize"},{"line_number":12,"context_line":"map` will output \u0027timeout\u0027 before `multipathd reconfigure` command"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"64957299_967c2b6a","line":9,"range":{"start_line":9,"start_character":29,"end_line":9,"end_character":62},"updated":"2022-05-06 12:17:27.000000000","message":"Looking at the old multipath-tools code it looks like the actual reconfigure could also end up being asynchronous before [1].\n\n[1]: https://github.com/opensvc/multipath-tools/blob/b21c567961f518810a1ac3b209c8db45f6dbac2c/multipathd/cli_handlers.c#L847-L851","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0da6cf5bcea97d930fc9ec76f703cbce7f6452c0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make sure extend_volume succeed despite multipath-tools version"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The `multipathd reconfigure` has became a asynchronous command"},{"line_number":10,"context_line":"since the 0.6.1 version of multipath-tools. That leads to fail"},{"line_number":11,"context_line":"to extend in-use fibre channel volume, because `multipathd resize"},{"line_number":12,"context_line":"map` will output \u0027timeout\u0027 before `multipathd reconfigure` command"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a0c018f_caf8d18c","line":9,"range":{"start_line":9,"start_character":29,"end_line":9,"end_character":62},"in_reply_to":"64957299_967c2b6a","updated":"2022-05-12 08:04:24.000000000","message":"Done","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The `multipathd reconfigure` has became a asynchronous command"},{"line_number":10,"context_line":"since the 0.6.1 version of multipath-tools. That leads to fail"},{"line_number":11,"context_line":"to extend in-use fibre channel volume, because `multipathd resize"},{"line_number":12,"context_line":"map` will output \u0027timeout\u0027 before `multipathd reconfigure` command"},{"line_number":13,"context_line":"finishes when `multipathd resize map` command will be executed as"},{"line_number":14,"context_line":"soon as `multipathd reconfigure` command is executed."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"29ff034d_2e78a8e1","line":11,"range":{"start_line":11,"start_character":10,"end_line":11,"end_character":37},"updated":"2022-05-06 12:17:27.000000000","message":"nit: This should also fail for iSCSI volumes","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"f501cb2b4d590947142dda6c19bd747892c06467","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The `multipathd reconfigure` has became a asynchronous command"},{"line_number":10,"context_line":"since the 0.6.1 version of multipath-tools. That leads to fail"},{"line_number":11,"context_line":"to extend in-use fibre channel volume, because `multipathd resize"},{"line_number":12,"context_line":"map` will output \u0027timeout\u0027 before `multipathd reconfigure` command"},{"line_number":13,"context_line":"finishes when `multipathd resize map` command will be executed as"},{"line_number":14,"context_line":"soon as `multipathd reconfigure` command is executed."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"8f912c3f_a62dbdac","line":11,"range":{"start_line":11,"start_character":10,"end_line":11,"end_character":37},"in_reply_to":"29ff034d_2e78a8e1","updated":"2022-05-06 16:24:23.000000000","message":"indeed, we\u0027re actually using iSCSI volumes. In fact, this was an older patch submitted by zhaoleilc that was hanging around due to some unaddressed comments so I\u0027ve decided to submit a follow up, especially since we were hitting the same issue.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0da6cf5bcea97d930fc9ec76f703cbce7f6452c0","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The `multipathd reconfigure` has became a asynchronous command"},{"line_number":10,"context_line":"since the 0.6.1 version of multipath-tools. That leads to fail"},{"line_number":11,"context_line":"to extend in-use fibre channel volume, because `multipathd resize"},{"line_number":12,"context_line":"map` will output \u0027timeout\u0027 before `multipathd reconfigure` command"},{"line_number":13,"context_line":"finishes when `multipathd resize map` command will be executed as"},{"line_number":14,"context_line":"soon as `multipathd reconfigure` command is executed."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"77ea4ccc_64074ce4","line":11,"range":{"start_line":11,"start_character":10,"end_line":11,"end_character":37},"in_reply_to":"8f912c3f_a62dbdac","updated":"2022-05-12 08:04:24.000000000","message":"Done","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":12,"context_line":"map` will output \u0027timeout\u0027 before `multipathd reconfigure` command"},{"line_number":13,"context_line":"finishes when `multipathd resize map` command will be executed as"},{"line_number":14,"context_line":"soon as `multipathd reconfigure` command is executed."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I66e866700728eee7160f48455258c3974ada55bf"},{"line_number":17,"context_line":"Closes-Bug: #1888675"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"faf308ed_92f008e1","line":15,"updated":"2022-05-06 12:17:27.000000000","message":"nit: You did a fantastic job on the LP bug report, and I think some of that information should be carried to this commit message.\n\nFor example the source code references.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0da6cf5bcea97d930fc9ec76f703cbce7f6452c0","unresolved":false,"context_lines":[{"line_number":12,"context_line":"map` will output \u0027timeout\u0027 before `multipathd reconfigure` command"},{"line_number":13,"context_line":"finishes when `multipathd resize map` command will be executed as"},{"line_number":14,"context_line":"soon as `multipathd reconfigure` command is executed."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I66e866700728eee7160f48455258c3974ada55bf"},{"line_number":17,"context_line":"Closes-Bug: #1888675"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"bc93d132_f0b3a27d","line":15,"in_reply_to":"4d2d198e_a00fff48","updated":"2022-05-12 08:04:24.000000000","message":"Done","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"f501cb2b4d590947142dda6c19bd747892c06467","unresolved":true,"context_lines":[{"line_number":12,"context_line":"map` will output \u0027timeout\u0027 before `multipathd reconfigure` command"},{"line_number":13,"context_line":"finishes when `multipathd resize map` command will be executed as"},{"line_number":14,"context_line":"soon as `multipathd reconfigure` command is executed."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I66e866700728eee7160f48455258c3974ada55bf"},{"line_number":17,"context_line":"Closes-Bug: #1888675"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"4d2d198e_a00fff48","line":15,"in_reply_to":"faf308ed_92f008e1","updated":"2022-05-06 16:24:23.000000000","message":"I\u0027m not sure if the original commit owner is still around but I can do that.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"57bdbd2ab89614827741997b60059e95ddb8b850","unresolved":true,"context_lines":[{"line_number":16,"context_line":"This commit will ensure that multipathd errors are handled"},{"line_number":17,"context_line":"accordingly, retrying in case of timeouts for up to 2 minutes."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"[1] https://github.com/openSUSE/multipath-tools/blob/0.6.0/multipathd/main.c#L997"},{"line_number":20,"context_line":"[2] https://github.com/openSUSE/multipath-tools/blob/0.6.1/multipathd/main.c#L1135"},{"line_number":21,"context_line":"[3] https://github.com/opensvc/multipath-tools/blob/b21c567961f518810a1ac3b209c8db45f6dbac2c/multipathd/cli_handlers.c#L847-L851"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I66e866700728eee7160f48455258c3974ada55bf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"a4d6f657_50335057","line":20,"range":{"start_line":19,"start_character":0,"end_line":20,"end_character":82},"updated":"2022-06-07 07:10:09.000000000","message":"try to use permanent links (press y in github page) else new code changes line numbers and it\u0027s hard to track later","commit_id":"557f38677a07386807b8d284a20b0ecaa61490f9"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"b56493bad1119279ae836ce9b30e71d6270c0e12","unresolved":true,"context_lines":[{"line_number":16,"context_line":"This commit will ensure that multipathd errors are handled"},{"line_number":17,"context_line":"accordingly, retrying in case of timeouts for up to 2 minutes."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"[1] https://github.com/openSUSE/multipath-tools/blob/0.6.0/multipathd/main.c#L997"},{"line_number":20,"context_line":"[2] https://github.com/openSUSE/multipath-tools/blob/0.6.1/multipathd/main.c#L1135"},{"line_number":21,"context_line":"[3] https://github.com/opensvc/multipath-tools/blob/b21c567961f518810a1ac3b209c8db45f6dbac2c/multipathd/cli_handlers.c#L847-L851"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I66e866700728eee7160f48455258c3974ada55bf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"693a8c7a_19f78507","line":20,"range":{"start_line":19,"start_character":0,"end_line":20,"end_character":82},"in_reply_to":"a4d6f657_50335057","updated":"2022-06-07 08:02:28.000000000","message":"It\u0027s referencing a tag, it won\u0027t change. Thanks for the suggestion though.","commit_id":"557f38677a07386807b8d284a20b0ecaa61490f9"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"57bdbd2ab89614827741997b60059e95ddb8b850","unresolved":true,"context_lines":[{"line_number":21,"context_line":"[3] https://github.com/opensvc/multipath-tools/blob/b21c567961f518810a1ac3b209c8db45f6dbac2c/multipathd/cli_handlers.c#L847-L851"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I66e866700728eee7160f48455258c3974ada55bf"},{"line_number":24,"context_line":"Closes-Bug: #1888675"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"18a4d065_73b5aef0","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":20},"updated":"2022-06-07 07:10:09.000000000","message":"should put closes-bug before change ID, see example commits here\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Examples_of_good_practice_2","commit_id":"557f38677a07386807b8d284a20b0ecaa61490f9"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"266fe8d8dcefe7798efe836bc60ca735d8978c02","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"47642847_cabe3faf","updated":"2022-03-31 15:04:08.000000000","message":"We hit the same issue and since there wasn\u0027t much activity on this patch, I\u0027ve submitted another patch set adding a timeout. I hope you don\u0027t mind.","commit_id":"9378a479fc92a85a445671406b4fe8dc41ba015f"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"6b1db9217845bf2c5723f24fd4323cd6633c6323","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"09de1cfb_9890c14b","updated":"2022-04-08 06:20:38.000000000","message":"Thanks for reviewing this change.","commit_id":"75579922e5aa2a0349d03b60a8ab0a4df35ec44a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d40986f692cffcd4399f52fae8558ad11c54d968","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f8e0d49b_9c4cec01","updated":"2022-04-07 12:17:10.000000000","message":"This requires unit test and releasenote","commit_id":"75579922e5aa2a0349d03b60a8ab0a4df35ec44a"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"b53cc75b36f3e20e1f282d525a87442a304b5d27","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e22e3f19_2ae4ab45","updated":"2022-03-31 18:06:50.000000000","message":"run-Cloudbase OSBrick Windows CI","commit_id":"75579922e5aa2a0349d03b60a8ab0a4df35ec44a"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"6b1db9217845bf2c5723f24fd4323cd6633c6323","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ec5976de_e1ecb665","in_reply_to":"f8e0d49b_9c4cec01","updated":"2022-04-08 06:20:38.000000000","message":"Makes sense, I\u0027ll take care of it ASAP.","commit_id":"75579922e5aa2a0349d03b60a8ab0a4df35ec44a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8efc0242_18d67aac","updated":"2022-05-06 12:17:27.000000000","message":"Thank you for noticing this issue and working on it.\n\nThe downvote is because the patch doesn\u0027t work (isn\u0027t catching the exception) and because the retry should happen on multipath_resize_map.\n\nThe rest of the comments are nits, comments, and self notes with the bugs I have found looking at this patch in that code area.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"25dfc996b40bfde994ff35c71e816e5d89f9aa2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"58ffa852_40073b58","updated":"2022-05-25 11:49:49.000000000","message":"There\u0027s a missing unit test and I would appreciate if you could add it, but I won\u0027t block the patch since all my concerns have been addressed.\n\nThank you for the effort.","commit_id":"8c13de493db134ed8fab160f3ff1d061a245441b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"57bdbd2ab89614827741997b60059e95ddb8b850","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9cc689aa_b3ca8647","updated":"2022-06-07 07:10:09.000000000","message":"LGTM","commit_id":"557f38677a07386807b8d284a20b0ecaa61490f9"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"f5980ea786f8e911a286fc8e3cbb1d5617739702","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"2b980396_d0cf46b2","updated":"2022-05-27 07:52:51.000000000","message":"Thanks for the reviews!","commit_id":"557f38677a07386807b8d284a20b0ecaa61490f9"}],"os_brick/initiator/linuxscsi.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d40986f692cffcd4399f52fae8558ad11c54d968","unresolved":true,"context_lines":[{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 60):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"}],"source_content_type":"text/x-python","patch_set":3,"id":"4803bbe5_829987e4","line":638,"range":{"start_line":638,"start_character":47,"end_line":638,"end_character":72},"updated":"2022-04-07 12:17:10.000000000","message":"any reason why we are keeping it 60 seconds? if the multipath resize map is desired to fail then we are waiting 1 minute extra to fail this operation","commit_id":"75579922e5aa2a0349d03b60a8ab0a4df35ec44a"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"6b1db9217845bf2c5723f24fd4323cd6633c6323","unresolved":true,"context_lines":[{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 60):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"}],"source_content_type":"text/x-python","patch_set":3,"id":"c5201815_41785d0d","line":638,"range":{"start_line":638,"start_character":47,"end_line":638,"end_character":72},"in_reply_to":"4803bbe5_829987e4","updated":"2022-04-08 06:20:38.000000000","message":"To be honest, I\u0027m not sure how long it can take and wanted to stay on the safe side. In our experiments, 5 seconds was enough, should we go with 15s just to be extra careful?","commit_id":"75579922e5aa2a0349d03b60a8ab0a4df35ec44a"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"ac3c85897e55017be5b07ec959d3c0c27f69a4b9","unresolved":false,"context_lines":[{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 60):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9e80a718_1fd5ffff","line":638,"range":{"start_line":638,"start_character":47,"end_line":638,"end_character":72},"in_reply_to":"b3bf32a4_fdf40866","updated":"2022-05-03 09:16:15.000000000","message":"I\u0027ve decreased the timeout to 30s, looks reasonable to me.","commit_id":"75579922e5aa2a0349d03b60a8ab0a4df35ec44a"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"7eed892e31bdc4199c9f54dd758a1fbca72e4207","unresolved":true,"context_lines":[{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 60):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"}],"source_content_type":"text/x-python","patch_set":3,"id":"b3bf32a4_fdf40866","line":638,"range":{"start_line":638,"start_character":47,"end_line":638,"end_character":72},"in_reply_to":"c5201815_41785d0d","updated":"2022-04-08 09:54:59.000000000","message":"By the way, why would it be \"desired to fail\"? Fwiw, if the resize map returns a \"failure\" status, we\u0027re breaking the loop right away. We\u0027re only waiting for it if it returns \"timeout\", which means that the operation is still in progress.","commit_id":"75579922e5aa2a0349d03b60a8ab0a4df35ec44a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":615,"context_line":""},{"line_number":616,"context_line":"            # now issue the device rescan"},{"line_number":617,"context_line":"            rescan_path \u003d \"%(scsi_path)s/rescan\" % {\u0027scsi_path\u0027: scsi_path}"},{"line_number":618,"context_line":"            self.echo_scsi_command(rescan_path, \"1\")"},{"line_number":619,"context_line":"            new_size \u003d self.get_device_size(volume_path)"},{"line_number":620,"context_line":"            LOG.debug(\"volume size after scsi device rescan %s\", new_size)"},{"line_number":621,"context_line":""},{"line_number":622,"context_line":"        scsi_wwn \u003d self.get_scsi_wwn(volume_paths[0])"}],"source_content_type":"text/x-python","patch_set":5,"id":"63a38edb_da8af762","line":619,"range":{"start_line":618,"start_character":0,"end_line":619,"end_character":56},"updated":"2022-05-06 12:17:27.000000000","message":"Unrelated to this patch... But there is a bug right here.  If a path is down resize will fail.  :-(\n\nI\u0027ll submit a patch dependent on this one to fix it...","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":619,"context_line":"            new_size \u003d self.get_device_size(volume_path)"},{"line_number":620,"context_line":"            LOG.debug(\"volume size after scsi device rescan %s\", new_size)"},{"line_number":621,"context_line":""},{"line_number":622,"context_line":"        scsi_wwn \u003d self.get_scsi_wwn(volume_paths[0])"},{"line_number":623,"context_line":"        if use_multipath:"},{"line_number":624,"context_line":"            mpath_device \u003d self.find_multipath_device_path(scsi_wwn)"},{"line_number":625,"context_line":"            if mpath_device:"}],"source_content_type":"text/x-python","patch_set":5,"id":"cde4a08d_7f7105b9","line":622,"updated":"2022-05-06 12:17:27.000000000","message":"Another bug, what if path0 is down?  This will fail  :-(","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":620,"context_line":"            LOG.debug(\"volume size after scsi device rescan %s\", new_size)"},{"line_number":621,"context_line":""},{"line_number":622,"context_line":"        scsi_wwn \u003d self.get_scsi_wwn(volume_paths[0])"},{"line_number":623,"context_line":"        if use_multipath:"},{"line_number":624,"context_line":"            mpath_device \u003d self.find_multipath_device_path(scsi_wwn)"},{"line_number":625,"context_line":"            if mpath_device:"},{"line_number":626,"context_line":"                # Force a reconfigure so that resize works"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f32be88_e06006f6","line":623,"updated":"2022-05-06 12:17:27.000000000","message":"Another bug... This is whether the connector was asked to use multpath, not really if the multipath is actually being used by nova.  If it\u0027s not actually used we should not be doing this.\n\nI\u0027ll submit another patch for that.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"4f80f91efca886c02e7b754514b4ef85f3000183","unresolved":true,"context_lines":[{"line_number":620,"context_line":"            LOG.debug(\"volume size after scsi device rescan %s\", new_size)"},{"line_number":621,"context_line":""},{"line_number":622,"context_line":"        scsi_wwn \u003d self.get_scsi_wwn(volume_paths[0])"},{"line_number":623,"context_line":"        if use_multipath:"},{"line_number":624,"context_line":"            mpath_device \u003d self.find_multipath_device_path(scsi_wwn)"},{"line_number":625,"context_line":"            if mpath_device:"},{"line_number":626,"context_line":"                # Force a reconfigure so that resize works"}],"source_content_type":"text/x-python","patch_set":5,"id":"6fe25037_dd2a8c40","line":623,"in_reply_to":"7f32be88_e06006f6","updated":"2022-05-06 16:18:38.000000000","message":"Thanks for bringing up those unrelated bugs.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":623,"context_line":"        if use_multipath:"},{"line_number":624,"context_line":"            mpath_device \u003d self.find_multipath_device_path(scsi_wwn)"},{"line_number":625,"context_line":"            if mpath_device:"},{"line_number":626,"context_line":"                # Force a reconfigure so that resize works"},{"line_number":627,"context_line":"                self.multipath_reconfigure()"},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"                size \u003d self.get_device_size(mpath_device)"},{"line_number":630,"context_line":"                LOG.info(\"mpath(%(device)s) current size %(size)s\","}],"source_content_type":"text/x-python","patch_set":5,"id":"e6a153a1_316e1bf1","line":627,"range":{"start_line":626,"start_character":0,"end_line":627,"end_character":44},"updated":"2022-05-06 12:17:27.000000000","message":"I don\u0027t understand why we would need the call to \"multipathd reconfigure\" at all. \n\nI\u0027m inclined to think that either the os-brick code was using the reconfigure command as some kind of a wait/lock to prevent/reduce the error this patch is fixing, or it was done for some corner race condition cases were paths just went down and doing the resize would fail if multipathd hasn\u0027t updated the device mapper yet.\n\nIn my opinion we should remove the call, and that should reduce the number of cases where we see the timeout errors.\n\nIn your failing system, what happens if the reconfigure call is removed? \n\nI tested extending, with a concurrency of 4, 104 volumes that were attached to a host (iSCSI with LVM+LIO) that had 417 paths being checked by multipathd while attaching and detaching another 3 different volumes concurrently, and it worked just fine without this call (and without this patch).\n\nI\u0027ll submit a dependent patch on this one to remove it, or at least to not blindly call it.\n\nThis patch you are working on is still relevant, since the timeout situation could also happen if a udev rule triggered a reconfigure.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"4f80f91efca886c02e7b754514b4ef85f3000183","unresolved":true,"context_lines":[{"line_number":623,"context_line":"        if use_multipath:"},{"line_number":624,"context_line":"            mpath_device \u003d self.find_multipath_device_path(scsi_wwn)"},{"line_number":625,"context_line":"            if mpath_device:"},{"line_number":626,"context_line":"                # Force a reconfigure so that resize works"},{"line_number":627,"context_line":"                self.multipath_reconfigure()"},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"                size \u003d self.get_device_size(mpath_device)"},{"line_number":630,"context_line":"                LOG.info(\"mpath(%(device)s) current size %(size)s\","}],"source_content_type":"text/x-python","patch_set":5,"id":"b7ea951e_61c8c716","line":627,"range":{"start_line":626,"start_character":0,"end_line":627,"end_character":44},"in_reply_to":"e6a153a1_316e1bf1","updated":"2022-05-06 16:18:38.000000000","message":"I\u0027ll have to double check with our support team, which raised this issue. I know that the volume size was not getting updated on the guest size and I think there was an exception as well but I\u0027m not entirely sure, will double check.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":633,"context_line":"                # \"multipathd reconfigure\" is async since 0.6.1. While the"},{"line_number":634,"context_line":"                # operation is in progress, \"multipathd resize map\" returns"},{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a0764e6_6109698b","line":636,"range":{"start_line":636,"start_character":30,"end_line":636,"end_character":50},"updated":"2022-05-06 12:17:27.000000000","message":"-1: This doesn\u0027t work, because it\u0027s raising an exception (exit code 1) when the timeout happens.  Since the exception is not caught the loop doesn\u0027t happen.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"943eeff5d8f2b8d974c2bc6ef43e58c7641ef316","unresolved":true,"context_lines":[{"line_number":633,"context_line":"                # \"multipathd reconfigure\" is async since 0.6.1. While the"},{"line_number":634,"context_line":"                # operation is in progress, \"multipathd resize map\" returns"},{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9b099481_d7555e2d","line":636,"range":{"start_line":636,"start_character":30,"end_line":636,"end_character":50},"in_reply_to":"01c640c8_150208a3","updated":"2022-05-09 14:13:29.000000000","message":"Then it\u0027s definitely a behavior that changed afterwards, and we need to cover both cases: exits with code 0 and with code 1.\n\nI\u0027m running it with: DM multipath kernel driver v1.14.0","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"4f80f91efca886c02e7b754514b4ef85f3000183","unresolved":true,"context_lines":[{"line_number":633,"context_line":"                # \"multipathd reconfigure\" is async since 0.6.1. While the"},{"line_number":634,"context_line":"                # operation is in progress, \"multipathd resize map\" returns"},{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"01c640c8_150208a3","line":636,"range":{"start_line":636,"start_character":30,"end_line":636,"end_character":50},"in_reply_to":"3a0764e6_6109698b","updated":"2022-05-06 16:18:38.000000000","message":"Odd, we weren\u0027t getting an exception. Could it be version dependent?\n\nFwiw, here\u0027s a log: https://paste.opendev.org/raw/bThBRqDVo7OdsvtnRBuI/","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0da6cf5bcea97d930fc9ec76f703cbce7f6452c0","unresolved":false,"context_lines":[{"line_number":633,"context_line":"                # \"multipathd reconfigure\" is async since 0.6.1. While the"},{"line_number":634,"context_line":"                # operation is in progress, \"multipathd resize map\" returns"},{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"6926044a_a3868b5c","line":636,"range":{"start_line":636,"start_character":30,"end_line":636,"end_character":50},"in_reply_to":"9b099481_d7555e2d","updated":"2022-05-12 08:04:24.000000000","message":"Done","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":634,"context_line":"                # operation is in progress, \"multipathd resize map\" returns"},{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"}],"source_content_type":"text/x-python","patch_set":5,"id":"791a2006_7b02792c","line":637,"updated":"2022-05-06 12:17:27.000000000","message":"-1: The retry mechanism should be included in the multipath_resize_map to keep this high level logic easier to read.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0da6cf5bcea97d930fc9ec76f703cbce7f6452c0","unresolved":false,"context_lines":[{"line_number":634,"context_line":"                # operation is in progress, \"multipathd resize map\" returns"},{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dcbf0413_1922baee","line":637,"in_reply_to":"4b6a54e4_bd228a98","updated":"2022-05-12 08:04:24.000000000","message":"Done","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"4f80f91efca886c02e7b754514b4ef85f3000183","unresolved":true,"context_lines":[{"line_number":634,"context_line":"                # operation is in progress, \"multipathd resize map\" returns"},{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"}],"source_content_type":"text/x-python","patch_set":5,"id":"4b6a54e4_bd228a98","line":637,"in_reply_to":"791a2006_7b02792c","updated":"2022-05-06 16:18:38.000000000","message":"Makes sense.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"}],"source_content_type":"text/x-python","patch_set":5,"id":"65e7234b_ab211f63","line":638,"range":{"start_line":638,"start_character":70,"end_line":638,"end_character":72},"updated":"2022-05-06 12:17:27.000000000","message":"According to the patch that added the async configuration [1] the author was seeing 80 seconds to complete for 1024 paths.  I think we should be increasing this time, even when I think that needing these long waits for extend is weird.\n\n[1]: https://github.com/opensvc/multipath-tools/commit/5aca183c68f7ada6fd38c866e235abc690e24328","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"4f80f91efca886c02e7b754514b4ef85f3000183","unresolved":true,"context_lines":[{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"}],"source_content_type":"text/x-python","patch_set":5,"id":"c7bf68a4_6577c34c","line":638,"range":{"start_line":638,"start_character":70,"end_line":638,"end_character":72},"in_reply_to":"65e7234b_ab211f63","updated":"2022-05-06 16:18:38.000000000","message":"Interesting, should we go with 120s?","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0da6cf5bcea97d930fc9ec76f703cbce7f6452c0","unresolved":false,"context_lines":[{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"}],"source_content_type":"text/x-python","patch_set":5,"id":"07309419_d2e8fc63","line":638,"range":{"start_line":638,"start_character":70,"end_line":638,"end_character":72},"in_reply_to":"b2db6d5e_7fe59867","updated":"2022-05-12 08:04:24.000000000","message":"Done","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"943eeff5d8f2b8d974c2bc6ef43e58c7641ef316","unresolved":true,"context_lines":[{"line_number":635,"context_line":"                # \"timeout\"."},{"line_number":636,"context_line":"                result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"}],"source_content_type":"text/x-python","patch_set":5,"id":"b2db6d5e_7fe59867","line":638,"range":{"start_line":638,"start_character":70,"end_line":638,"end_character":72},"in_reply_to":"c7bf68a4_6577c34c","updated":"2022-05-09 14:13:29.000000000","message":"That sounds good to me, and we should put it as a class attribute so it\u0027s easier to see that it\u0027s a constant and we can add a comment on the reason why we went with 120 seconds instead of something lower.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"},{"line_number":642,"context_line":"                    LOG.error(\"Multipathd failed to update the size mapping \""},{"line_number":643,"context_line":"                              \"of multipath device %(scsi_wwn)s volume \""}],"source_content_type":"text/x-python","patch_set":5,"id":"c0d3eb75_bdba06a5","line":640,"range":{"start_line":640,"start_character":55,"end_line":640,"end_character":63},"updated":"2022-05-06 12:17:27.000000000","message":"Aaaaand another unrelated bug right here.  This fails is multipathd is running with friendly names.  I\u0027ll also fix it in another follow up patch.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"943eeff5d8f2b8d974c2bc6ef43e58c7641ef316","unresolved":true,"context_lines":[{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"},{"line_number":642,"context_line":"                    LOG.error(\"Multipathd failed to update the size mapping \""},{"line_number":643,"context_line":"                              \"of multipath device %(scsi_wwn)s volume \""}],"source_content_type":"text/x-python","patch_set":5,"id":"91a49a48_876f77b4","line":640,"range":{"start_line":640,"start_character":55,"end_line":640,"end_character":63},"in_reply_to":"9be8fe4c_2fdd93f2","updated":"2022-05-09 14:13:29.000000000","message":"I missed the bug report, thanks for the link.","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"4f80f91efca886c02e7b754514b4ef85f3000183","unresolved":true,"context_lines":[{"line_number":637,"context_line":"                tstart \u003d time.time()"},{"line_number":638,"context_line":"                while \u0027timeout\u0027 in result and (time.time() - tstart \u003c 30):"},{"line_number":639,"context_line":"                    time.sleep(1)"},{"line_number":640,"context_line":"                    result \u003d self.multipath_resize_map(scsi_wwn)"},{"line_number":641,"context_line":"                if \u0027fail\u0027 in result or \u0027timeout\u0027 in result:"},{"line_number":642,"context_line":"                    LOG.error(\"Multipathd failed to update the size mapping \""},{"line_number":643,"context_line":"                              \"of multipath device %(scsi_wwn)s volume \""}],"source_content_type":"text/x-python","patch_set":5,"id":"9be8fe4c_2fdd93f2","line":640,"range":{"start_line":640,"start_character":55,"end_line":640,"end_character":63},"in_reply_to":"c0d3eb75_bdba06a5","updated":"2022-05-06 16:18:38.000000000","message":"Indeed, there\u0027s actually a bug report on this: https://bugs.launchpad.net/os-brick/+bug/1609753","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"57bdbd2ab89614827741997b60059e95ddb8b850","unresolved":true,"context_lines":[{"line_number":38,"context_line":"MULTIPATH_DEVICE_ACTIONS \u003d [\u0027unchanged:\u0027, \u0027reject:\u0027, \u0027reload:\u0027,"},{"line_number":39,"context_line":"                            \u0027switchpg:\u0027, \u0027rename:\u0027, \u0027create:\u0027,"},{"line_number":40,"context_line":"                            \u0027resize:\u0027]"},{"line_number":41,"context_line":"MULTIPATHD_RESIZE_TIMEOUT \u003d 120"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"class LinuxSCSI(executor.Executor):"}],"source_content_type":"text/x-python","patch_set":7,"id":"f877f907_9c168b4f","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":31},"updated":"2022-06-07 07:10:09.000000000","message":"going through previous comments, the reason for this long timeout is missing, would be good to add a comment describing this in a followup.","commit_id":"557f38677a07386807b8d284a20b0ecaa61490f9"}],"os_brick/tests/initiator/test_linuxscsi.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"25dfc996b40bfde994ff35c71e816e5d89f9aa2b","unresolved":true,"context_lines":[{"line_number":925,"context_line":"                         \u0027multipathd reconfigure\u0027]"},{"line_number":926,"context_line":"        self.assertEqual(expected_cmds, self.cmds)"},{"line_number":927,"context_line":"        mock_mpath_resize_map.assert_has_calls([mock.call(wwn)] * 2)"},{"line_number":928,"context_line":""},{"line_number":929,"context_line":"    def test_process_lun_id_list(self):"},{"line_number":930,"context_line":"        lun_list \u003d [2, 255, 88, 370, 5, 256]"},{"line_number":931,"context_line":"        result \u003d self.linuxscsi.process_lun_id(lun_list)"}],"source_content_type":"text/x-python","patch_set":6,"id":"4ed96c6b_3ab2d450","line":928,"updated":"2022-05-25 11:49:49.000000000","message":"There\u0027s a case that\u0027s missing. When resizing of the map doesn´t raise the exception on timeout (which I believe was your specific issue).","commit_id":"8c13de493db134ed8fab160f3ff1d061a245441b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"44ddd4ba3f791bdb1950b7ddf8353e4d32e54b3b","unresolved":false,"context_lines":[{"line_number":925,"context_line":"                         \u0027multipathd reconfigure\u0027]"},{"line_number":926,"context_line":"        self.assertEqual(expected_cmds, self.cmds)"},{"line_number":927,"context_line":"        mock_mpath_resize_map.assert_has_calls([mock.call(wwn)] * 2)"},{"line_number":928,"context_line":""},{"line_number":929,"context_line":"    def test_process_lun_id_list(self):"},{"line_number":930,"context_line":"        lun_list \u003d [2, 255, 88, 370, 5, 256]"},{"line_number":931,"context_line":"        result \u003d self.linuxscsi.process_lun_id(lun_list)"}],"source_content_type":"text/x-python","patch_set":6,"id":"6a5d1f47_65f8b8b5","line":928,"in_reply_to":"372a307b_d54ccbee","updated":"2022-06-03 14:09:18.000000000","message":"I disagree... There are 2 cases for timeout:\n\n- Execution doesn\u0027t raise exception: The case you were seeing\n- With exception: The case I was seeing\n\nAnd test_extend_volume_with_mpath_pending is only testing the second case (raising the exception) which is not what you were seeing in your system.","commit_id":"8c13de493db134ed8fab160f3ff1d061a245441b"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"f5980ea786f8e911a286fc8e3cbb1d5617739702","unresolved":false,"context_lines":[{"line_number":925,"context_line":"                         \u0027multipathd reconfigure\u0027]"},{"line_number":926,"context_line":"        self.assertEqual(expected_cmds, self.cmds)"},{"line_number":927,"context_line":"        mock_mpath_resize_map.assert_has_calls([mock.call(wwn)] * 2)"},{"line_number":928,"context_line":""},{"line_number":929,"context_line":"    def test_process_lun_id_list(self):"},{"line_number":930,"context_line":"        lun_list \u003d [2, 255, 88, 370, 5, 256]"},{"line_number":931,"context_line":"        result \u003d self.linuxscsi.process_lun_id(lun_list)"}],"source_content_type":"text/x-python","patch_set":6,"id":"372a307b_d54ccbee","line":928,"in_reply_to":"4ed96c6b_3ab2d450","updated":"2022-05-27 07:52:51.000000000","message":"\"test_extend_volume_with_mpath_pending\" covers the scenario in which the first resize map attempt receives a timeout error while the second call completes successfully, for which we\u0027re using the following side effect:\n\n  mock_mpath_resize_map.side_effect \u003d (\n            putils.ProcessExecutionError(stdout\u003d\"timeout\"),\n            \"success\")\n\nThe one scenario that we haven\u0027t covered is the one in which the resize map call returns \"timeout\" indefinitely. I\u0027ve just submitted another patch set that includes this as well.","commit_id":"8c13de493db134ed8fab160f3ff1d061a245441b"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"55c9e9df97dd77caaf24ac4577067a218cdea3ae","unresolved":false,"context_lines":[{"line_number":925,"context_line":"                         \u0027multipathd reconfigure\u0027]"},{"line_number":926,"context_line":"        self.assertEqual(expected_cmds, self.cmds)"},{"line_number":927,"context_line":"        mock_mpath_resize_map.assert_has_calls([mock.call(wwn)] * 2)"},{"line_number":928,"context_line":""},{"line_number":929,"context_line":"    def test_process_lun_id_list(self):"},{"line_number":930,"context_line":"        lun_list \u003d [2, 255, 88, 370, 5, 256]"},{"line_number":931,"context_line":"        result \u003d self.linuxscsi.process_lun_id(lun_list)"}],"source_content_type":"text/x-python","patch_set":6,"id":"c79d355c_04f57031","line":928,"in_reply_to":"6a5d1f47_65f8b8b5","updated":"2022-06-07 06:15:13.000000000","message":"Oh, I see what you mean. The idea is that \"_multipath_resize_map\" [1], which is being mocked here, is now raising an exception if the stderr contains \"fail\" or \"timeout\", basically the first situation.\n\nI can add a separate test case for that.\n\n[1] https://review.opendev.org/c/openstack/os-brick/+/762776/7/os_brick/initiator/linuxscsi.py#584","commit_id":"8c13de493db134ed8fab160f3ff1d061a245441b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"44ddd4ba3f791bdb1950b7ddf8353e4d32e54b3b","unresolved":true,"context_lines":[{"line_number":971,"context_line":"            putils.ProcessExecutionError,"},{"line_number":972,"context_line":"            self.linuxscsi.extend_volume,"},{"line_number":973,"context_line":"            [\u0027/dev/fake1\u0027, \u0027/dev/fake2\u0027],"},{"line_number":974,"context_line":"            use_multipath\u003dTrue)"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":"    def test_process_lun_id_list(self):"},{"line_number":977,"context_line":"        lun_list \u003d [2, 255, 88, 370, 5, 256]"}],"source_content_type":"text/x-python","patch_set":7,"id":"a9063a5a_c1154e05","line":974,"updated":"2022-06-03 14:09:18.000000000","message":"nit: It\u0027s good practice to check not only the result (exception raised) but also that mocks were called as excepted.\n\nFor example, if mock_currtime should have been called 3 times we should do:\n\n  self.assertEqual(3, mock_currtime.call_count)","commit_id":"557f38677a07386807b8d284a20b0ecaa61490f9"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"55c9e9df97dd77caaf24ac4577067a218cdea3ae","unresolved":true,"context_lines":[{"line_number":971,"context_line":"            putils.ProcessExecutionError,"},{"line_number":972,"context_line":"            self.linuxscsi.extend_volume,"},{"line_number":973,"context_line":"            [\u0027/dev/fake1\u0027, \u0027/dev/fake2\u0027],"},{"line_number":974,"context_line":"            use_multipath\u003dTrue)"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":"    def test_process_lun_id_list(self):"},{"line_number":977,"context_line":"        lun_list \u003d [2, 255, 88, 370, 5, 256]"}],"source_content_type":"text/x-python","patch_set":7,"id":"2ce3bbc5_da2312c2","line":974,"in_reply_to":"a9063a5a_c1154e05","updated":"2022-06-07 06:15:13.000000000","message":"Well, log messages also invoke time.time() and I\u0027d rather avoid the situation in which the test fails just because an extra log message was added by a subsequent commit.","commit_id":"557f38677a07386807b8d284a20b0ecaa61490f9"}],"releasenotes/notes/bug-1888675-mpath-resize-6013ce39fa2b8401.yaml":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6c5fd865b313fe948ad879187f549a3b8aea0b13","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    `Bug #1888675 \u003chttps://bugs.launchpad.net/os-brick/+bug/1888675\u003e`_: Fixed"},{"line_number":5,"context_line":"    in-use volume resize issues caused by the multipath-tools version"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"909020d3_f00c4db2","line":5,"range":{"start_line":5,"start_character":45,"end_line":5,"end_character":69},"updated":"2022-05-06 12:17:27.000000000","message":"nit: Finish sentence with a period (.)","commit_id":"a35e9f9eadb799dc03398e400897ac171c9eb267"}]}
