)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c53a0da59b2a5f0ac80a50e9fda1f94406f85deb","unresolved":true,"context_lines":[{"line_number":14,"context_line":"the detection pipeline within nova so we have access to the multiple"},{"line_number":15,"context_line":"matching inspectors (similar to what glance does)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Depends-On: https://review.opendev.org/c/openstack/requirements/+/934176"},{"line_number":18,"context_line":"Change-Id: I01e4f1bd74c9535f1e588159fd5e91c9b8bc60d4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"001b629a_84f25e73","line":17,"updated":"2025-01-10 11:28:42.000000000","message":"+1, this is now merge so its not a blocker to proceed with this","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c53a0da59b2a5f0ac80a50e9fda1f94406f85deb","unresolved":true,"context_lines":[{"line_number":15,"context_line":"matching inspectors (similar to what glance does)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Depends-On: https://review.opendev.org/c/openstack/requirements/+/934176"},{"line_number":18,"context_line":"Change-Id: I01e4f1bd74c9535f1e588159fd5e91c9b8bc60d4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"38c23656_1155f255","line":18,"updated":"2025-01-10 11:28:42.000000000","message":"i dont have the bug to hand but it might have been nice to have a relaated-bug perhaps the cve?\n\nbut im not going to block on that\n\n+2","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6ab71523f654fd2a724431e3e15ea29a0026c36f","unresolved":true,"context_lines":[{"line_number":15,"context_line":"matching inspectors (similar to what glance does)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Depends-On: https://review.opendev.org/c/openstack/requirements/+/934176"},{"line_number":18,"context_line":"Change-Id: I01e4f1bd74c9535f1e588159fd5e91c9b8bc60d4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3d6189e6_12bce4e8","line":18,"in_reply_to":"38c23656_1155f255","updated":"2025-01-13 15:39:10.000000000","message":"No, we don\u0027t need a new bug report as this is rather a modification to do the better.","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0eaada0f3699c85361b3dfd345c3c639a51287a8","unresolved":true,"context_lines":[{"line_number":15,"context_line":"matching inspectors (similar to what glance does)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Depends-On: https://review.opendev.org/c/openstack/requirements/+/934176"},{"line_number":18,"context_line":"Change-Id: I01e4f1bd74c9535f1e588159fd5e91c9b8bc60d4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"d665dd66_34577c3c","line":18,"in_reply_to":"38c23656_1155f255","updated":"2025-01-13 14:45:08.000000000","message":"this is the bug its tangenly related too\n\nhttps://bugs.launchpad.net/nova/+bug/2054446\n\nwhen we finally fixed that issue in https://review.opendev.org/c/openstack/nova/+/909611 it started failing when oslo gained the GPT detection capablity.\n\nso its not directly related but we need to merge this before we can merge that.","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0f81eb54041bd54f506369da4e2430c8d941bd24","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3a86264a_45251f53","updated":"2024-10-09 08:15:55.000000000","message":"+1 because of the pep8 issue.","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c2d0da1750032af200079753145190e12a361fe1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1b831fb4_f04553a7","updated":"2024-10-09 17:12:53.000000000","message":"im not exactly shure why the test are failing\n\nit failing on the image format but its not obvious to me why\n\ni didnt look at this in any great detail so that just an observation.","commit_id":"61cfbf03e80d6fcb28735dbe0d076b5256dc4c1b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8dac40c5cc24866670cbe12d9c89acf3cb224945","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"57cd37f6_eb6b5f9b","in_reply_to":"169d2160_7341b026","updated":"2024-10-09 18:10:37.000000000","message":"oh right we dont ust that form git normally so its not in required_projects\n\ni was preparing to end my day whcih im actully going to do now but ya that makes sense.\n\nya we will need to bump the min version when the release is done so we will get fresh results then.","commit_id":"61cfbf03e80d6fcb28735dbe0d076b5256dc4c1b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9acc628497e8b6ab050805c0ef273d040aac58de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"169d2160_7341b026","in_reply_to":"1b831fb4_f04553a7","updated":"2024-10-09 17:22:34.000000000","message":"They\u0027re failing because none of the jobs (unit, functional, or tempest) are running with the oslo patch. I\u0027ve tested locally to show this works, and I figured we\u0027d just iterate from here once oslo is merged, released, and updated in u-c.","commit_id":"61cfbf03e80d6fcb28735dbe0d076b5256dc4c1b"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6ab71523f654fd2a724431e3e15ea29a0026c36f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"11fda25c_2fadc59e","updated":"2025-01-13 15:39:10.000000000","message":"I\u0027m eventually cool with this. Thanks !","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e5c24e080db8119d66d7565b9e37aa003fc763a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"03edec3a_efb5d290","updated":"2025-01-13 20:01:40.000000000","message":"recheck backport job clearly unrelated ssh fail","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f4e01a5fe54656c0b4f70a1176113660b30a0dc7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c5d957a0_92934fa3","updated":"2025-01-06 14:50:43.000000000","message":"recheck freshen results","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"}],"nova/virt/images.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0f81eb54041bd54f506369da4e2430c8d941bd24","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        raise exception.ImageUnacceptable(image_id\u003dimage_id, reason\u003dmsg)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"def get_image_format(path):"},{"line_number":146,"context_line":"    with open(path, \u0027rb\u0027) as f:"},{"line_number":147,"context_line":"        wrapper \u003d format_inspector.InspectWrapper(f)"},{"line_number":148,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"53da7ca2_8b31ce3b","line":145,"updated":"2024-10-09 08:15:55.000000000","message":"so i think we could pass an expexted disk format here\n——— later———\n\nwe have the expected disk format here but not in all places where this is called.","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9d1fb814a4f3cff577ddd412bb2478b2dc69ab1e","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        raise exception.ImageUnacceptable(image_id\u003dimage_id, reason\u003dmsg)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"def get_image_format(path):"},{"line_number":146,"context_line":"    with open(path, \u0027rb\u0027) as f:"},{"line_number":147,"context_line":"        wrapper \u003d format_inspector.InspectWrapper(f)"},{"line_number":148,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"2ec186e0_3526367b","line":145,"in_reply_to":"53da7ca2_8b31ce3b","updated":"2024-10-09 14:10:29.000000000","message":"Yep","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c2d0da1750032af200079753145190e12a361fe1","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                    break"},{"line_number":153,"context_line":"        finally:"},{"line_number":154,"context_line":"            wrapper.close()"},{"line_number":155,"context_line":"        formats \u003d wrapper.formats"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    try:"},{"line_number":158,"context_line":"        return wrapper.format"}],"source_content_type":"text/x-python","patch_set":1,"id":"f1d39573_4fc134f6","line":155,"in_reply_to":"5969c404_0541981a","updated":"2024-10-09 17:12:53.000000000","message":"Done","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0f81eb54041bd54f506369da4e2430c8d941bd24","unresolved":true,"context_lines":[{"line_number":152,"context_line":"                    break"},{"line_number":153,"context_line":"        finally:"},{"line_number":154,"context_line":"            wrapper.close()"},{"line_number":155,"context_line":"        formats \u003d wrapper.formats"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    try:"},{"line_number":158,"context_line":"        return wrapper.format"}],"source_content_type":"text/x-python","patch_set":1,"id":"f348806e_de2da31d","line":155,"in_reply_to":"ebc193f0_90cd4da7","updated":"2024-10-09 08:15:55.000000000","message":"\u003e pep8: F841 local variable \u0027formats\u0027 is assigned to but never used\n\ni guess you ment to use formats instead of wrapper.formats belovw although you dont\nseam to need that for line wrapping so proably best to just delete this assignment.","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9d1fb814a4f3cff577ddd412bb2478b2dc69ab1e","unresolved":true,"context_lines":[{"line_number":152,"context_line":"                    break"},{"line_number":153,"context_line":"        finally:"},{"line_number":154,"context_line":"            wrapper.close()"},{"line_number":155,"context_line":"        formats \u003d wrapper.formats"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    try:"},{"line_number":158,"context_line":"        return wrapper.format"}],"source_content_type":"text/x-python","patch_set":1,"id":"5969c404_0541981a","line":155,"in_reply_to":"f348806e_de2da31d","updated":"2024-10-09 14:10:29.000000000","message":"Yeah just leftover from cleanup.","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0f81eb54041bd54f506369da4e2430c8d941bd24","unresolved":true,"context_lines":[{"line_number":159,"context_line":"    except format_inspector.ImageFormatError:"},{"line_number":160,"context_line":"        format_names \u003d set(str(x) for x in wrapper.formats)"},{"line_number":161,"context_line":"        if format_names \u003d\u003d {\u0027iso\u0027, \u0027gpt\u0027}:"},{"line_number":162,"context_line":"            # If iso+gpt, we choose the iso because bootable-as-block ISOs"},{"line_number":163,"context_line":"            # can legitimately have a GPT bootloader in front."},{"line_number":164,"context_line":"            LOG.debug(\u0027Detected %s as ISO+GPT, allowing as ISO\u0027, path)"},{"line_number":165,"context_line":"            return [x for x in wrapper.formats if str(x) \u003d\u003d \u0027iso\u0027][0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"eb0e5772_0430bd6f","line":162,"updated":"2024-10-09 08:15:55.000000000","message":"and only do this if we expext iso\ni.e. if we expect gpt or qcow or  raw then (iso,gpt) is still invalid but if we expect iso it acceptable","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c2d0da1750032af200079753145190e12a361fe1","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    except format_inspector.ImageFormatError:"},{"line_number":160,"context_line":"        format_names \u003d set(str(x) for x in wrapper.formats)"},{"line_number":161,"context_line":"        if format_names \u003d\u003d {\u0027iso\u0027, \u0027gpt\u0027}:"},{"line_number":162,"context_line":"            # If iso+gpt, we choose the iso because bootable-as-block ISOs"},{"line_number":163,"context_line":"            # can legitimately have a GPT bootloader in front."},{"line_number":164,"context_line":"            LOG.debug(\u0027Detected %s as ISO+GPT, allowing as ISO\u0027, path)"},{"line_number":165,"context_line":"            return [x for x in wrapper.formats if str(x) \u003d\u003d \u0027iso\u0027][0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"8cb338f5_a92f306d","line":162,"in_reply_to":"04f673ad_b930643c","updated":"2024-10-09 17:12:53.000000000","message":"Acknowledged","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9d1fb814a4f3cff577ddd412bb2478b2dc69ab1e","unresolved":true,"context_lines":[{"line_number":159,"context_line":"    except format_inspector.ImageFormatError:"},{"line_number":160,"context_line":"        format_names \u003d set(str(x) for x in wrapper.formats)"},{"line_number":161,"context_line":"        if format_names \u003d\u003d {\u0027iso\u0027, \u0027gpt\u0027}:"},{"line_number":162,"context_line":"            # If iso+gpt, we choose the iso because bootable-as-block ISOs"},{"line_number":163,"context_line":"            # can legitimately have a GPT bootloader in front."},{"line_number":164,"context_line":"            LOG.debug(\u0027Detected %s as ISO+GPT, allowing as ISO\u0027, path)"},{"line_number":165,"context_line":"            return [x for x in wrapper.formats if str(x) \u003d\u003d \u0027iso\u0027][0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"04f673ad_b930643c","line":162,"in_reply_to":"eb0e5772_0430bd6f","updated":"2024-10-09 14:10:29.000000000","message":"Well, we\u0027re sending back what we think this is, which in the case of download we\u0027ll compare to what glance thinks it is and fail if it\u0027s not iso. But yeah.","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0f81eb54041bd54f506369da4e2430c8d941bd24","unresolved":true,"context_lines":[{"line_number":195,"context_line":"            LOG.debug(\u0027Image %s registered as raw, but detected as gpt\u0027,"},{"line_number":196,"context_line":"                      image_href)"},{"line_number":197,"context_line":"        elif disk_format not in ami_formats and str(inspector) !\u003d disk_format:"},{"line_number":198,"context_line":"            # If we detected the image as something other than glance claimed,"},{"line_number":199,"context_line":"            # we abort."},{"line_number":200,"context_line":"            LOG.warning(\u0027Image %s expected to be %s but detected as %s\u0027,"},{"line_number":201,"context_line":"                        image_href, disk_format, str(inspector))"}],"source_content_type":"text/x-python","patch_set":1,"id":"adca2fc6_fe5b0122","line":198,"updated":"2024-10-09 08:15:55.000000000","message":"we dont have to pass disk forat because this will catch it but the multi fornat exception might be better","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9d1fb814a4f3cff577ddd412bb2478b2dc69ab1e","unresolved":true,"context_lines":[{"line_number":195,"context_line":"            LOG.debug(\u0027Image %s registered as raw, but detected as gpt\u0027,"},{"line_number":196,"context_line":"                      image_href)"},{"line_number":197,"context_line":"        elif disk_format not in ami_formats and str(inspector) !\u003d disk_format:"},{"line_number":198,"context_line":"            # If we detected the image as something other than glance claimed,"},{"line_number":199,"context_line":"            # we abort."},{"line_number":200,"context_line":"            LOG.warning(\u0027Image %s expected to be %s but detected as %s\u0027,"},{"line_number":201,"context_line":"                        image_href, disk_format, str(inspector))"}],"source_content_type":"text/x-python","patch_set":1,"id":"0c1f6069_f712992c","line":198,"in_reply_to":"adca2fc6_fe5b0122","updated":"2024-10-09 14:10:29.000000000","message":"Yeah I think the multi-format exception raised by L167 will be best.","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6ab71523f654fd2a724431e3e15ea29a0026c36f","unresolved":true,"context_lines":[{"line_number":161,"context_line":"            # If iso+gpt, we choose the iso because bootable-as-block ISOs"},{"line_number":162,"context_line":"            # can legitimately have a GPT bootloader in front."},{"line_number":163,"context_line":"            LOG.debug(\u0027Detected %s as ISO+GPT, allowing as ISO\u0027, path)"},{"line_number":164,"context_line":"            return [x for x in wrapper.formats if str(x) \u003d\u003d \u0027iso\u0027][0]"},{"line_number":165,"context_line":"        # Any other case of multiple formats is an error"},{"line_number":166,"context_line":"        raise"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"404eed34_1df69861","line":164,"updated":"2025-01-13 15:39:10.000000000","message":"I assume we have multiple \u0027iso\u0027 items in the list hence getting the first one.\nThere are many ways to write that in Python but I won\u0027t nitpick on which one I\u0027d prefer, let\u0027s just do this list comprehension.","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e2ddec5411a856941d3b1b0679651950d4ff4eba","unresolved":true,"context_lines":[{"line_number":161,"context_line":"            # If iso+gpt, we choose the iso because bootable-as-block ISOs"},{"line_number":162,"context_line":"            # can legitimately have a GPT bootloader in front."},{"line_number":163,"context_line":"            LOG.debug(\u0027Detected %s as ISO+GPT, allowing as ISO\u0027, path)"},{"line_number":164,"context_line":"            return [x for x in wrapper.formats if str(x) \u003d\u003d \u0027iso\u0027][0]"},{"line_number":165,"context_line":"        # Any other case of multiple formats is an error"},{"line_number":166,"context_line":"        raise"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"4926663e_2794d479","line":164,"in_reply_to":"404eed34_1df69861","updated":"2025-01-13 15:44:50.000000000","message":"we should only have one but we dont know if it will be the first or second formator in the formats, so this is just a \"find\" over the formats to extract the correct object to return.\n\nthe only way to have multiple iso format inspectors in the result set would be if you somehow created multiple copies of the inspecotrs but that wont happen.","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"189f4a8f4cf2f9611fe8a38c474c8ef60a093eca","unresolved":true,"context_lines":[{"line_number":161,"context_line":"            # If iso+gpt, we choose the iso because bootable-as-block ISOs"},{"line_number":162,"context_line":"            # can legitimately have a GPT bootloader in front."},{"line_number":163,"context_line":"            LOG.debug(\u0027Detected %s as ISO+GPT, allowing as ISO\u0027, path)"},{"line_number":164,"context_line":"            return [x for x in wrapper.formats if str(x) \u003d\u003d \u0027iso\u0027][0]"},{"line_number":165,"context_line":"        # Any other case of multiple formats is an error"},{"line_number":166,"context_line":"        raise"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"b1c7e6d4_b3918de1","line":164,"in_reply_to":"4926663e_2794d479","updated":"2025-01-13 15:55:19.000000000","message":"And if there was a copy, it probably wouldn\u0027t matter which we return (I say probably since it can\u0027t happen today so any rationalizing about a distinction is impossible).\n\nWe know there is at least one, since we\u0027re looking at the same list we generated `format_names` from above. I used a set to compare those because they could be in either order. If you prefer, I could put them into a dict, compare the `dict_keys()` and then index the diff for the return. The list comprehension and index is faster than a for loop (theoretically) and definitely more compact, but I know indexing it like this looks sort of dangerous, but we know the contents explicitly.\n\nBTW, the reason is not \"multiple iso items\" but the fact that this code is specifically to handle the case where we\u0027ve detected two formats (iso and GPT). Because ISO intentionally provides space for other formats\u0027 in its first block (i.e. to make ISOs bootable like disks) we\u0027re catching, handling, and making a specific decision here to consider a GPT+ISO an ISO.","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c53a0da59b2a5f0ac80a50e9fda1f94406f85deb","unresolved":true,"context_lines":[{"line_number":163,"context_line":"            LOG.debug(\u0027Detected %s as ISO+GPT, allowing as ISO\u0027, path)"},{"line_number":164,"context_line":"            return [x for x in wrapper.formats if str(x) \u003d\u003d \u0027iso\u0027][0]"},{"line_number":165,"context_line":"        # Any other case of multiple formats is an error"},{"line_number":166,"context_line":"        raise"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"def do_image_deep_inspection(img, image_href, path):"}],"source_content_type":"text/x-python","patch_set":4,"id":"0c192bea_1e56ef37","line":166,"updated":"2025-01-10 11:28:42.000000000","message":"+1 thansk for the code comment to to explain this.","commit_id":"507c6c1113ec8bdd2ab704f92ad7d2209f053b50"}],"nova/virt/libvirt/imagebackend.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0f81eb54041bd54f506369da4e2430c8d941bd24","unresolved":true,"context_lines":[{"line_number":688,"context_line":"        # NOTE(sean-k-mooney) If the image was created by nova as a swap"},{"line_number":689,"context_line":"        # or ephemeral disk it is safe to skip the deep inspection."},{"line_number":690,"context_line":"        if not CONF.workarounds.disable_deep_image_inspection and not safe:"},{"line_number":691,"context_line":"            inspector \u003d images.get_image_format(base)"},{"line_number":692,"context_line":"            try:"},{"line_number":693,"context_line":"                inspector.safety_check()"},{"line_number":694,"context_line":"            except format_inspector.SafetyCheckFailed as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"759a4397_6e187f09","line":691,"updated":"2024-10-09 08:15:55.000000000","message":"i geuss here wew dont nessisarally have the format so not adding it to the signiture is better and we should proceed with the desgin you proposed","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9d1fb814a4f3cff577ddd412bb2478b2dc69ab1e","unresolved":true,"context_lines":[{"line_number":688,"context_line":"        # NOTE(sean-k-mooney) If the image was created by nova as a swap"},{"line_number":689,"context_line":"        # or ephemeral disk it is safe to skip the deep inspection."},{"line_number":690,"context_line":"        if not CONF.workarounds.disable_deep_image_inspection and not safe:"},{"line_number":691,"context_line":"            inspector \u003d images.get_image_format(base)"},{"line_number":692,"context_line":"            try:"},{"line_number":693,"context_line":"                inspector.safety_check()"},{"line_number":694,"context_line":"            except format_inspector.SafetyCheckFailed as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"c40d32ef_22dcdb03","line":691,"in_reply_to":"759a4397_6e187f09","updated":"2024-10-09 14:10:29.000000000","message":"Yeah, while handling the CVE I had to re-design things when I came to this same realization :/","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c2d0da1750032af200079753145190e12a361fe1","unresolved":false,"context_lines":[{"line_number":688,"context_line":"        # NOTE(sean-k-mooney) If the image was created by nova as a swap"},{"line_number":689,"context_line":"        # or ephemeral disk it is safe to skip the deep inspection."},{"line_number":690,"context_line":"        if not CONF.workarounds.disable_deep_image_inspection and not safe:"},{"line_number":691,"context_line":"            inspector \u003d images.get_image_format(base)"},{"line_number":692,"context_line":"            try:"},{"line_number":693,"context_line":"                inspector.safety_check()"},{"line_number":694,"context_line":"            except format_inspector.SafetyCheckFailed as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3150d995_e979b13b","line":691,"in_reply_to":"c40d32ef_22dcdb03","updated":"2024-10-09 17:12:53.000000000","message":"Acknowledged","commit_id":"3e49d7fffd865de91e289382f64c6db5b01119c1"}]}
