Skip to content

Commit

Permalink
Add volumes and volume-mounts for spark dependencies (jaegertracing#1359
Browse files Browse the repository at this point in the history
)

Signed-off-by: Kevin Earls <kearls@redhat.com>

This fixes jaegertracing#1332   Note however that TLS access for the spark dependencies job is not fully supported (see issue jaegertracing#294 ) in general but will work for the instance described in this issue.
  • Loading branch information
kevinearls authored Jan 12, 2021
1 parent 010535a commit 8eb0f1b
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 3 deletions.
8 changes: 5 additions & 3 deletions pkg/cronjob/spark_dependencies.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,16 +93,18 @@ func CreateSparkDependencies(jaeger *v1.Jaeger) *batchv1beta1.CronJob {
Image: image,
Name: name,
// let spark job use its default values
Env: util.RemoveEmptyVars(envVars),
EnvFrom: envFromSource,
Resources: commonSpec.Resources,
Env: util.RemoveEmptyVars(envVars),
EnvFrom: envFromSource,
Resources: commonSpec.Resources,
VolumeMounts: jaeger.Spec.Storage.Dependencies.JaegerCommonSpec.VolumeMounts,
},
},
RestartPolicy: corev1.RestartPolicyNever,
Affinity: commonSpec.Affinity,
Tolerations: commonSpec.Tolerations,
SecurityContext: commonSpec.SecurityContext,
ServiceAccountName: account.JaegerServiceAccountFor(jaeger, account.DependenciesComponent),
Volumes: jaeger.Spec.Storage.Dependencies.JaegerCommonSpec.Volumes,
},
ObjectMeta: metav1.ObjectMeta{
Labels: commonSpec.Labels,
Expand Down
34 changes: 34 additions & 0 deletions pkg/cronjob/spark_dependencies_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -224,3 +224,37 @@ func TestCustomSparkDependenciesImage(t *testing.T) {
assert.Empty(t, jaeger.Spec.Storage.Dependencies.Image)
assert.Equal(t, "org/custom-spark-dependencies-image", cjob.Spec.JobTemplate.Spec.Template.Spec.Containers[0].Image)
}

func TestDependenciesVolumes(t *testing.T) {
testVolumeName := "testDependenciesVolume"
testConfigMapName := "dvConfigMap"
jaeger := v1.NewJaeger(types.NamespacedName{Name: "TestDependenciesVolumes"})
testVolume := corev1.Volume{
Name: testVolumeName,
VolumeSource: corev1.VolumeSource{
ConfigMap: &corev1.ConfigMapVolumeSource{
LocalObjectReference: corev1.LocalObjectReference{Name: testConfigMapName},
},
},
}
testVolumes := []corev1.Volume{testVolume}
jaeger.Spec.Storage.Dependencies.JaegerCommonSpec.Volumes = testVolumes

testVolumeMountName := "testVolumeMount"
testMountPath := "/es-tls"
testVolumeMount := corev1.VolumeMount{
Name: testVolumeMountName,
ReadOnly: false,
MountPath: testMountPath,
}
testVolumeMounts := []corev1.VolumeMount{testVolumeMount}
jaeger.Spec.Storage.Dependencies.JaegerCommonSpec.VolumeMounts = testVolumeMounts

cjob := CreateSparkDependencies(jaeger)
assert.Equal(t, testVolumeMountName, cjob.Spec.JobTemplate.Spec.Template.Spec.Containers[0].VolumeMounts[0].Name)
assert.False(t, cjob.Spec.JobTemplate.Spec.Template.Spec.Containers[0].VolumeMounts[0].ReadOnly)
assert.Equal(t, testMountPath, cjob.Spec.JobTemplate.Spec.Template.Spec.Containers[0].VolumeMounts[0].MountPath)

assert.Equal(t, testVolumeName, cjob.Spec.JobTemplate.Spec.Template.Spec.Volumes[0].Name)
assert.Equal(t, testConfigMapName, cjob.Spec.JobTemplate.Spec.Template.Spec.Volumes[0].ConfigMap.Name)
}

0 comments on commit 8eb0f1b

Please sign in to comment.