Skip to content

bug: Check extension image path in HC; remove incompatible confext testing#387

Merged
ayaegashi merged 9 commits intomainfrom
user/ayaegashi/test
Dec 9, 2025
Merged

bug: Check extension image path in HC; remove incompatible confext testing#387
ayaegashi merged 9 commits intomainfrom
user/ayaegashi/test

Conversation

@ayaegashi
Copy link
Contributor

@ayaegashi ayaegashi commented Dec 9, 2025

🔍 Description

This PR fixes a couple of bugs in the extensions testing flow:

  1. Trident does not currently check the paths of sysexts and confexts in the Host Configuration. This means that in the target OS they will not properly merge. This PR adds this validation.
  2. This was slipping by in tests because systemd-sysext list outputs all extension-image like objects on the OS, without checking if they are valid or active. systemd-sysext status only returns actively merged extensions, which is what we want.
  3. Confexts were not being successfully merged. While Trident could add it to the OS in the root-verity test, because there is already a trident-overlay mounted at /etc, when systemd-confext attempts to mount another overlay at /etc the merging fails. While Trident succeeds, the enabled systemd-confext service is not succeeding. This PR removes testing for confexts and updates the confext documentation.

Copilot AI review requested due to automatic review settings December 9, 2025 01:01
@ayaegashi ayaegashi requested a review from a team as a code owner December 9, 2025 01:01
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a bug where Trident did not validate the paths of sysexts and confexts in the Host Configuration, which prevented proper merging in the target OS. The validation now ensures that extension image paths have filenames matching their extension-release names.

  • Added path validation in Trident to check that extension image filenames match their extension-release names
  • Updated the AB update helper to correctly update extension paths when transitioning from version 1 to version 2
  • Modified E2E tests to use systemd-sysext status instead of systemd-sysext list to verify only actively merged extensions

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
crates/trident/src/subsystems/extensions/release.rs Adds validation to ensure extension paths end with the correct filename format ({name}.raw) matching the extension-release file
tools/storm/helpers/ab_update.go Updates extension path updating logic to transition paths from version 1 to version 2 (e.g., -1.raw to -2.raw)
tests/e2e_tests/extensions_test.py Changes test to use systemd-{extType} status instead of list to verify only actively merged extensions, and updates assertion logic to check extension names

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings December 9, 2025 06:14
@ayaegashi ayaegashi changed the title bug: Check extension image path in HC bug: Check extension image path in HC; remove incompatible confext testing Dec 9, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings December 9, 2025 20:00
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


/// The absolute path of the extension image in the target OS.
/// The absolute path of the extension image in the target OS. File names
/// must match the file extension of the 'extension-release' file in the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, what does this mean actually? Can you add examples here of a file name matching the "file extension of the extension-release file" and not matching it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reworded this and the error message in release.rs, hopefully more clear but let me know if still confusing

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is very clear now!!

Copilot AI review requested due to automatic review settings December 9, 2025 21:05
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ayaegashi ayaegashi merged commit 8caec7a into main Dec 9, 2025
89 checks passed
@ayaegashi ayaegashi deleted the user/ayaegashi/test branch December 9, 2025 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants