12876: Merge branch 'master' into 12876-arvados-client
[arvados.git] / services / crunch-run / crunchrun.go
index 23246805960f8faf1a862098bcaac4b122273e7a..e5e0ea001669f21219c8f6d01717f7771b885f59 100644 (file)
@@ -554,11 +554,7 @@ func (runner *ContainerRunner) SetupMounts() (err error) {
                        if err != nil {
                                return err
                        }
-                       bind := tmpdir + ":" + bind
-                       if !mnt.Writable {
-                               bind = bind + ":ro"
-                       }
-                       runner.Binds = append(runner.Binds, bind)
+                       runner.Binds = append(runner.Binds, tmpdir+":"+bind+":ro")
                }
        }
 
@@ -668,7 +664,6 @@ type infoCommand struct {
 // purposes.
 func (runner *ContainerRunner) LogNodeInfo() (err error) {
        w := runner.NewLogWriter("node-info")
-       logger := log.New(w, "node-info", 0)
 
        commands := []infoCommand{
                {
@@ -694,17 +689,17 @@ func (runner *ContainerRunner) LogNodeInfo() (err error) {
        }
 
        // Run commands with informational output to be logged.
-       var out []byte
        for _, command := range commands {
-               out, err = exec.Command(command.cmd[0], command.cmd[1:]...).CombinedOutput()
-               if err != nil {
-                       return fmt.Errorf("While running command %q: %v",
-                               command.cmd, err)
-               }
-               logger.Println(command.label)
-               for _, line := range strings.Split(string(out), "\n") {
-                       logger.Println(" ", line)
+               fmt.Fprintln(w, command.label)
+               cmd := exec.Command(command.cmd[0], command.cmd[1:]...)
+               cmd.Stdout = w
+               cmd.Stderr = w
+               if err := cmd.Run(); err != nil {
+                       err = fmt.Errorf("While running command %q: %v", command.cmd, err)
+                       fmt.Fprintln(w, err)
+                       return err
                }
+               fmt.Fprintln(w, "")
        }
 
        err = w.Close()