From 6be420afffca84859d8b3319995422fffb819c31 Mon Sep 17 00:00:00 2001 From: Joe Stringer Date: Fri, 9 Aug 2019 14:34:08 -0700 Subject: [PATCH] tracejob: Mount /usr/src in pod template Ensure that /usr/src is mounted, since several common distributions link /lib/modules/$(uname -r)/build to /usr/src/kernels/$(uname -r) or /usr/src/linux-headers-$(uname -r). Fixes: #76 Signed-off-by: Joe Stringer --- pkg/tracejob/job.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkg/tracejob/job.go b/pkg/tracejob/job.go index b465da9d..31ed24aa 100644 --- a/pkg/tracejob/job.go +++ b/pkg/tracejob/job.go @@ -237,6 +237,14 @@ func (t *TraceJobClient) CreateJob(nj TraceJob) (*batchv1.Job, error) { }, }, }, + apiv1.Volume{ + Name: "usr-src-host", + VolumeSource: apiv1.VolumeSource{ + HostPath: &apiv1.HostPathVolumeSource{ + Path: "/usr/src", + }, + }, + }, apiv1.Volume{ Name: "modules-host", VolumeSource: apiv1.VolumeSource{ @@ -409,6 +417,11 @@ func (t *TraceJobClient) CreateJob(nj TraceJob) (*batchv1.Job, error) { } else { // If we aren't downloading headers, unconditionally used the ones linked in /lib/modules job.Spec.Template.Spec.Containers[0].VolumeMounts = append(job.Spec.Template.Spec.Containers[0].VolumeMounts, + apiv1.VolumeMount{ + Name: "usr-src-host", + MountPath: "/usr/src", + ReadOnly: true, + }, apiv1.VolumeMount{ Name: "modules-host", MountPath: "/lib/modules",