From f9a6445ea93a65797c086946f1d63d48990dd681 Mon Sep 17 00:00:00 2001 From: xiangpengzhao Date: Thu, 12 Oct 2017 19:27:01 +0800 Subject: [PATCH 1/3] Add e2e test case for downward API exposing pod UID --- test/e2e/common/downward_api.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/e2e/common/downward_api.go b/test/e2e/common/downward_api.go index 74ada1aa6bd..010f2836a95 100644 --- a/test/e2e/common/downward_api.go +++ b/test/e2e/common/downward_api.go @@ -187,6 +187,29 @@ var _ = framework.KubeDescribe("Downward API", func() { testDownwardAPIUsingPod(f, pod, env, expectations) }) + + It("should provide pod UID as env vars [Conformance]", func() { + framework.SkipUnlessServerVersionGTE(hostIPVersion, f.ClientSet.Discovery()) + podUID := uuid.NewUUID() + podName := "downward-api-" + string(podUID) + env := []v1.EnvVar{ + { + Name: "POD_UID", + ValueFrom: &v1.EnvVarSource{ + FieldRef: &v1.ObjectFieldSelector{ + APIVersion: "v1", + FieldPath: "metadata.uid", + }, + }, + }, + } + + expectations := []string{ + fmt.Sprintf("POD_UID=%v", podUID), + } + + testDownwardAPI(f, podName, env, expectations) + }) }) func testDownwardAPI(f *framework.Framework, podName string, env []v1.EnvVar, expectations []string) { From 93d5528507334837e240c9de3cc9e7ad419a877e Mon Sep 17 00:00:00 2001 From: xiangpengzhao Date: Fri, 13 Oct 2017 09:19:32 +0800 Subject: [PATCH 2/3] Use regexp instead of specifing uid. --- test/e2e/common/downward_api.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/test/e2e/common/downward_api.go b/test/e2e/common/downward_api.go index 010f2836a95..b46c7ab7288 100644 --- a/test/e2e/common/downward_api.go +++ b/test/e2e/common/downward_api.go @@ -190,8 +190,7 @@ var _ = framework.KubeDescribe("Downward API", func() { It("should provide pod UID as env vars [Conformance]", func() { framework.SkipUnlessServerVersionGTE(hostIPVersion, f.ClientSet.Discovery()) - podUID := uuid.NewUUID() - podName := "downward-api-" + string(podUID) + podName := "downward-api-" + string(uuid.NewUUID()) env := []v1.EnvVar{ { Name: "POD_UID", @@ -205,7 +204,7 @@ var _ = framework.KubeDescribe("Downward API", func() { } expectations := []string{ - fmt.Sprintf("POD_UID=%v", podUID), + fmt.Sprintf("POD_UID=[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}"), } testDownwardAPI(f, podName, env, expectations) From 741067495b9587f7f724a612c14d621a025ca205 Mon Sep 17 00:00:00 2001 From: xiangpengzhao Date: Fri, 13 Oct 2017 09:54:30 +0800 Subject: [PATCH 3/3] Define pod UID version. --- test/e2e/common/downward_api.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/e2e/common/downward_api.go b/test/e2e/common/downward_api.go index b46c7ab7288..3675d28ab45 100644 --- a/test/e2e/common/downward_api.go +++ b/test/e2e/common/downward_api.go @@ -29,7 +29,10 @@ import ( . "github.com/onsi/ginkgo" ) -var hostIPVersion = utilversion.MustParseSemantic("v1.8.0") +var ( + hostIPVersion = utilversion.MustParseSemantic("v1.8.0") + podUIDVersion = utilversion.MustParseSemantic("v1.8.0") +) var _ = framework.KubeDescribe("Downward API", func() { f := framework.NewDefaultFramework("downward-api") @@ -189,7 +192,7 @@ var _ = framework.KubeDescribe("Downward API", func() { }) It("should provide pod UID as env vars [Conformance]", func() { - framework.SkipUnlessServerVersionGTE(hostIPVersion, f.ClientSet.Discovery()) + framework.SkipUnlessServerVersionGTE(podUIDVersion, f.ClientSet.Discovery()) podName := "downward-api-" + string(uuid.NewUUID()) env := []v1.EnvVar{ {