)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"e16e816cc58bf610da1b7eeb45167cc7f2be0f82","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3acf2c14_d73fa48c","updated":"2024-02-10 05:39:05.000000000","message":"CI failures are real; you need to update the related test to expect the new order.\n\nWe should try to identify what\u0027s changed/different in Ubuntu and/or if your hypothesis about partprobe itself creating udev events is needed. I wonder if the final, safest answer would be doing two settles; one on each side of the partprobe.","commit_id":"bbc9a565deb4f0d0c1ae7f6f335c78a4465ae63d"},{"author":{"_account_id":28297,"name":"Luke Odom","email":"luke.odom@dreamhost.com","username":"lukeodom"},"change_message_id":"f10bc8aecb97b651da9701fa07e232791b4ecdd3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"aa90b3c6_e9a48241","updated":"2024-02-12 16:10:27.000000000","message":"Did some more testing on this. My one big caveat is all this testing is done on Ubuntu 20/22.04 as that is what our internal CI/CD image building system uses so it\u0027s easiest for me. I\u0027m not sure how/if this applies to any other OS.\n\nI tried removing udev settle entirely and just sleeping for a while. Based on kernel ring buffer logs, 1 to 3 seconds after partprobe exits the partitions show up. So, partprobe is exiting before the kernel has finished doing it\u0027s stuff. \n\nI added a udevadm settle both before and after the partprobe and compared /dev before and after the settle ran. Running before the partprobe, nothing changed, running it afterwards, the new partitions are there. \n\nI\u0027m not positive the settle is waiting on partitions to finish being recognized by the kernel as it happens regardless but in my testing I never had settle exit before they were there. \n\nI\u0027m confident enough I think the udev settle after partprobe is the correct way to go. What I\u0027m unsure about is if I should leave the settle before. It\u0027s not useful in this particular case but could be for others (like the iscsi method of previous years Julia mentioned). It shouldn\u0027t hurt and only adds around a second to execution time so I\u0027m tempted to just leave it.","commit_id":"bbc9a565deb4f0d0c1ae7f6f335c78a4465ae63d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"207de3dbb550f60f862e0ca6022670d19b770bc6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cc6408aa_ea375c75","in_reply_to":"aa90b3c6_e9a48241","updated":"2024-02-13 00:20:22.000000000","message":"Personally, I don\u0027t think it is awful to keep, even though iscsi deploy is basically gone. We also know some folks have a tendency to not adhere to versioning properly, so as is I think this works.\n\nThanks!","commit_id":"bbc9a565deb4f0d0c1ae7f6f335c78a4465ae63d"}],"ironic_lib/disk_utils.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"50115374d8aca03af0daf09b55bfe1199a8348b5","unresolved":true,"context_lines":[{"line_number":699,"context_line":"    # Make sure any additions to the partitioning are reflected in the"},{"line_number":700,"context_line":"    # kernel."},{"line_number":701,"context_line":"    partprobe(device, attempts\u003dattempts)"},{"line_number":702,"context_line":"    udev_settle()"},{"line_number":703,"context_line":"    try:"},{"line_number":704,"context_line":"        # Also verify that the partitioning is correct now."},{"line_number":705,"context_line":"        utils.execute(\u0027sgdisk\u0027, \u0027-v\u0027, device, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"02255abb_4b01a6e0","line":702,"updated":"2024-02-10 05:41:31.000000000","message":"If you can easily reproduce the broken case; a suggestion: leave the existing order, and add a 10 second sleep here to ensure the timing isn\u0027t what\u0027s fixing it instead of the swapped order. \n\nI also think, as suggested in the other comment, you should try adding this settle call *and* leaving the other. If there\u0027s nothing to settle, it should be fast.","commit_id":"bbc9a565deb4f0d0c1ae7f6f335c78a4465ae63d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"2c77644549ea38aff5fbbab7fbad6251df79e353","unresolved":true,"context_lines":[{"line_number":699,"context_line":"    # Make sure any additions to the partitioning are reflected in the"},{"line_number":700,"context_line":"    # kernel."},{"line_number":701,"context_line":"    partprobe(device, attempts\u003dattempts)"},{"line_number":702,"context_line":"    udev_settle()"},{"line_number":703,"context_line":"    try:"},{"line_number":704,"context_line":"        # Also verify that the partitioning is correct now."},{"line_number":705,"context_line":"        utils.execute(\u0027sgdisk\u0027, \u0027-v\u0027, device, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"a75c2bb8_3f0615b6","line":702,"in_reply_to":"02255abb_4b01a6e0","updated":"2024-02-12 14:44:42.000000000","message":"I\u0027ve been thinking about this over the weekend. I think part of the driver for settle before was that this method could get invoked in the past after both the ``direct`` and ``iscsi`` deployment interfaces executed. Sync was to ensure anything in the buffer was flushed. udev_settle was to ensure devices/actions are settled, and then partprobe was run to hopefully pickup anything. It seems, based upon the bug and filing that we do need to switch the order. I\u0027m just unsure on the original udev_settle and if we should keep it around, or not.","commit_id":"bbc9a565deb4f0d0c1ae7f6f335c78a4465ae63d"}]}
