16 Commits
Author SHA1 Message Date
Sascha Grunert af09bec1f4 cri-api: Add the security profile RPCs and the OCI profile type
Add the CRI surface of KEP-6061: the OCI profile type with oci_ref and
base_profile in SecurityProfile, the SecurityProfileBase message, the
PullSecurityProfile, ListSecurityProfiles, and RemoveSecurityProfile
ImageService RPCs with SecurityProfileKind, the seccomp_profile_oci
runtime feature, and the SecurityProfileInvalid well-known error for
permanent pull failures. The kubelet owns the lifecycle of pulled
profiles through the list and remove RPCs. The remote client, the fake
image service, the kubelet's instrumented service, and the e2e CRI
proxies implement the new methods; the kubelet does not call them yet.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2026-10-23 13:04:35 +02:00
kubernetes-prow[bot] a0357b1211 Merge pull request #143006 from zylxjtu/master
e2e_node_windows: clear CPU/memory manager state on kubelet reconfig
2026-10-15 11:54:16 +00:00
zylxjtu 78d27cdff9 e2e_node_windows: clear CPU/memory manager state on kubelet reconfig
With WindowsCPUAndMemoryAffinity on by default, the baseline "none" policy
now writes a CPU manager checkpoint. Switching to "static" without removing
it makes the kubelet fail to start with a checkpoint policy mismatch.

Always delete CPU/memory manager state files when reconfiguring the kubelet,
matching the Linux helper.
2026-10-14 20:39:43 +00:00
Patrick Ohly 6166137e40 test: avoid hard dependency on testing.T/TB
This makes the test helper code more flexible. In particular, passing a
ktesting.TContext instance is okay: it implements all required methods, but
isn't *testing.T and cannot implement testing.TB (private method).

Instead of a new testutils.TB interface, ktesting.TB could have been used. This
is not done because TContext usage should go together with other changes (for
example, merging with ctx or client parameters and renaming to tCtx). That can
be done later if desired.

A potential downside of the custom interface, loosing printf checking, gets
avoided by making the connection to testing.T visible.
2026-10-14 15:16:59 +02:00
Patrick Ohly c13f052503 ktesting: move to staging
This moves the existing code unchanged, updates package and module name, and
updates all import statements.
2026-10-07 11:08:22 +02:00
kubernetes-prow[bot] ce45ed11ad Merge pull request #140811 from zylxjtu/topologytest
Add windows topology manager related tests
2026-07-23 03:18:36 +00:00
zylxjtu 90d887dbb9 Add windows topology manager related tests 2026-07-22 14:31:08 -07:00
Radostin Stoyanov e5df48b38f cri-api: Add pod checkpoint and restore RPCs
Expose the pod checkpoint and restore messages through RuntimeService so
kubelet and runtimes can negotiate pod-wide checkpoint data.

Preserve caller-supplied deadlines for long-running operations, apply the
default CRI timeout only when no deadline exists, and wire the calls
through cri-client, instrumentation, fakes, and both node e2e CRI
proxies.

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2026-07-22 18:31:02 +01:00
zylxjtu b5de8c28ff Add the cpu/mem manager metrics related tests 2026-07-14 21:16:56 +00:00
zylxjtu ee22f30207 Add the windows topology manager metrics related tests 2026-07-14 21:16:56 +00:00
zylxjtu d99f9d309f Fix util_system_windows windows token handling
This change updates the Windows e2e node helper to read container job-object affinity through a host-scoped SYSTEM token instead of relying on the current elevated process context.

On Windows, an Administrator process is not enough to inspect a container silo job object in all cases. The previous approach could hit access-denied failures because the security boundary is enforced on the job object itself, and tokens from silo-scoped SYSTEM processes are still insufficient for cross-silo access.
2026-07-01 14:48:00 -07:00
zylxjtu fef0aca1d4 e2e_node_windows: add CPU manager shared-pool and strict-reservation tests
Extend the Windows CPU manager node e2e suite with coverage that was
present on Linux but missing on Windows:

- strict-cpu-reservation: with the policy option enabled the reserved CPU
  is excluded from the burstable shared pool; without it (default) the
  reserved CPU stays in the shared pool.
- dynamic shared-pool resizing: a running burstable container's affinity
  shrinks and grows via the CPU manager reconcile loop as a guaranteed
  pod takes and releases an exclusive CPU.

Toggling strict-cpu-reservation invalidates the persisted CPU manager
checkpoint (the reserved CPU moves in/out of the default pool), so the
kubelet refuses to start until the state file is removed. Implement the
previously no-op deleteStateFile on Windows and clear the CPU/memory
manager state files when toggling the option, mirroring the Linux
updateKubeletConfig(..., deleteStateFiles=true) behavior.
2026-06-17 21:43:03 +00:00
zylxjtu c7292e0a74 e2e_node_windows: add CPU affinity tests
Add the Windows node e2e CPU affinity tests and the supporting suite
plumbing: fix the build and drop the dependency on test/e2e_node by
porting the kubeletconfig, criproxy and testing-manifests subpackages
locally (CRI proxy uses a Windows named pipe).
2026-06-15 17:36:51 +00:00
Sergey Kanzhelev d74b5907d5 builder pattern in cri client 2026-06-09 09:24:06 -07:00
zylxjtu c8ae823187 Address the comments and fix the lint related issue 2026-05-28 17:06:15 +00:00
zylxjtu 312d00189c Add Windows node-level e2e tests to a dedicated directory
Introduce test/e2e_node_windows/ as a self-contained Windows node e2e
test suite, fully isolated from the Linux-focused test/e2e_node/ package.
All new files are gated with //go:build windows, and the tree includes
a scoped OWNERS file so it lands under an agreed governance model.

In hack/lib/golang.sh, skip building test/e2e_node/e2e_node.test when
KUBE_BUILD_PLATFORMS targets Windows. Windows has a separate e2e_node
test binary which does not currently need to be bundled in an archive.

Document the Windows feature label in test/e2e/feature/feature.go.
2026-05-26 18:04:09 +00:00