Skip to content

Commit

Permalink
ibmcloud: Included Init Contianers along with nginx pod
Browse files Browse the repository at this point in the history
Added initcontianers along with nginx pods in order to add users manually

Fixes:  confidential-containers#1450

Signed-off-by: Sudharshan Muralidharan <sudharshan.muralidharan@ibm.com>
  • Loading branch information
sudharshanibm3 committed Oct 9, 2023
1 parent b4ec03d commit 7908fb0
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 3 deletions.
18 changes: 18 additions & 0 deletions test/e2e/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ func withRestartPolicy(restartPolicy corev1.RestartPolicy) podOption {
}
}

func withContainerPort(port int32) podOption {
return func(p *corev1.Pod) {
p.Spec.Containers[0].Ports = []corev1.ContainerPort{{ContainerPort: port}}
}
}

func withCommand(command []string) podOption {
return func(p *corev1.Pod) {
p.Spec.Containers[0].Command = command
Expand All @@ -40,6 +46,18 @@ func withImagePullSecrets(secretName string) podOption {
}
}

func withInitContainers() podOption {
return func(p *corev1.Pod) {
p.Spec.InitContainers = []corev1.Container{
{
Name: "useradd-init-container",
Image: "busybox",
Command: []string{"adduser", "-D", "nginx"},
},
}
}
}

func withConfigMapBinding(mountPath string, configMapName string) podOption {
return func(p *corev1.Pod) {
p.Spec.Containers[0].VolumeMounts = append(p.Spec.Containers[0].VolumeMounts, corev1.VolumeMount{Name: "config-volume", MountPath: mountPath})
Expand Down
6 changes: 3 additions & 3 deletions test/e2e/common_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -636,7 +636,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), withInitContainers())
configMap := newConfigMap(namespace, configMapName, configMapData)
testCommands := []testCommand{
{
Expand Down Expand Up @@ -672,7 +672,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), withInitContainers())
secret := newSecret(namespace, secretName, secretData, v1.SecretTypeOpaque)

testCommands := []testCommand{
Expand Down Expand Up @@ -781,7 +781,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), withInitContainers())
expectedPodLogString := "ISPRODUCTION=true"
newTestCase(t, "EnvVariablePeerPodWithDeploymentOnly", assert, "Peer pod with environmental variables has been created").withPod(pod).withExpectedPodLogString(expectedPodLogString).withCustomPodState(v1.PodSucceeded).run()
}
Expand Down
8 changes: 8 additions & 0 deletions test/e2e/ibmcloud_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,14 @@ func newPodWithPVCFromIBMVPCBlockDriver(namespace, podName, containerName, image
Name: containerName,
Image: imageName,
ImagePullPolicy: corev1.PullAlways,
Ports: []corev1.ContainerPort{{ContainerPort: 80}},
},
},
InitContainers: []corev1.Container{
{
Name: "useradd-init-container",
Image: "busybox",
Command: []string{"adduser", "-D", "nginx"},
},
},
ServiceAccountName: "ibm-vpc-block-node-sa",
Expand Down

0 comments on commit 7908fb0

Please sign in to comment.