From bb6bd520126f06eb86fc92672b8c987a0ab3453e Mon Sep 17 00:00:00 2001 From: Swati Gupta Date: Tue, 8 Jul 2025 23:49:34 +0000 Subject: [PATCH] Add feature gate enable test for KubeletPodResourcesGet Signed-off-by: Swati Gupta --- test/e2e_node/podresources_test.go | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/test/e2e_node/podresources_test.go b/test/e2e_node/podresources_test.go index 779cf3b3ee7..c965d6efe10 100644 --- a/test/e2e_node/podresources_test.go +++ b/test/e2e_node/podresources_test.go @@ -991,6 +991,42 @@ var _ = SIGDescribe("POD Resources", framework.WithSerial(), feature.PodResource initialConfig.FeatureGates[string(kubefeatures.KubeletPodResourcesGet)] = true }) + ginkgo.Context("with KubeletPodResourcesGet feature gate enabled", func() { + ginkgo.BeforeEach(func() { + framework.SkipUnlessFeatureGateEnabled("KubeletPodResourcesGet") + }) + + ginkgo.It("should succeed when calling Get for a valid pod", func(ctx context.Context) { + endpoint, err := util.LocalEndpoint(defaultPodResourcesPath, podresources.Socket) + framework.ExpectNoError(err, "LocalEndpoint() faild err: %v", err) + + cli, conn, err := podresources.GetV1Client(endpoint, defaultPodResourcesTimeout, defaultPodResourcesMaxSize) + framework.ExpectNoError(err, "GetV1Client() failed err: %v", err) + defer conn.Close() + + ginkgo.By("checking Get succeeds when the feature gate is enabled") + pd := podDesc{ + podName: "fg-enabled-pod", + cntName: "fg-enabled-cnt", + cpuRequest: 1000, + } + pod := makePodResourcesTestPod(pd) + pod = e2epod.NewPodClient(f).Create(ctx, pod) + defer e2epod.NewPodClient(f).DeleteSync(ctx, pod.Name, metav1.DeleteOptions{}, f.Timeouts.PodDelete) + err = e2epod.WaitForPodCondition(ctx, f.ClientSet, pod.Namespace, pod.Name, "Running", 2*time.Minute, testutils.PodRunning) + framework.ExpectNoError(err) + + res, err := cli.Get(ctx, &kubeletpodresourcesv1.GetPodResourcesRequest{ + PodName: pod.Name, + PodNamespace: pod.Namespace, + }) + + framework.Logf("Get result: %v, err: %v", res, err) + gomega.Expect(err).ToNot(gomega.HaveOccurred(), "expected Get to succeed with the feature gate enabled") + gomega.Expect(res.PodResources.Name).To(gomega.Equal(pod.Name)) + }) + }) + ginkgo.It("should return the expected responses", func(ctx context.Context) { onlineCPUs, err := getOnlineCPUs() framework.ExpectNoError(err, "getOnlineCPUs() failed err: %v", err)