Skip to content

ephemeral: Add test-basic subcommand#244

Open
henrywang wants to merge 1 commit intobootc-dev:mainfrom
henrywang:simple-test
Open

ephemeral: Add test-basic subcommand#244
henrywang wants to merge 1 commit intobootc-dev:mainfrom
henrywang:simple-test

Conversation

@henrywang
Copy link
Copy Markdown

Add bcvk ephemeral test-basic <image> which boots an ephemeral VM and verifies systemd reached a healthy state via systemctl is-system-running. This provides a quick smoke test for bootc container images.

Assisted-by: Claude Code (Opus 4.6)

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new ephemeral test-basic subcommand to the bcvk tool, which serves as a smoke test by booting an ephemeral VM and verifying its health using systemctl is-system-running. The update includes the command logic, a corresponding integration test, and comprehensive documentation. Feedback was provided to improve the robustness of the health check by adding the --wait flag to the systemctl command and to remove an unnecessary -- separator from the SSH arguments to ensure consistency with existing command-line behavior.

Add `bcvk ephemeral test-basic <image>` which boots an ephemeral VM and
verifies systemd reached a healthy state via `systemctl is-system-running`.
This provides a quick smoke test for bootc container images.

Assisted-by: Claude Code (Opus 4.6)
Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
@henrywang
Copy link
Copy Markdown
Author

PASS [ 23.295s] ( 3/18) integration-tests::integration-tests test_ephemeral_test_basic

Copy link
Copy Markdown
Collaborator

@cgwalters cgwalters left a comment

Choose a reason for hiding this comment

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

I know I suggested this as a kind of offhand comment, but a few things here.

  • Commands we expose should generally also appear as varlink; maybe going forward we actually try to have the CLI be sugar around varlink just to force this
  • If we're making "is system healthy" commands probably it should apply to libvirt too?
  • Bigger picture...I would really like bcvk to help be an awesome component of testing frameworks - but without growing into a complete framework itself ideally. But in that vein we need to ask how to make this extensible

Combining the above...one thing I was thinking about here and have some code towards in an unpushed commit is - what if we bridged e.g. the dbus socket or systemd dbus/varlink itself? Worth investigating because then it becomes way more flexible, we aren't just hardcoding one systemd API call.

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.

3 participants