zedagent: report size of EFI and IMGx partitions#5976
Merged
eriknordmark merged 4 commits intoMay 21, 2026
Conversation
82baa6d to
8eaeb13
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #5976 +/- ##
==========================================
+ Coverage 20.65% 21.08% +0.43%
==========================================
Files 489 499 +10
Lines 90373 92105 +1732
==========================================
+ Hits 18665 19420 +755
- Misses 70130 70926 +796
- Partials 1578 1759 +181 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Contributor
|
@eriknordmark , you need to resolve the conflicts.... |
2b7bdd7 to
f871ed1
Compare
Pulls in lf-edge/eve-api#146 to add three optional GPT-identity fields to ZInfoStorage (partitionLabel, partitionTypeGuid, partitionUuid) for per-partition entries in ZInfoDevice.storageList, and catches up remaining eve-api changes since the prior bump. Signed-off-by: eriknordmark <erik@zededa.com> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The info report's storageList now identifies each entry by its GPT role, so a controller can tell which entry is the EFI partition, which is IMGA vs IMGB, and how large each is on a given device. The new partitionLabel, partitionTypeGuid, and partitionUuid fields on ZInfoStorage are sourced from lsblk PARTLABEL/PARTTYPE/PARTUUID and propagate volumemgr -> DiskMetric -> zedagent. They are empty for whole-disk entries (e.g. sda), for partitions on non-GPT disks, and for directory entries (IsDir == true). Signed-off-by: eriknordmark <erik@zededa.com> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Splits the JSON decode out of FindDisksPartitions into a pure parseLsblkPartitions helper so the parser can be exercised without shelling out to lsblk, and covers it with a table-driven test: an EVE GPT layout, an MBR disk where PARTLABEL/PARTUUID are empty, the empty-list case, and two malformed-input cases. Signed-off-by: eriknordmark <erik@zededa.com> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Advances each eve subproject's pinned pillar pseudo-version to the current upstream tip and re-vendors pillar accordingly, then refreshes pkg/debug/Dockerfile's FROM lfedge/eve-recovertpm and pkg/installer/Dockerfile's FROM lfedge/eve-debug references to match the resulting content hashes. Companion to the preceding eve-api bump: make bump-eve-api's vendor step also re-rolls each subproject's hand-edited pillar copy against its stale pseudo-version pin, so this follow-up restores live-pillar parity and walks the resulting Dockerfile-hash cascade. Signed-off-by: eriknordmark <erik@zededa.com> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
f871ed1 to
d13c934
Compare
rene
approved these changes
May 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The info report's
storageListnow identifies each entry by its GPTrole, so a controller can tell which entry is the EFI partition,
which is
IMGAvsIMGB, and how large each is on a given device.The new
partitionLabel,partitionTypeGuid, andpartitionUuidfields on
ZInfoStorageare sourced fromlsblk PARTLABEL/PARTTYPE/PARTUUIDand propagate volumemgr →DiskMetric→ zedagent. They are empty for whole-disk entries (e.g.
sda), forpartitions on non-GPT disks, and for directory entries (
IsDir == true).The first commit bumps eve-api to pull in
lf-edge/eve-api#146,
which added the three new proto fields; the second commit is the
pillar code that populates them.
How to test and validate this PR
On a GPT-partitioned device (any current EVE installer image
qualifies — the EFI/CONFIG/IMGA/IMGB/P3 layout is GPT):
eden controller edge-node infoagainst an eden setup, or directlyin adam's stored payload).
storageListcontains entries withpartitionLabel∈{
EFI System,CONFIG,IMGA,IMGB,P3} for the correspondingpartitions, with their
partitionUuidmatchinglsblk -o NAME,PARTUUIDfrom the running EVE.sda) and any directory entries(
/persist/log,/persist/checkpoint, etc.) leave the three newfields empty.
Changelog notes
ZInfoStorageentries now include GPT partition identity (label, typeGUID, PARTUUID) when applicable, so a controller can identify
partitions by role and read their sizes.
PR Backports
not a stable-branch fix.