Commit Graph

18752 Commits

Author SHA1 Message Date
Fabiano Fidêncio
ad995e7f03 ci: add experimental-force-guest-pull tests for runtime-rs
Add qemu-coco-dev-runtime-rs with experimental-force-guest-pull
to the CoCo non-TEE test matrices. This exercises the force
guest pull code path on runtime-rs, which uses the
`runtime.experimental = ["force_guest_pull"]` configuration.

The new entries are added to both the standard nontee matrix
(vanilla k8s) and the extensive matrix (k0s, k3s, rke2, microk8s).

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-25 20:51:10 +02:00
Fabiano Fidêncio
877d72a646 kata-deploy: support experimental force guest pull for runtime-rs
The Go runtime uses `runtime.experimental_force_guest_pull = true`
(a boolean TOML field) while runtime-rs uses the experimental
features array: `runtime.experimental = ["force_guest_pull"]`.

Update `configure_experimental_force_guest_pull()` to detect
runtime-rs shims and append "force_guest_pull" to the
`runtime.experimental` array instead of setting the Go-style
boolean. This enables kata-deploy to correctly configure the
force guest pull feature for runtime-rs based deployments.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-25 20:50:58 +02:00
Alex Lyn
8525686c58 runtime-rs: Add dan_conf to allow network devices in host netns for qemu
Network devices for VM-based containers are allowed to be placed in the
host netns to eliminate as many hops as possible, which is what we
aim for to achieve near-native networking performance.

This commit introduces the `dan_conf` field to the configuration file.
This allows the runtime to specify the configuration path for
Direct Attached Network (DAN) devices, enabling interfaces to remain
in the host network namespace while being utilized by the VM-based(qemu)
containers.

Signed-off-by: Alex Lyn <alex.lyn@antgroup.com>
2026-04-25 20:50:43 +02:00
Alex Lyn
91608fb4d7 runtime-rs: Romve mem_agent from qemu-coco-dev configuration
In CoCo scenarios, there's no memory-agent involved, to reduce
users' misleadings, it's better to directly remove the section.

Signed-off-by: Alex Lyn <alex.lyn@antgroup.com>
2026-04-25 20:50:43 +02:00
Alex Lyn
c713520992 runtime-rs: add experimental features documentation
The experimental configuration allows enabling features not yet
stable for production. These features may break compatibility and
are prepared for major version bumps.

Add documentation with force_guest_pull example across all
runtime-rs configuration files. This feature enables guest-side
image pulling in CoCo (Confidential Computing) scenarios.

Updated configurations:
- configuration-dragonball.toml.in
- configuration-qemu-runtime-rs.toml.in
- configuration-remote.toml.in
- configuration-rs-fc.toml.in

The following already had this documentation:
- configuration-cloud-hypervisor.toml.in
- configuration-qemu-coco-dev-runtime-rs.toml.in
- configuration-qemu-se-runtime-rs.toml.in
- configuration-qemu-snp-runtime-rs.toml.in
- configuration-qemu-tdx-runtime-rs.toml.in

Example usage:
  experimental = ["force_guest_pull"]

Fixes inconsistent documentation across configuration files

Signed-off-by: Alex Lyn <alex.lyn@antgroup.com>
2026-04-25 20:50:43 +02:00
Fabiano Fidêncio
b3ed669d16 Merge pull request #12913 from pmores/fix-exec
runtime-rs: fix exec when selinux is disabled on guest
2026-04-25 17:34:46 +02:00
Fabiano Fidêncio
3d94620df5 Merge pull request #12900 from kata-containers/dependabot/cargo/src/tools/kata-ctl/openssl-0.10.78
build(deps): bump openssl from 0.10.73 to 0.10.78 in /src/tools/kata-ctl
2026-04-25 17:13:01 +02:00
Steve Horsman
db51842229 Merge pull request #12923 from stevenhorsman/bump-webpki-to-0.103.13
versions: Update rustls-webpki to 0.103.13
2026-04-25 16:09:47 +01:00
Fabiano Fidêncio
0a4fb4f11b Merge pull request #12891 from fidencio/topic/networking-handle-device-type-interfaces
runtimes: network: handle "device" type interfaces (mlx5 SFs)
2026-04-25 16:46:37 +02:00
dependabot[bot]
365f6c1efa build(deps): bump openssl from 0.10.73 to 0.10.78 in /src/tools/kata-ctl
Bumps [openssl](https://github.com/rust-openssl/rust-openssl) from 0.10.73 to 0.10.78.
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.73...openssl-v0.10.78)

---
updated-dependencies:
- dependency-name: openssl
  dependency-version: 0.10.78
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-25 10:27:45 +00:00
Pavel Mores
d3f56cd3a6 runtime-rs: remove process selinux label on exec if disable_guest_selinux
Without this commit any attempt to exec a command in a container will fail
if SELinux is disabled in the guest but an SELinux label is given for
the new process.  That will happen pretty much any time SELinux is enabled
on the host (and the container is not privileged).

