From: Ward Vandewege Date: Thu, 21 Oct 2021 20:53:03 +0000 (-0400) Subject: 18289: only pass the --allow-other argument to arv-mount when the X-Git-Tag: 2.4.0~197^2~4 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/58df9c45cc6288b4424c6571b35373de8837a85f 18289: only pass the --allow-other argument to arv-mount when the runtime is Docker. Arvados-DCO-1.1-Signed-off-by: Ward Vandewege --- diff --git a/lib/crunchrun/crunchrun.go b/lib/crunchrun/crunchrun.go index 42f143f1cb..3036d5555a 100644 --- a/lib/crunchrun/crunchrun.go +++ b/lib/crunchrun/crunchrun.go @@ -402,11 +402,14 @@ func (runner *ContainerRunner) SetupMounts() (map[string]bindmount, error) { arvMountCmd := []string{ "arv-mount", "--foreground", - "--allow-other", "--read-write", "--storage-classes", strings.Join(runner.Container.OutputStorageClasses, ","), fmt.Sprintf("--crunchstat-interval=%v", runner.statInterval.Seconds())} + if runner.executor.Runtime() == "docker" { + arvMountCmd = append(arvMountCmd, "--allow-other") + } + if runner.Container.RuntimeConstraints.KeepCacheRAM > 0 { arvMountCmd = append(arvMountCmd, "--file-cache", fmt.Sprintf("%d", runner.Container.RuntimeConstraints.KeepCacheRAM)) } diff --git a/lib/crunchrun/crunchrun_test.go b/lib/crunchrun/crunchrun_test.go index 1131982de0..4c5f517b11 100644 --- a/lib/crunchrun/crunchrun_test.go +++ b/lib/crunchrun/crunchrun_test.go @@ -1124,7 +1124,7 @@ func (s *TestSuite) TestSetupMounts(c *C) { cr.statInterval = 5 * time.Second bindmounts, err := cr.SetupMounts() c.Check(err, IsNil) - c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--allow-other", + c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--read-write", "--storage-classes", "default", "--crunchstat-interval=5", "--mount-by-pdh", "by_id", "--mount-by-id", "by_uuid", realTemp + "/keep1"}) c.Check(bindmounts, DeepEquals, map[string]bindmount{"/tmp": {realTemp + "/tmp2", false}}) @@ -1144,7 +1144,7 @@ func (s *TestSuite) TestSetupMounts(c *C) { bindmounts, err := cr.SetupMounts() c.Check(err, IsNil) - c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--allow-other", + c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--read-write", "--storage-classes", "foo,bar", "--crunchstat-interval=5", "--mount-by-pdh", "by_id", "--mount-by-id", "by_uuid", realTemp + "/keep1"}) c.Check(bindmounts, DeepEquals, map[string]bindmount{"/out": {realTemp + "/tmp2", false}, "/tmp": {realTemp + "/tmp3", false}}) @@ -1164,7 +1164,7 @@ func (s *TestSuite) TestSetupMounts(c *C) { bindmounts, err := cr.SetupMounts() c.Check(err, IsNil) - c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--allow-other", + c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--read-write", "--storage-classes", "default", "--crunchstat-interval=5", "--mount-by-pdh", "by_id", "--mount-by-id", "by_uuid", realTemp + "/keep1"}) c.Check(bindmounts, DeepEquals, map[string]bindmount{"/tmp": {realTemp + "/tmp2", false}, "/etc/arvados/ca-certificates.crt": {stubCertPath, true}}) @@ -1187,7 +1187,7 @@ func (s *TestSuite) TestSetupMounts(c *C) { bindmounts, err := cr.SetupMounts() c.Check(err, IsNil) - c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--allow-other", + c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--read-write", "--storage-classes", "default", "--crunchstat-interval=5", "--mount-tmp", "tmp0", "--mount-by-pdh", "by_id", "--mount-by-id", "by_uuid", realTemp + "/keep1"}) c.Check(bindmounts, DeepEquals, map[string]bindmount{"/keeptmp": {realTemp + "/keep1/tmp0", false}}) @@ -1210,7 +1210,7 @@ func (s *TestSuite) TestSetupMounts(c *C) { bindmounts, err := cr.SetupMounts() c.Check(err, IsNil) - c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--allow-other", + c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--read-write", "--storage-classes", "default", "--crunchstat-interval=5", "--mount-tmp", "tmp0", "--mount-by-pdh", "by_id", "--mount-by-id", "by_uuid", realTemp + "/keep1"}) c.Check(bindmounts, DeepEquals, map[string]bindmount{ @@ -1237,7 +1237,7 @@ func (s *TestSuite) TestSetupMounts(c *C) { bindmounts, err := cr.SetupMounts() c.Check(err, IsNil) - c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--allow-other", + c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--read-write", "--storage-classes", "default", "--crunchstat-interval=5", "--file-cache", "512", "--mount-tmp", "tmp0", "--mount-by-pdh", "by_id", "--mount-by-id", "by_uuid", realTemp + "/keep1"}) c.Check(bindmounts, DeepEquals, map[string]bindmount{ @@ -1320,7 +1320,7 @@ func (s *TestSuite) TestSetupMounts(c *C) { bindmounts, err := cr.SetupMounts() c.Check(err, IsNil) - c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--allow-other", + c.Check(am.Cmd, DeepEquals, []string{"arv-mount", "--foreground", "--read-write", "--storage-classes", "default", "--crunchstat-interval=5", "--file-cache", "512", "--mount-tmp", "tmp0", "--mount-by-pdh", "by_id", "--mount-by-id", "by_uuid", realTemp + "/keep1"}) c.Check(bindmounts, DeepEquals, map[string]bindmount{