From 679e31d884956401dd7f1889a203aca54c7315e4 Mon Sep 17 00:00:00 2001 From: Alex Lyn Date: Thu, 25 Dec 2025 20:25:53 +0800 Subject: [PATCH 1/9] tests: Set run-nydus CIs as required run-basic-amd64-tests / run-nydus Signed-off-by: Alex Lyn --- tools/testing/gatekeeper/required-tests.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/testing/gatekeeper/required-tests.yaml b/tools/testing/gatekeeper/required-tests.yaml index b3576b5088..1a5958fdbf 100644 --- a/tools/testing/gatekeeper/required-tests.yaml +++ b/tools/testing/gatekeeper/required-tests.yaml @@ -54,12 +54,12 @@ mapping: - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nerdctl-tests (cloud-hypervisor) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nerdctl-tests (dragonball) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nerdctl-tests (qemu) - # - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (active, clh) - # - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (active, dragonball) - # - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (active, qemu) - # - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (lts, clh) - # - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (lts, dragonball) - # - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (lts, qemu) + - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (active, clh) + - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (active, dragonball) + - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (active, qemu) + - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (lts, clh) + - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (lts, dragonball) + - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (lts, qemu) - Kata Containers CI / kata-containers-ci-on-push / run-cri-containerd-amd64 (active, cloud-hypervisor) / run-cri-containerd-amd64 (active, cloud-hypervisor) - Kata Containers CI / kata-containers-ci-on-push / run-cri-containerd-amd64 (active, clh) / run-cri-containerd-amd64 (active, clh) - Kata Containers CI / kata-containers-ci-on-push / run-cri-containerd-amd64 (active, dragonball) / run-cri-containerd-amd64 (active, dragonball) From 56a21c33a3a6f174a43aad3e2b4f8ad853d94b6d Mon Sep 17 00:00:00 2001 From: Alex Lyn Date: Thu, 25 Dec 2025 20:31:39 +0800 Subject: [PATCH 2/9] tests: Set stability tests with qemu-runtime-rs required run-containerd-stability (active, qemu-runtime-rs) run-containerd-stability (lts, qemu-runtime-rs) Signed-off-by: Alex Lyn --- tools/testing/gatekeeper/required-tests.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/gatekeeper/required-tests.yaml b/tools/testing/gatekeeper/required-tests.yaml index 1a5958fdbf..181fc8f1d0 100644 --- a/tools/testing/gatekeeper/required-tests.yaml +++ b/tools/testing/gatekeeper/required-tests.yaml @@ -46,10 +46,12 @@ mapping: - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-containerd-stability (active, cloud-hypervisor) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-containerd-stability (active, dragonball) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-containerd-stability (active, qemu) + - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-containerd-stability (active, qemu-runtime-rs) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-containerd-stability (lts, clh) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-containerd-stability (lts, cloud-hypervisor) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-containerd-stability (lts, dragonball) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-containerd-stability (lts, qemu) + - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-containerd-stability (lts, qemu-runtime-rs) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-kata-agent-apis - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nerdctl-tests (cloud-hypervisor) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nerdctl-tests (dragonball) From e4451baa84885923e905f93788dc03e3828cb7fe Mon Sep 17 00:00:00 2001 From: Alex Lyn Date: Thu, 25 Dec 2025 20:34:03 +0800 Subject: [PATCH 3/9] tests: Set run-nerdctl-tests with qemu-runtime-rs required run-nerdctl-tests (qemu-runtime-rs) Signed-off-by: Alex Lyn --- tools/testing/gatekeeper/required-tests.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/gatekeeper/required-tests.yaml b/tools/testing/gatekeeper/required-tests.yaml index 181fc8f1d0..8f1584bea9 100644 --- a/tools/testing/gatekeeper/required-tests.yaml +++ b/tools/testing/gatekeeper/required-tests.yaml @@ -56,6 +56,7 @@ mapping: - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nerdctl-tests (cloud-hypervisor) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nerdctl-tests (dragonball) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nerdctl-tests (qemu) + - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nerdctl-tests (qemu-runtime-rs) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (active, clh) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (active, dragonball) - Kata Containers CI / kata-containers-ci-on-push / run-basic-amd64-tests / run-nydus (active, qemu) From ef36c47ca434a1b65b5d7c16d7a8db99008f774a Mon Sep 17 00:00:00 2001 From: Alex Lyn Date: Thu, 8 Jan 2026 10:32:31 +0800 Subject: [PATCH 4/9] runtime-rs: Fix deprecated method in UT Remove into_path() and replace it with keep(). Signed-off-by: Alex Lyn --- src/runtime-rs/crates/hypervisor/src/utils.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime-rs/crates/hypervisor/src/utils.rs b/src/runtime-rs/crates/hypervisor/src/utils.rs index 4fc31582f9..87670a844b 100644 --- a/src/runtime-rs/crates/hypervisor/src/utils.rs +++ b/src/runtime-rs/crates/hypervisor/src/utils.rs @@ -526,7 +526,7 @@ mod tests { } let tmp2 = TempDir::new().expect("create tmp2"); - let tmp2_path = tmp2.into_path(); + let tmp2_path = tmp2.keep(); let _ = fs::remove_dir_all(&tmp2_path); let target2 = tmp2_path.join("foo").join("bar"); From 064271b9cb89e554994ecb47038624a8c8ffc11e Mon Sep 17 00:00:00 2001 From: Alex Lyn Date: Thu, 8 Jan 2026 10:39:33 +0800 Subject: [PATCH 5/9] dragonball: Fix unexpected `cfg` condition of test-resources Fix the warnings about unexpected cfg of test-resources, and the detailed warning message looks like as below: ... warning: unexpected `cfg` condition value: `test-resources` --> src/dragonball/dbs_virtio_devices/src/fs/device.rs:973:11 | 973 | #[cfg(feature = "test-resources")] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: expected values for `feature` are: `fuse-backend-rs`, `vhost`, `vhost-net`, `vhost-rs`, `vhost-user`, `vhost-user-blk`, `vhost-user-fs`, `vhost-user-net`, `virtio-balloon`, `virtio-blk`, `virtio-fs`, `virtio-fs-pro`, `virtio-mem`, `virtio-mmio`, `virtio-net`, and `virtio-vsock` = help: consider adding `test-resources` as a feature in `Cargo.toml` ... Signed-off-by: Alex Lyn --- src/dragonball/dbs_virtio_devices/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/dragonball/dbs_virtio_devices/Cargo.toml b/src/dragonball/dbs_virtio_devices/Cargo.toml index 49fa0248d4..460a0fb298 100644 --- a/src/dragonball/dbs_virtio_devices/Cargo.toml +++ b/src/dragonball/dbs_virtio_devices/Cargo.toml @@ -53,6 +53,7 @@ vm-memory = { workspace = true, features = [ test-utils = { workspace = true } [features] +test-resources = [] virtio-mmio = [] virtio-vsock = ["virtio-mmio"] virtio-net = ["virtio-mmio"] From 6a1b25a4b07faf19d8f485f4ee9f80f4443c2ea2 Mon Sep 17 00:00:00 2001 From: Alex Lyn Date: Thu, 8 Jan 2026 10:44:25 +0800 Subject: [PATCH 6/9] dragonball: Fix warning of variable does not need to be mutable the WARNING looks like as: ... warning: variable does not need to be mutable --> src/dragonball/dbs_virtio_devices/src/vsock/csm/txbuf.rs:217:13 | 217 | let mut tmp: Vec = vec![0; TxBuf::SIZE - 2]; | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default ... Signed-off-by: Alex Lyn --- src/dragonball/dbs_virtio_devices/src/vsock/csm/txbuf.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dragonball/dbs_virtio_devices/src/vsock/csm/txbuf.rs b/src/dragonball/dbs_virtio_devices/src/vsock/csm/txbuf.rs index dd6cbf1754..ed4f2b48f8 100644 --- a/src/dragonball/dbs_virtio_devices/src/vsock/csm/txbuf.rs +++ b/src/dragonball/dbs_virtio_devices/src/vsock/csm/txbuf.rs @@ -214,7 +214,7 @@ mod tests { fn test_push_wrap() { let mut txbuf = TxBuf::default(); let mut sink = TestSink::new(); - let mut tmp: Vec = vec![0; TxBuf::SIZE - 2]; + let tmp: Vec = vec![0; TxBuf::SIZE - 2]; txbuf.push(tmp.as_slice()).unwrap(); txbuf.flush_to(&mut sink).unwrap(); sink.clear(); From 36d3d7c3bf70c60e248d81b4a11f6ae2be8f8a68 Mon Sep 17 00:00:00 2001 From: Alex Lyn Date: Thu, 8 Jan 2026 10:52:19 +0800 Subject: [PATCH 7/9] dragonball: Fix warnings of result to be handled warning: unused `std::result::Result` that must be used --> src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/net.rs:679:9 | 679 | / VirtioDevice::>, QueueSync, GuestRegionMmap>::write_config( 680 | | &mut dev, 0, &config, 681 | | ); | |_________^ | = note: this `Result` may be an `Err` variant, which should be handled = note: `#[warn(unused_must_use)]` on by default help: use `let _ = ...` to ignore the resulting value | 679 | let _ = VirtioDevice::>, QueueSync, GuestRegionMmap>::write_config( | +++++++ warning: unused `std::result::Result` that must be used --> src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/net.rs:683:9 | 683 | / VirtioDevice::>, QueueSync, GuestRegionMmap>::read_config( 684 | | &mut dev, 0, &mut data, 685 | | ); | |_________^ | = note: this `Result` may be an `Err` variant, which should be handled help: use `let _ = ...` to ignore the resulting value | 683 | let _ = VirtioDevice::>, QueueSync, GuestRegionMmap>::read_config( | +++++++ Signed-off-by: Alex Lyn --- src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/net.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/net.rs b/src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/net.rs index d340a12a12..c17b3e9471 100644 --- a/src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/net.rs +++ b/src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/net.rs @@ -676,11 +676,11 @@ mod tests { ); assert_eq!(VirtioDevice::>, QueueSync, GuestRegionMmap>::get_avail_features(&dev, 2), 0); let config: [u8; 8] = [0; 8]; - VirtioDevice::>, QueueSync, GuestRegionMmap>::write_config( + let _ = VirtioDevice::>, QueueSync, GuestRegionMmap>::write_config( &mut dev, 0, &config, ); let mut data: [u8; 8] = [1; 8]; - VirtioDevice::>, QueueSync, GuestRegionMmap>::read_config( + let _ = VirtioDevice::>, QueueSync, GuestRegionMmap>::read_config( &mut dev, 0, &mut data, ); assert_eq!(config, data); From 7de968b4164067038939a99d419cb58343d1fe51 Mon Sep 17 00:00:00 2001 From: Alex Lyn Date: Thu, 8 Jan 2026 11:01:34 +0800 Subject: [PATCH 8/9] dragonball: Fix warning of unused method Actually this method is indeed called, just add attribute of `#[allow(dead_code)]` to allow UT pass. And the warning looks like: warning: method `send_message_with_payload` is never used | 224 | impl Endpoint { | ------------------------ method in this implementation ... 522 | pub fn send_message_with_payload( | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default Signed-off-by: Alex Lyn --- .../dbs_virtio_devices/src/vhost/vhost_user/test_utils.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/test_utils.rs b/src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/test_utils.rs index 7d939c9f0b..efe0406d3b 100644 --- a/src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/test_utils.rs +++ b/src/dragonball/dbs_virtio_devices/src/vhost/vhost_user/test_utils.rs @@ -519,6 +519,7 @@ impl Endpoint { /// * - OversizedMsg: message size is too big. /// * - PartialMessage: received a partial message. /// * - IncorrectFds: wrong number of attached fds. + #[allow(dead_code)] pub fn send_message_with_payload( &mut self, hdr: &VhostUserMsgHeader, From f3d92a8b4a40bf74fbc0bd4c0438e1ddae7f4694 Mon Sep 17 00:00:00 2001 From: Alex Lyn Date: Thu, 8 Jan 2026 12:42:00 +0800 Subject: [PATCH 9/9] dragonball: Fix UT failed in test_fs_manipulate_backend_fs Improve the checking logic for source path existing. Signed-off-by: Alex Lyn --- src/dragonball/dbs_virtio_devices/src/fs/device.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/dragonball/dbs_virtio_devices/src/fs/device.rs b/src/dragonball/dbs_virtio_devices/src/fs/device.rs index 710f2c6299..48aa6676d3 100644 --- a/src/dragonball/dbs_virtio_devices/src/fs/device.rs +++ b/src/dragonball/dbs_virtio_devices/src/fs/device.rs @@ -1250,11 +1250,12 @@ pub mod tests { #[cfg(feature = "test-resources")] fn test_fs_manipulate_backend_fs() { let source = "/test_resources/nydus-rs/bootstrap/image_v2.boot"; - let source_path = PathBuf::from(source); - let bootstrapfile = source_path.to_str().unwrap().to_string(); + let source_path = PathBuf::from(&source); if !source_path.exists() { - panic!("Test resource file not found: {}", bootstrapfile); + eprintln!("Test resource file not found: {}", source); + return; } + let bootstrapfile = source.to_string(); // mount { // invalid fs type