Signed-off-by: Pavel Mores <pmores@redhat.com>
2026-04-25 11:27:15 +01:00
Pavel Mores
1390ad650b runtime-rs: factor getting disable_guest_linux value out to own function
We'll need to get the `disable_guest_linux` value in the exec handler, too.
This will allow us to avoid duplicating the get.

Signed-off-by: Pavel Mores <pmores@redhat.com>
2026-04-25 11:27:15 +01:00
stevenhorsman
d6df75853b versions: Update rustls-webpki to 0.103.13
Simple bump to fix CVE GHSA-82j2-j2ch-gfr8:
Denial of service via panic on malformed CRL BIT STRING

Assisted-by: IBM Bob
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
2026-04-25 11:27:02 +01:00
Fabiano Fidêncio
966e9b7f80 agent: skip non-PCI addresses in PCIDEVICE env vars
Device plugins may set PCIDEVICE_* environment variables with
non-PCI identifiers (e.g. "mlx5_core.sf.10" for mlx5 Scalable
Functions). The update_env_pci() function assumed all values were
PCI BDF addresses and failed to parse them, causing container
creation to fail with:

  "PCI address mlx5_core.sf.10 should have the format DDDD:BB:SS.F"

Skip PCIDEVICE_* entries whose values don't parse as PCI addresses,
leaving them untouched for the workload. The corresponding _INFO
variable is also left as-is since no mapping is collected.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-25 12:26:20 +02:00
Fabiano Fidêncio
8c3a0e692b runtime-rs: network: handle "device" type interfaces (mlx5 SFs)
Same fix as the Go runtime: interfaces whose drivers do not register
a specific netlink kind (e.g. mlx5 Scalable Functions) are reported
with the generic type "device", which is not handled by the endpoint
creation match, causing sandbox creation to fail with:

  "unsupported link type: device"

Add "device" as an alternative pattern alongside "veth" so these
interfaces are connected through a TAP + TC-filter bridge.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-25 12:26:20 +02:00
Fabiano Fidêncio
6436922f5b runtime: network: handle "device" type interfaces (mlx5 SFs)
Interfaces whose drivers do not register a specific netlink kind
(e.g. mlx5 Scalable Functions) are reported with the generic type
"device". The endpoint creation code did not handle this type,
causing sandbox creation to fail with:

  "Unsupported network interface: device"

This is particularly visible on arm64 with Mellanox ConnectX NICs
using Scalable Functions, where the ethtool BusInfo returns a
non-PCI identifier (e.g. "mlx5_core.sf.4") so isPhysicalIface()
cannot classify the interface as physical either.

Handle "device" type interfaces the same way as veth endpoints,
connecting them through a TAP + TC-filter bridge.

Additionally, relax getLinkForEndpoint() for VethEndpoint so it
accepts the concrete link type returned by the kernel instead of
asserting *netlink.Veth. A "device" type interface wrapped in a
VethEndpoint returns *netlink.Device from LinkByName(), which
would fail the strict type assertion. All callers only need
link.Attrs(), so accepting any link type is safe.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-25 12:26:20 +02:00
Steve Horsman
4b2d529a34 Merge pull request #12924 from fidencio/topic/temp-skip-smb-tests
ci: k8s: temporarily remove smb tests
2026-04-25 11:25:49 +01:00
Fabiano Fidêncio
df68536cd6 ci: Skip tests not working with k8s 1.36.0
At first we thought this only happened with AKS, but it seems this is a
change in k8s 1.36.0 as the tests now started failing outside of AKS as
well.

Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org>
2026-04-25 08:56:42 +02:00
Fabiano Fidêncio
e6c6aad7af ci: k8s: temporarily remove smb tests
All the CIs are failing on the tests and in order to avoid blocking
upstream while allowing enough time for the developers to properly fix
it, let's just not execute the test.

This commit should be reverted once a fix is proposed.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 21:13:23 +02:00
Fabiano Fidêncio
e0927e0e0c Merge pull request #12846 from RainaYL/rainax/split_irqchip_pr
dragonball: Implement userspace IOAPIC to enable split irqchip
2026-04-24 19:07:45 +02:00
Aurélien Bombo
15296fc9fe Merge pull request #12374 from microsoft/cameronbaird/add-cifs
kernel: add required configs for CIFS support
2026-04-24 10:42:09 -05:00
Steve Horsman
1cab92139c Merge pull request #12501 from ANJANA-A-R-K/vuln-fix
kata-agent: Bump serde-enum-str to v0.5.0
2026-04-24 15:03:45 +01:00
Fabiano Fidêncio
3505576a98 Merge pull request #12912 from fidencio/topic/runtime-rs-qemu-as-default
runtime-rs: Set QEMU as the default hypervisor
2026-04-24 13:37:35 +02:00
Greg Kurz
de91eda11b Merge pull request #12890 from fidencio/topic/shell-check
shell check: Let the bot fix those issues
2026-04-24 12:41:33 +02:00
Anjana A R K
d2e0e277cc kata-agent: Bump serde-enum-str to v0.5.0
Upgraded the serde-enum-str to v0.5.0 which bumps serde-attributes to 0.3.0 version

