15759: Update file mode; avoid /var/run, typically mounted noexec.
authorTom Clegg <tom@tomclegg.ca>
Mon, 30 Dec 2019 16:09:13 +0000 (11:09 -0500)
committerTom Clegg <tom@tomclegg.ca>
Mon, 30 Dec 2019 16:09:13 +0000 (11:09 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@tomclegg.ca>

lib/dispatchcloud/worker/pool.go
lib/dispatchcloud/worker/worker.go

index 34bc26dea5805a70cc089966c2138efa468d0f6a..c52422c4157e85336a3544fb877b60681b7b188a 100644 (file)
@@ -790,7 +790,7 @@ func (wp *Pool) loadRunnerData() error {
        }
        wp.runnerData = buf
        wp.runnerMD5 = md5.Sum(buf)
-       wp.runnerCmd = fmt.Sprintf("/var/run/arvados/crunch-run~%x", wp.runnerMD5)
+       wp.runnerCmd = fmt.Sprintf("/var/lib/arvados/crunch-run~%x", wp.runnerMD5)
        return nil
 }
 
index a455a7d06d88770080fa42e62a19cb878e5050d6..ed8f06394269d20a0bd00c9dfaab9149bef74ac9 100644 (file)
@@ -387,7 +387,7 @@ func (wkr *worker) copyRunnerData() (stdout, stderr []byte, err error) {
        // Note touch+chmod come before writing data, to avoid the
        // possibility of md5 being correct while file mode is
        // incorrect.
-       cmd := `set -e; dstdir="` + dstdir + `"; dstfile="` + wkr.wp.runnerCmd + `"; mkdir -p "$dstdir"; touch "$dstfile"; chmod 0700 "$dstfile"; cat >"$dstfile"`
+       cmd := `set -e; dstdir="` + dstdir + `"; dstfile="` + wkr.wp.runnerCmd + `"; mkdir -p "$dstdir"; touch "$dstfile"; chmod 0755 "$dstdir" "$dstfile"; cat >"$dstfile"`
        if wkr.instance.RemoteUser() != "root" {
                cmd = `sudo sh -c '` + strings.Replace(cmd, "'", "'\\''", -1) + `'`
        }