From 9c75f4a40afdc821df01930e828f6c477a4cb56f Mon Sep 17 00:00:00 2001 From: Antonio Ojea Date: Thu, 4 Jul 2019 00:59:59 +0200 Subject: [PATCH] Add e2e test for downward API with host network Co-authored-by: BenTheElder --- test/e2e/common/downward_api.go | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/test/e2e/common/downward_api.go b/test/e2e/common/downward_api.go index 13814bfdaf4..13d3964df0d 100644 --- a/test/e2e/common/downward_api.go +++ b/test/e2e/common/downward_api.go @@ -104,6 +104,56 @@ var _ = ginkgo.Describe("[sig-node] Downward API", func() { testDownwardAPI(f, podName, env, expectations) }) + ginkgo.It("should provide host IP and pod IP as an env var if pod uses host network [LinuxOnly]", func() { + podName := "downward-api-" + string(uuid.NewUUID()) + env := []v1.EnvVar{ + { + Name: "HOST_IP", + ValueFrom: &v1.EnvVarSource{ + FieldRef: &v1.ObjectFieldSelector{ + APIVersion: "v1", + FieldPath: "status.hostIP", + }, + }, + }, + { + Name: "POD_IP", + ValueFrom: &v1.EnvVarSource{ + FieldRef: &v1.ObjectFieldSelector{ + APIVersion: "v1", + FieldPath: "status.podIP", + }, + }, + }, + } + + expectations := []string{ + fmt.Sprintf("OK"), + } + + pod := &v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: podName, + Labels: map[string]string{"name": podName}, + }, + Spec: v1.PodSpec{ + Containers: []v1.Container{ + { + Name: "dapi-container", + Image: imageutils.GetE2EImage(imageutils.BusyBox), + Command: []string{"sh", "-c", `[[ "${HOST_IP:?}" == "${POD_IP:?}" ]] && echo 'OK'`}, + Env: env, + }, + }, + HostNetwork: true, + RestartPolicy: v1.RestartPolicyNever, + }, + } + + testDownwardAPIUsingPod(f, pod, env, expectations) + + }) + /* Release : v1.9 Testname: DownwardAPI, environment for CPU and memory limits and requests