)]}'
{"id":"openstack%2Foslo.utils~937215","triplet_id":"openstack%2Foslo.utils~master~I34b6b175ddb9daaf9d05e7866b796eceb7ed104b","project":"openstack/oslo.utils","branch":"master","topic":"bug/2091114","attention_set":{},"removed_from_attention_set":{"9649":{"account":{"_account_id":9649,"name":"Adrian Vladu","email":"avladu@cloudbasesolutions.com","username":"avladu"},"last_update":"2025-08-11 09:24:47.000000000","reason":"Change was abandoned"},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2025-08-11 09:24:47.000000000","reason":"Change was abandoned"},"4393":{"account":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"last_update":"2025-01-02 15:01:26.000000000","reason":"\u003cGERRIT_ACCOUNT_4393\u003e replied on the change","reason_account":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"}}},"hashtags":[],"change_id":"I34b6b175ddb9daaf9d05e7866b796eceb7ed104b","subject":"[DNM] detect mixed legacy mbr and PMBR images","status":"ABANDONED","created":"2024-12-05 21:44:19.000000000","updated":"2025-08-11 09:24:47.000000000","total_comment_count":5,"unresolved_comment_count":2,"has_review_started":true,"meta_rev_id":"ab141642e751489200a697dd5643e36ba828937c","_number":937215,"virtual_id_number":937215,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":9649,"name":"Adrian Vladu","email":"avladu@cloudbasesolutions.com","username":"avladu"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"tag":"autogenerated:zuul:check","value":-1,"date":"2024-12-05 23:28:21.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"recommended":{"_account_id":9649,"name":"Adrian Vladu","email":"avladu@cloudbasesolutions.com","username":"avladu"},"all":[{"value":1,"date":"2024-12-06 10:12:16.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":9649,"name":"Adrian Vladu","email":"avladu@cloudbasesolutions.com","username":"avladu"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":1,"default_value":0,"optional":true},"Workflow":{"rejected":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"_account_id":9649,"name":"Adrian Vladu","email":"avladu@cloudbasesolutions.com","username":"avladu"},{"value":-1,"date":"2024-12-06 13:21:46.000000000","permitted_voting_range":{"min":-1,"max":0},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9649,"name":"Adrian Vladu","email":"avladu@cloudbasesolutions.com","username":"avladu"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":9649,"name":"Adrian Vladu","email":"avladu@cloudbasesolutions.com","username":"avladu"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-12-05 23:28:21.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2024-12-06 10:12:16.000000000","updated_by":{"_account_id":9649,"name":"Adrian Vladu","email":"avladu@cloudbasesolutions.com","username":"avladu"},"reviewer":{"_account_id":9649,"name":"Adrian Vladu","email":"avladu@cloudbasesolutions.com","username":"avladu"},"state":"REVIEWER"},{"updated":"2024-12-06 13:21:35.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"state":"CC"},{"updated":"2024-12-06 13:21:35.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"CC"},{"updated":"2024-12-06 13:21:35.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"state":"REVIEWER"}],"messages":[{"id":"50ddf311f78ef5d66a861ef4cf4df744635601d8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2024-12-05 21:44:19.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e034c4a6b755d9ab3475d428840bb939c74f674b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2024-12-05 21:44:47.000000000","message":"Patch Set 2: Patch Set 1 was rebased","accounts_in_message":[],"_revision_number":2},{"id":"015b4552a6d7b01d4ae61e17b0e2c14515e4287f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-12-05 23:28:21.000000000","message":"Patch Set 2: Verified-1\n\n(7 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/063ea69f90d242558fbff26494cd8bd0\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/5dacea5a96c94b53ac45f873b62064fa : SUCCESS in 1h 42m 57s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f76e547be8d64c8984433e1fcf3e3e8e : SUCCESS in 15m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1a305e7205954c09a26d1474aacc1fe0 : FAILURE in 2m 29s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/b807060b5eca4a2a9d373eb5354c5b83 : SUCCESS in 4m 26s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/563d5610d85c4ec59dc1469d40eaeca1 : SUCCESS in 3m 33s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ef6f38fcc94a439faffe01c2a796d1eb : SUCCESS in 2m 46s","accounts_in_message":[],"_revision_number":2},{"id":"a3fbc783542389bf0b36989353b03d23a0c4b167","author":{"_account_id":9649,"name":"Adrian Vladu","email":"avladu@cloudbasesolutions.com","username":"avladu"},"date":"2024-12-06 10:12:16.000000000","message":"Patch Set 2: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"1b05653f3d1d227790250d29316b7f915b241be6","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2024-12-06 13:21:35.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"5910b085b377f84d1d04a5c1c799b59d09a5a104","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2024-12-06 13:21:46.000000000","message":"Patch Set 2: Workflow-1","accounts_in_message":[],"_revision_number":2},{"id":"25b9b13084200858e8e815fdf58d7c18dbb9aee8","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2025-01-02 15:01:26.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"ab141642e751489200a697dd5643e36ba828937c","tag":"autogenerated:gerrit:abandon","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-08-11 09:24:47.000000000","message":"Abandoned","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"09bacef3657dfff5b0c48cb0f10b14099eeba54f","revisions":{"c2cd57a5608636505d070fb02760690073fce843":{"kind":"REWORK","_number":1,"created":"2024-12-05 21:44:19.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/15/937215/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/15/937215/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/15/937215/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/15/937215/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/15/937215/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/15/937215/1"}}},"commit":{"parents":[{"commit":"79f5ec658e2fee8ab46201a71faaff8d3b67a690","subject":"Merge \"Adjust the version in descriptions\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/79f5ec658e2fee8ab46201a71faaff8d3b67a690"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2024-12-05 21:25:11.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2024-12-05 21:44:07.000000000","tz":0},"subject":"[DNM] detect mixed legacy mbr and PMBR images","message":"[DNM] detect mixed legacy mbr and PMBR images\n\nthis is a bit of a hack to relax the GPT image format\ndetect to allow non conformant images with a GPT partion\ntable with a legacy mbr and a GPT Protective partition.\n\nAs far as i can tell form the uefi spec you should not have both\nhttps://uefi.org/specs/UEFI/2.10/05_GUID_Partition_Table_Format.html#lba-0-format\nstates that you can either have a legacy Master Boot Record (MBR)\nor a protective MBR\n\noslo only supprots a protective MBR  today.\n\nThis change starts to modify the code to supprot images legacy mbrs\nbut it incorectly allows a mixed image with partion of ostype 0xEE\nGPT Protective partition and a legacy MBR\n\nthis just illistates that with this change the flatcar image refernced\nin https://bugs.launchpad.net/oslo.utils/+bug/2091114 woudl pass.\n\nwe have 3 paths forward\n\n1.) close bug 2091114 as invlaid because the flatcar image does not have\na valid GPT. this is strictly true however qemu/ovmf and presumable other\nhyperviors will ignore the strict requirement that only the first partion\nin the PMTU exist and that all the rest will be set to 0\n\n2.) we coudl put a comapitblity flag in oslo/glance/nova/cinder/ironic\nto allow operator ot opt into supproting non conforming images. While openstack\nhas implictliy required \"valid\" iamges with a hopeflly conformat\npartion table for a long time, functional if not strictly correct images have\nexisted in the whiled for a long tiem and the flatcar image referenced in\nhttps://bugs.launchpad.net/oslo.utils/+bug/2091114 is jsut one example.\nas such some operator might want to take the risk that on real hardware\nor a future version of qemu/ovmf that this might not work if the firware\nactully enforces the uefi spec strictly.\n\n3.) we could just remove the conformance check and supprot legacy MBRs even\nif we detect a GPT Protective partition as long as the other requiremets\nfor pations such as phsyically residing within the disk image and non overlapping\ncan be satifed.\n\nRelated-Bug: #2091114\nChange-Id: I34b6b175ddb9daaf9d05e7866b796eceb7ed104b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/c2cd57a5608636505d070fb02760690073fce843"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/c2cd57a5608636505d070fb02760690073fce843"}]},"branch":"refs/heads/master"},"09bacef3657dfff5b0c48cb0f10b14099eeba54f":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2024-12-05 21:44:47.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/15/937215/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/15/937215/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/15/937215/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/15/937215/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/15/937215/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/15/937215/2"}}},"commit":{"parents":[{"commit":"7013cebdeec06925dcff1a2548d631fd7eaba107","subject":"imageutils: Add __main__ helper","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/7013cebdeec06925dcff1a2548d631fd7eaba107"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2024-12-05 21:25:11.000000000","tz":0},"committer":{"name":"sean mooney","email":"work@seanmooney.info","date":"2024-12-05 21:44:47.000000000","tz":0},"subject":"[DNM] detect mixed legacy mbr and PMBR images","message":"[DNM] detect mixed legacy mbr and PMBR images\n\nthis is a bit of a hack to relax the GPT image format\ndetect to allow non conformant images with a GPT partion\ntable with a legacy mbr and a GPT Protective partition.\n\nAs far as i can tell form the uefi spec you should not have both\nhttps://uefi.org/specs/UEFI/2.10/05_GUID_Partition_Table_Format.html#lba-0-format\nstates that you can either have a legacy Master Boot Record (MBR)\nor a protective MBR\n\noslo only supprots a protective MBR  today.\n\nThis change starts to modify the code to supprot images legacy mbrs\nbut it incorectly allows a mixed image with partion of ostype 0xEE\nGPT Protective partition and a legacy MBR\n\nthis just illistates that with this change the flatcar image refernced\nin https://bugs.launchpad.net/oslo.utils/+bug/2091114 woudl pass.\n\nwe have 3 paths forward\n\n1.) close bug 2091114 as invlaid because the flatcar image does not have\na valid GPT. this is strictly true however qemu/ovmf and presumable other\nhyperviors will ignore the strict requirement that only the first partion\nin the PMTU exist and that all the rest will be set to 0\n\n2.) we coudl put a comapitblity flag in oslo/glance/nova/cinder/ironic\nto allow operator ot opt into supproting non conforming images. While openstack\nhas implictliy required \"valid\" iamges with a hopeflly conformat\npartion table for a long time, functional if not strictly correct images have\nexisted in the whiled for a long tiem and the flatcar image referenced in\nhttps://bugs.launchpad.net/oslo.utils/+bug/2091114 is jsut one example.\nas such some operator might want to take the risk that on real hardware\nor a future version of qemu/ovmf that this might not work if the firware\nactully enforces the uefi spec strictly.\n\n3.) we could just remove the conformance check and supprot legacy MBRs even\nif we detect a GPT Protective partition as long as the other requiremets\nfor pations such as phsyically residing within the disk image and non overlapping\ncan be satifed.\n\nRelated-Bug: #2091114\nChange-Id: I34b6b175ddb9daaf9d05e7866b796eceb7ed104b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/09bacef3657dfff5b0c48cb0f10b14099eeba54f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/09bacef3657dfff5b0c48cb0f10b14099eeba54f"}]},"branch":"refs/heads/master","description":"Rebase"}},"requirements":[],"submit_records":[],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":["label:Workflow\u003dMIN"],"failing_atoms":["label:Workflow\u003dMAX"],"atom_explanations":{}}}]}
