mirror of
https://github.com/jenkinsci/kubernetes-operator.git
synced 2026-10-17 13:25:31 +02:00
#9 Allow mount secrets and configmaps in Jenkins pod
This commit is contained in:
@@ -40,11 +40,31 @@ func TestConfiguration(t *testing.T) {
|
||||
RepositoryURL: "https://github.com/jenkinsci/kubernetes-operator.git",
|
||||
},
|
||||
}
|
||||
volumes := []corev1.Volume{
|
||||
{
|
||||
Name: "test-configmap",
|
||||
VolumeSource: corev1.VolumeSource{
|
||||
ConfigMap: &corev1.ConfigMapVolumeSource{
|
||||
LocalObjectReference: corev1.LocalObjectReference{
|
||||
Name: resources.GetUserConfigurationConfigMapName(jenkinsCRName),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "test-secret",
|
||||
VolumeSource: corev1.VolumeSource{
|
||||
Secret: &corev1.SecretVolumeSource{
|
||||
SecretName: resources.GetUserConfigurationSecretName(jenkinsCRName),
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// base
|
||||
createUserConfigurationSecret(t, jenkinsCRName, namespace, systemMessageEnvName, systemMessage)
|
||||
createUserConfigurationConfigMap(t, jenkinsCRName, namespace, numberOfExecutors, fmt.Sprintf("${%s}", systemMessageEnvName))
|
||||
jenkins := createJenkinsCR(t, jenkinsCRName, namespace, &[]v1alpha1.SeedJob{mySeedJob.SeedJob})
|
||||
jenkins := createJenkinsCR(t, jenkinsCRName, namespace, &[]v1alpha1.SeedJob{mySeedJob.SeedJob}, volumes)
|
||||
createDefaultLimitsForContainersInNamespace(t, namespace)
|
||||
createKubernetesCredentialsProviderSecret(t, namespace, mySeedJob)
|
||||
waitForJenkinsBaseConfigurationToComplete(t, jenkins)
|
||||
@@ -161,6 +181,20 @@ func verifyJenkinsMasterPodAttributes(t *testing.T, jenkins *v1alpha1.Jenkins) {
|
||||
verifyContainer(t, *expectedContainer, actualContainer)
|
||||
}
|
||||
|
||||
for _, expectedVolume := range jenkins.Spec.Master.Volumes {
|
||||
volumeFound := false
|
||||
for _, actualVolume := range jenkinsPod.Spec.Volumes {
|
||||
if expectedVolume.Name == actualVolume.Name {
|
||||
volumeFound = true
|
||||
assert.Equal(t, expectedVolume, actualVolume)
|
||||
}
|
||||
}
|
||||
|
||||
if !volumeFound {
|
||||
t.Errorf("Missing volume '+%v', actaul volumes '%+v'", expectedVolume, jenkinsPod.Spec.Volumes)
|
||||
}
|
||||
}
|
||||
|
||||
t.Log("Jenkins pod attributes are valid")
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -60,7 +60,7 @@ func createJenkinsAPIClient(jenkins *v1alpha1.Jenkins) (jenkinsclient.Jenkins, e
|
||||
)
|
||||
}
|
||||
|
||||
func createJenkinsCR(t *testing.T, name, namespace string, seedJob *[]v1alpha1.SeedJob) *v1alpha1.Jenkins {
|
||||
func createJenkinsCR(t *testing.T, name, namespace string, seedJob *[]v1alpha1.SeedJob, volumes []corev1.Volume) *v1alpha1.Jenkins {
|
||||
var seedJobs []v1alpha1.SeedJob
|
||||
if seedJob != nil {
|
||||
seedJobs = append(seedJobs, *seedJob...)
|
||||
@@ -118,6 +118,7 @@ func createJenkinsCR(t *testing.T, name, namespace string, seedJob *[]v1alpha1.S
|
||||
"simple-theme-plugin:0.5.1": {},
|
||||
},
|
||||
NodeSelector: map[string]string{"kubernetes.io/hostname": "minikube"},
|
||||
Volumes: volumes,
|
||||
},
|
||||
SeedJobs: seedJobs,
|
||||
},
|
||||
|
||||
@@ -21,7 +21,7 @@ func TestJenkinsMasterPodRestart(t *testing.T) {
|
||||
// Deletes test namespace
|
||||
defer ctx.Cleanup()
|
||||
|
||||
jenkins := createJenkinsCR(t, "e2e", namespace, nil)
|
||||
jenkins := createJenkinsCR(t, "e2e", namespace, nil, []corev1.Volume{})
|
||||
waitForJenkinsBaseConfigurationToComplete(t, jenkins)
|
||||
restartJenkinsMasterPod(t, jenkins)
|
||||
waitForRecreateJenkinsMasterPod(t, jenkins)
|
||||
@@ -37,7 +37,7 @@ func TestSafeRestart(t *testing.T) {
|
||||
|
||||
jenkinsCRName := "e2e"
|
||||
configureAuthorizationToUnSecure(t, jenkinsCRName, namespace)
|
||||
jenkins := createJenkinsCR(t, jenkinsCRName, namespace, nil)
|
||||
jenkins := createJenkinsCR(t, jenkinsCRName, namespace, nil, []corev1.Volume{})
|
||||
waitForJenkinsBaseConfigurationToComplete(t, jenkins)
|
||||
waitForJenkinsUserConfigurationToComplete(t, jenkins)
|
||||
jenkinsClient := verifyJenkinsAPIConnection(t, jenkins)
|
||||
|
||||
@@ -51,7 +51,7 @@ func TestSeedJobs(t *testing.T) {
|
||||
createKubernetesCredentialsProviderSecret(t, namespace, seedJobConfig)
|
||||
seedJobs = append(seedJobs, seedJobConfig.SeedJob)
|
||||
}
|
||||
jenkins := createJenkinsCR(t, jenkinsCRName, namespace, &seedJobs)
|
||||
jenkins := createJenkinsCR(t, jenkinsCRName, namespace, &seedJobs, []corev1.Volume{})
|
||||
waitForJenkinsBaseConfigurationToComplete(t, jenkins)
|
||||
|
||||
verifyJenkinsMasterPodAttributes(t, jenkins)
|
||||
|
||||
Reference in New Issue
Block a user