From: Peter Amstutz Date: Fri, 16 Jul 2021 15:00:57 +0000 (-0400) Subject: 17816: Sort bind mounts on singularity command line X-Git-Tag: 2.3.0~143^2 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/9a1c67deabd249e068284bb86f148d4aa9998711 17816: Sort bind mounts on singularity command line Need to mount parent directories before we can mount things inside them. Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- diff --git a/lib/crunchrun/singularity.go b/lib/crunchrun/singularity.go index 2a294cf03c..bcaff3bcc8 100644 --- a/lib/crunchrun/singularity.go +++ b/lib/crunchrun/singularity.go @@ -8,6 +8,7 @@ import ( "io/ioutil" "os" "os/exec" + "sort" "syscall" "golang.org/x/net/context" @@ -82,7 +83,13 @@ func (e *singularityExecutor) Start() error { false: "rw", true: "ro", } - for path, mount := range e.spec.BindMounts { + var binds []string + for path, _ := range e.spec.BindMounts { + binds = append(binds, path) + } + sort.Strings(binds) + for _, path := range binds { + mount := e.spec.BindMounts[path] args = append(args, "--bind", mount.HostPath+":"+path+":"+readonlyflag[mount.ReadOnly]) } args = append(args, e.imageFilename)