Skip to content

Commit 3725c6f

Browse files
committed
pkg/kubelet: Make newTestKubeletWithImageList allocate a userns manager
When switching the feature flag to on by default, this test was failing: I0213 14:42:45.311186 341895 factory.go:193] Registered Plugin "containerd" I0213 14:42:45.315673 341895 plugins.go:615] "Loaded volume plugin" pluginName="fake" I0213 14:42:45.315750 341895 kubelet_pods.go:1165] "Clean up pod workers for terminated pods" I0213 14:42:45.315759 341895 kubelet_pods.go:1215] "Clean up probes for terminated pods" I0213 14:42:45.315764 341895 kubelet_pods.go:1219] "Clean up orphaned pod statuses" I0213 14:42:45.315768 341895 kubelet_pods.go:1223] "Clean up orphaned pod user namespace allocations" --- FAIL: TestKubelet_HandlePodCleanups (0.00s) --- FAIL: TestKubelet_HandlePodCleanups/missing_pod_is_requested_for_termination_with_short_grace_period (0.00s) panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0x2b14d7e] goroutine 142 [running]: testing.tRunner.func1.2({0x30b5260, 0x5cfa1e0}) /usr/lib/go-1.23/src/testing/testing.go:1632 +0x230 testing.tRunner.func1() /usr/lib/go-1.23/src/testing/testing.go:1635 +0x35e panic({0x30b5260?, 0x5cfa1e0?}) /usr/lib/go-1.23/src/runtime/panic.go:785 +0x132 k8s.io/kubernetes/pkg/kubelet/userns.(*UsernsManager).CleanupOrphanedPodUsernsAllocations(0x0, {0x5d90f80, 0x0, 0x0?}, {0xc0006a1d50, 0x1, 0x0?}) /home/rodrigo/src/kinvolk/kubernetes/kubernetes/pkg/kubelet/userns/userns_manager.go:474 +0x9e k8s.io/kubernetes/pkg/kubelet.(*Kubelet).HandlePodCleanups(0xc00067c808, {0x3b876b0, 0x5d90f80}) /home/rodrigo/src/kinvolk/kubernetes/kubernetes/pkg/kubelet/kubelet_pods.go:1224 +0x618 k8s.io/kubernetes/pkg/kubelet.TestKubelet_HandlePodCleanups.func35(0xc0001349c0) /home/rodrigo/src/kinvolk/kubernetes/kubernetes/pkg/kubelet/kubelet_pods_test.go:6415 +0x72d testing.tRunner(0xc0001349c0, 0xc0009801b0) /usr/lib/go-1.23/src/testing/testing.go:1690 +0xf4 created by testing.(*T).Run in goroutine 141 /usr/lib/go-1.23/src/testing/testing.go:1743 +0x390 exit status 2 FAIL k8s.io/kubernetes/pkg/kubelet 0.029s The issue is that no userns manager is allocated in the FakeKubelet. Let's allocate one. Signed-off-by: Rodrigo Campos <[email protected]>
1 parent 96c2b81 commit 3725c6f

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

pkg/kubelet/kubelet_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ import (
9595
"k8s.io/kubernetes/pkg/kubelet/sysctl"
9696
"k8s.io/kubernetes/pkg/kubelet/token"
9797
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
98+
"k8s.io/kubernetes/pkg/kubelet/userns"
9899
kubeletutil "k8s.io/kubernetes/pkg/kubelet/util"
99100
"k8s.io/kubernetes/pkg/kubelet/util/queue"
100101
kubeletvolume "k8s.io/kubernetes/pkg/kubelet/volumemanager"
@@ -368,6 +369,10 @@ func newTestKubeletWithImageList(
368369
ShutdownGracePeriodCriticalPods: 0,
369370
})
370371
kubelet.shutdownManager = shutdownManager
372+
kubelet.usernsManager, err = userns.MakeUserNsManager(kubelet)
373+
if err != nil {
374+
t.Fatalf("Failed to create UserNsManager: %v", err)
375+
}
371376
kubelet.admitHandlers.AddPodAdmitHandler(shutdownManager)
372377

373378
// Add this as cleanup predicate pod admitter

0 commit comments

Comments
 (0)