18258: also handle SINGULARITY_TMPDIR
authorWard Vandewege <ward@curii.com>
Fri, 8 Oct 2021 14:43:52 +0000 (10:43 -0400)
committerWard Vandewege <ward@curii.com>
Fri, 8 Oct 2021 14:43:52 +0000 (10:43 -0400)
Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <ward@curii.com>

lib/crunchrun/singularity.go

index 681dbb6cc98803a2c9524a5987860b7f4ac9599b..5af023a83dc2dc61506818c88ccfadc5b0c22514 100644 (file)
@@ -160,15 +160,22 @@ func (e *singularityExecutor) LoadImage(dockerImageID string, imageTarballPath s
                        return err
                }
 
+               // Set up a cache and tmp dir for singularity build
                err = os.Mkdir(e.tmpdir+"/cache", 0700)
                if err != nil {
                        return err
                }
                defer os.RemoveAll(e.tmpdir + "/cache")
+               err = os.Mkdir(e.tmpdir+"/tmp", 0700)
+               if err != nil {
+                       return err
+               }
+               defer os.RemoveAll(e.tmpdir + "/tmp")
 
                build := exec.Command("singularity", "build", imageFilename, "docker-archive://"+e.tmpdir+"/image.tar")
                build.Env = os.Environ()
                build.Env = append(build.Env, "SINGULARITY_CACHEDIR="+e.tmpdir+"/cache")
+               build.Env = append(build.Env, "SINGULARITY_TMPDIR="+e.tmpdir+"/tmp")
                e.logf("%v", build.Args)
                out, err := build.CombinedOutput()
                // INFO:    Starting build...