From 0ed6c3e27db141ad86c1e8ea475e474d9168e08b Mon Sep 17 00:00:00 2001 From: Sudharshan Muralidharan Date: Fri, 29 Sep 2023 16:58:27 +0530 Subject: [PATCH] ibmcloud: Included Contianer Ports along with nginx pod Added Containerport along with statements for debugging readiness probe Fixes: #1450 Signed-off-by: Sudharshan Muralidharan --- test/e2e/common.go | 18 ++++++++++++++++++ test/e2e/common_suite_test.go | 6 +++--- test/e2e/ibmcloud_test.go | 12 ++++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/test/e2e/common.go b/test/e2e/common.go index 3a0e1ba3c..4432a75ba 100644 --- a/test/e2e/common.go +++ b/test/e2e/common.go @@ -8,6 +8,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/intstr" ) type podOption func(*corev1.Pod) @@ -18,6 +19,23 @@ func withRestartPolicy(restartPolicy corev1.RestartPolicy) podOption { } } +// Optional method to add ContainerPort and ReadinessProbe to listen Port 80 +func withContainerPort(port int32) podOption { + return func(p *corev1.Pod) { + p.Spec.Containers[0].Ports = []corev1.ContainerPort{{ContainerPort: port}} + p.Spec.Containers[0].ReadinessProbe = &corev1.Probe{ + ProbeHandler: corev1.ProbeHandler{ + HTTPGet: &corev1.HTTPGetAction{ + Path: "/", + Port: intstr.FromInt(int(port)), + }, + }, + InitialDelaySeconds: 10, + PeriodSeconds: 5, + } + } +} + func withCommand(command []string) podOption { return func(p *corev1.Pod) { p.Spec.Containers[0].Command = command diff --git a/test/e2e/common_suite_test.go b/test/e2e/common_suite_test.go index c5aa66c61..ce13b249a 100644 --- a/test/e2e/common_suite_test.go +++ b/test/e2e/common_suite_test.go @@ -43,7 +43,7 @@ func doTestCreatePodWithConfigMap(t *testing.T, assert CloudAssert) { configMapPath := podKubeConfigmapDir + configMapFileName configMapContents := "Hello, world" configMapData := map[string]string{configMapFileName: configMapContents} - pod := newPod(namespace, podName, containerName, imageName, withConfigMapBinding(podKubeConfigmapDir, configMapName)) + pod := newPod(namespace, podName, containerName, imageName, withConfigMapBinding(podKubeConfigmapDir, configMapName), withContainerPort(80)) configMap := newConfigMap(namespace, configMapName, configMapData) testCommands := []testCommand{ { @@ -79,7 +79,7 @@ func doTestCreatePodWithSecret(t *testing.T, assert CloudAssert) { password := "password" passwordPath := podKubeSecretsDir + passwordFileName secretData := map[string][]byte{passwordFileName: []byte(password), usernameFileName: []byte(username)} - pod := newPod(namespace, podName, containerName, imageName, withSecretBinding(podKubeSecretsDir, secretName)) + pod := newPod(namespace, podName, containerName, imageName, withSecretBinding(podKubeSecretsDir, secretName), withContainerPort(80)) secret := newSecret(namespace, secretName, secretData, v1.SecretTypeOpaque) testCommands := []testCommand{ @@ -188,7 +188,7 @@ func doTestCreatePeerPodAndCheckEnvVariableLogsWithDeploymentOnly(t *testing.T, namespace := envconf.RandomName("default", 7) podName := "env-variable-in-config" imageName := "nginx:latest" - pod := newPod(namespace, podName, podName, imageName, withRestartPolicy(v1.RestartPolicyOnFailure), withEnvironmentalVariables([]v1.EnvVar{{Name: "ISPRODUCTION", Value: "true"}}), withCommand([]string{"/bin/sh", "-c", "env"})) + pod := newPod(namespace, podName, podName, imageName, withRestartPolicy(v1.RestartPolicyOnFailure), withEnvironmentalVariables([]v1.EnvVar{{Name: "ISPRODUCTION", Value: "true"}}), withCommand([]string{"/bin/sh", "-c", "env"}), withContainerPort(80)) expectedPodLogString := "ISPRODUCTION=true" newTestCase(t, "EnvVariablePeerPodWithDeploymentOnly", assert, "Peer pod with environmental variables has been created").withPod(pod).withExpectedPodLogString(expectedPodLogString).withCustomPodState(v1.PodSucceeded).run() } diff --git a/test/e2e/ibmcloud_test.go b/test/e2e/ibmcloud_test.go index 7a6fd51bb..5c114b95b 100644 --- a/test/e2e/ibmcloud_test.go +++ b/test/e2e/ibmcloud_test.go @@ -18,6 +18,7 @@ import ( pv "github.com/confidential-containers/cloud-api-adaptor/test/provisioner" log "github.com/sirupsen/logrus" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/utils/pointer" ) @@ -313,6 +314,17 @@ func newPodWithPVCFromIBMVPCBlockDriver(namespace, podName, containerName, image Name: containerName, Image: imageName, ImagePullPolicy: corev1.PullAlways, + Ports: []corev1.ContainerPort{{ContainerPort: 80}}, + ReadinessProbe: &corev1.Probe{ + ProbeHandler: corev1.ProbeHandler{ + HTTPGet: &corev1.HTTPGetAction{ + Path: "/", + Port: intstr.FromInt(80), + }, + }, + InitialDelaySeconds: 10, + PeriodSeconds: 5, + }, }, }, ServiceAccountName: "ibm-vpc-block-node-sa",