Signed-off-by: Anjana A R K <anjana.a.r.k1@ibm.com>
2026-04-24 15:57:59 +05:30
Fabiano Fidêncio
785c2ca981 Merge pull request #12911 from fidencio/topic/ci-only-run-arm64-tests-on-nightly
ci: Only run arm64 k8s tests on nightly builds
2026-04-24 10:19:34 +02:00
Fabiano Fidêncio
12bb497ce2 runtime-rs: Set QEMU as the default hypervisor
Dragonball is only supported on x86_64 and aarch64, so using it as the
default hypervisor means architectures like s390x, powerpc64le, and
riscv64gc have no working default. Switch to QEMU, which is available
across all supported architectures.

Dragonball is still compiled as a feature on x86_64 and aarch64 via
USE_BUILTIN_DB, and users can still override the default with
HYPERVISOR=dragonball.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 09:42:10 +02:00
Fabiano Fidêncio
c5b159c556 ci: Only run arm64 k8s tests on nightly builds
The arm64 k8s tests are expensive and consume self-hosted runner
resources. Restrict both run-k8s-tests-on-arm64 and
run-kata-coco-tests-on-arm64 to nightly CI runs by gating on
inputs.pr-number == 'nightly'.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 09:38:13 +02:00
Fabiano Fidêncio
ea974bea59 ci: Remove redundant shellcheck.yaml workflow
The shellcheck_required.yaml workflow now covers everything this
workflow did and more, running at severity=style instead of the
default severity.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
Made-with: Cursor
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
d532cd06f8 ci: Bump shellcheck severity to style
Raise the shellcheck gate from severity=error to severity=style now
that all scripts in the repo have been cleaned up. Ignore paths that
are being removed by other efforts.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
Made-with: Cursor
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
877f6b2129 tools: Fix shellcheck issues in common.bash
Address shellcheck warnings including proper variable quoting,
use of [[ ]] over [ ], declaring and assigning variables separately,
and adding appropriate shellcheck disable directives where needed.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
Made-with: Cursor
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
bc3a273f84 tools: Fix shellcheck issues in containerd-shim-katadbg-v2
Address shellcheck warnings including proper variable quoting,
use of [[ ]] over [ ], declaring and assigning variables separately,
and adding appropriate shellcheck disable directives where needed.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
Made-with: Cursor
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
b7eb3ae402 tests: Fix shellcheck issues in helm-deploy.bash
Address shellcheck warnings including proper variable quoting,
use of [[ ]] over [ ], declaring and assigning variables separately,
and adding appropriate shellcheck disable directives where needed.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
Made-with: Cursor
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
9730aca676 tests: Fix shellcheck issues in common.bash
Address shellcheck warnings including proper variable quoting,
use of [[ ]] over [ ], declaring and assigning variables separately,
and adding appropriate shellcheck disable directives where needed.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
Made-with: Cursor
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
fedc1003b0 tools: Fix shellcheck issues in webhook-check.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
ca180a0e58 tools: Fix shellcheck issues in create-certs.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
d0106f47e2 tools: Fix shellcheck issues in build.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
ccffa29a8e tools: Fix shellcheck issues in build-static-coco-guest-components.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
a7141ecd0f tools: Fix shellcheck issues in release.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
0d1b0b2ff7 tools: Fix shellcheck issues in generate_vendor.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
00842794e2 tools: Fix shellcheck issues in kata-deploy-copy-yq-installer.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
a751f84a14 tools: Fix shellcheck issues in kata-deploy-copy-libseccomp-installer.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
94b870c67a tools: Fix shellcheck issues in kata-deploy-build-and-upload-payload.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
eb58dea7c2 tools: Fix shellcheck issues in kata-deploy-binaries.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
31c711b99b tools: Fix shellcheck issues in kata-deploy-binaries-in-docker.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
ea27e2f021 tools: Fix shellcheck issues in install_oras.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
5b76b61213 tools: Fix shellcheck issues in kata-debug-build-and-upload-payload.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
cf1b4f69b4 tools: Fix shellcheck issues in lib_se.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
fb270aa998 tools: Fix shellcheck issues in build_se_image.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00
Fabiano Fidêncio
ed8806c41e tools: Fix shellcheck issues in build_image.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00