Skip to content

feat: Test ITF QEMU plugin with Ubuntu image - #135

Open
lurtz wants to merge 3 commits into
eclipse-score:mainfrom
elektrobit-contrib:add-ubuntu-support-to-qemu-plugin
Open

feat: Test ITF QEMU plugin with Ubuntu image#135
lurtz wants to merge 3 commits into
eclipse-score:mainfrom
elektrobit-contrib:add-ubuntu-support-to-qemu-plugin

Conversation

@lurtz

@lurtz lurtz commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Ubuntu is a popular Linux distribution, and it is useful to be able to run integration tests on it.

Next PR will take care of copying data onto the QEMU images: elektrobit-contrib#2. This code is used / tested at eclipse-score/inc_someip_gateway#177

Ubuntu is a popular Linux distribution, and it is useful to be able to run
integration tests on it.
@lurtz
lurtz force-pushed the add-ubuntu-support-to-qemu-plugin branch from a9ad16b to cbc4420 Compare August 14, 2026 11:36
@lurtz
lurtz marked this pull request as ready for review August 14, 2026 12:27
@lurtz
lurtz enabled auto-merge August 14, 2026 12:27
@lurtz
lurtz requested a lite review from Copilot August 17, 2026 07:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds a new Ubuntu (x86_64) QEMU image build flow and a basic connectivity test to validate the ITF QEMU plugin against an Ubuntu cloud image, alongside refactoring the existing Ebclfsa image build into shared scripts.

Changes:

  • Introduces Bazel resources + a genrule to build a customized Ubuntu 24.04 minimal cloud image for QEMU-based ITF integration tests.
  • Adds a reusable ping integration test and wires it up for both Ebclfsa (aarch64) and Ubuntu (x86_64) QEMU targets.
  • Adds/exports image build helper scripts (Ubuntu + Ebclfsa) and updates docs, CI dependencies, and Bazel module downloads accordingly.

Reviewed changes

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

Show a summary per file
File Description
test/resources/ubuntu_x86_64/qemu_config.json Adds QEMU runtime configuration for the Ubuntu x86_64 target (network/CPU/RAM/machine).
test/resources/ubuntu_x86_64/cloud-init/user-data Cloud-init template to configure networking + SSH access for the Ubuntu test image.
test/resources/ubuntu_x86_64/cloud-init/meta-data Cloud-init metadata for the NoCloud seed used during the one-time customization boot.
test/resources/ubuntu_x86_64/BUILD Bazel genrule/filegroups to build and expose the Ubuntu ITF-ready QEMU rootfs image.
test/resources/ebclfsa_aarch64/BUILD Switches the Ebclfsa image build genrule to a shared script under //scripts.
test/integration/test_ping.py Adds a shared ping-based integration test for QEMU targets.
test/integration/BUILD Reuses test_ping.py for Ebclfsa and adds a new Ubuntu ping test target and suite membership.
scripts/render_user_data.py Renders cloud-init user-data by injecting IP/gateway from qemu_config.json.
scripts/build_ubuntu_x86_64_image.sh Builds a customized Ubuntu cloud image via a one-time QEMU + cloud-init boot.
scripts/build_ebclfsa_aarch64_image.sh Shared Ebclfsa image customization/deployment helper script.
scripts/BUILD Exports the new scripts so they can be referenced from Bazel rules.
README.md Documents Linux QEMU image build flows and updates the QEMU test invocation example.
MODULE.bazel Adds a pinned Ubuntu 24.04 minimal cloud image download for reproducible Bazel builds.
.github/workflows/itf.yml Updates CI dependencies to include x86 QEMU and cloud image utilities.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread README.md Outdated
Comment thread README.md
Comment thread scripts/build_ubuntu_x86_64_image.sh
Also add using Linux QEMU images to README
@lurtz
lurtz force-pushed the add-ubuntu-support-to-qemu-plugin branch from e422384 to 7382eeb Compare August 17, 2026 09:15

@ltekieli ltekieli left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Image builds are out of scope of ITF.

@lurtz

lurtz commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

@ltekieli Do we already have a repo where I can put the build scripts?

@lurtz
lurtz force-pushed the add-ubuntu-support-to-qemu-plugin branch from e36556d to cad85ed Compare August 17, 2026 10:49
@ltekieli

Copy link
Copy Markdown
Member

I thoguht this one? https://github.com/eclipse-score/os_images

In general ITF should receive generic code that can be used across all possible usages. Plugins specific to a particular image implementation should live close to this image or it's usage. When external plugins mature, the generic parts should be extracted and can be put to ITF repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

3 participants