[arvados] created: 2.1.0-3067-g1599275ce
git repository hosting
git at public.arvados.org
Fri Nov 18 20:04:08 UTC 2022
at 1599275ce2d694a361109b8530dc0ea9c0a3673d (commit)
commit 1599275ce2d694a361109b8530dc0ea9c0a3673d
Author: Tom Clegg <tom at curii.com>
Date: Fri Nov 18 15:03:14 2022 -0500
18765: Update to singularity 3.10.4.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/lib/crunchrun/executor_test.go b/lib/crunchrun/executor_test.go
index 2b66a5515..ad940da1e 100644
--- a/lib/crunchrun/executor_test.go
+++ b/lib/crunchrun/executor_test.go
@@ -134,6 +134,8 @@ func (s *executorSuite) TestExecCleanEnv(c *C) {
// singularity also sets this by itself (v3.5.2, but not v3.7.4)
case "PROMPT_COMMAND", "PS1", "SINGULARITY_BIND", "SINGULARITY_COMMAND", "SINGULARITY_ENVIRONMENT":
// singularity also sets these by itself (v3.7.4)
+ case "SINGULARITY_NO_EVAL":
+ // singlarity also sets this by itself (v3.10.4)
default:
got[kv[0]] = kv[1]
}
diff --git a/lib/crunchrun/singularity_test.go b/lib/crunchrun/singularity_test.go
index c3e71975f..a18de38c1 100644
--- a/lib/crunchrun/singularity_test.go
+++ b/lib/crunchrun/singularity_test.go
@@ -59,7 +59,7 @@ func (s *singularitySuite) TestInject(c *C) {
}
func (s *singularitySuite) TestExecLongArg(c *C) {
- // singularity 3.9.9 fails with:
+ // singularity 3.9.9 and 3.10.4 fail with:
// FATAL: while initializing starter command: while copying engine configuration: engine configuration too big > 1048448
c.Skip("known bug/limitation, see https://dev.arvados.org/issues/18765")
s.executorSuite.TestExecLongArg(c)
diff --git a/lib/install/deps.go b/lib/install/deps.go
index 1b4bf7266..1c13892b5 100644
--- a/lib/install/deps.go
+++ b/lib/install/deps.go
@@ -35,7 +35,7 @@ const goversion = "1.18.8"
const (
rubyversion = "2.7.6"
bundlerversion = "2.2.19"
- singularityversion = "3.9.9"
+ singularityversion = "3.10.4"
pjsversion = "1.9.8"
geckoversion = "0.24.0"
gradleversion = "5.3.1"
@@ -198,8 +198,13 @@ func (inst *installCommand) RunCommand(prog string, args []string, stdin io.Read
}
}
if dev || test {
- pkgs = append(pkgs, "squashfs-tools") // for singularity
- pkgs = append(pkgs, "gnupg") // for docker install recipe
+ pkgs = append(pkgs,
+ "libglib2.0-dev", // for singularity
+ "libseccomp-dev", // for singularity
+ "seccomp", // for singularity
+ "squashfs-tools", // for singularity
+ "gnupg", // for docker install recipe
+ )
}
switch {
case osv.Debian && osv.Major >= 11:
@@ -360,7 +365,7 @@ S=`+singularityversion+`
tmp=/var/lib/arvados/tmp/singularity
trap "rm -r ${tmp}" ERR EXIT
cd /var/lib/arvados/tmp
-git clone https://github.com/sylabs/singularity
+git clone --recurse-submodules https://github.com/sylabs/singularity
cd singularity
git checkout v${S}
./mconfig --prefix=/var/lib/arvados
commit 944de5bf9702bf28c284bfbd2c40d16ecb57e392
Author: Tom Clegg <tom at curii.com>
Date: Tue Jun 7 09:53:46 2022 -0400
18765: Add repro/test case.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/lib/crunchrun/executor_test.go b/lib/crunchrun/executor_test.go
index e757f579f..2b66a5515 100644
--- a/lib/crunchrun/executor_test.go
+++ b/lib/crunchrun/executor_test.go
@@ -140,6 +140,22 @@ func (s *executorSuite) TestExecCleanEnv(c *C) {
}
c.Check(got, DeepEquals, s.spec.Env)
}
+
+func (s *executorSuite) TestExecLongArg(c *C) {
+ hostdir := c.MkDir()
+ c.Assert(os.WriteFile(hostdir+"/testfile", []byte("last tube"), 0777), IsNil)
+ s.spec.BindMounts = map[string]bindmount{}
+ for n := 0; n < 9600; n++ {
+ s.spec.BindMounts[fmt.Sprintf("/longargtest-%d", n)] = bindmount{HostPath: hostdir + "/testfile", ReadOnly: true}
+ }
+ s.spec.Command = []string{"/bin/sh", "-c", fmt.Sprintf("printf %%s %123000.123000s a", " ")}
+ c.Logf("command arg[2] len is %d", len(s.spec.Command[2]))
+ s.checkRun(c, 0)
+ if !c.Check(s.stdout.String(), Equals, "a") {
+ c.Logf("stderr:\n%s\n", s.stderr.String())
+ }
+}
+
func (s *executorSuite) TestExecEnableNetwork(c *C) {
for _, enable := range []bool{false, true} {
s.SetUpTest(c)
diff --git a/lib/crunchrun/singularity_test.go b/lib/crunchrun/singularity_test.go
index e4c7cdb30..c3e71975f 100644
--- a/lib/crunchrun/singularity_test.go
+++ b/lib/crunchrun/singularity_test.go
@@ -58,6 +58,13 @@ func (s *singularitySuite) TestInject(c *C) {
s.executorSuite.TestInject(c)
}
+func (s *singularitySuite) TestExecLongArg(c *C) {
+ // singularity 3.9.9 fails with:
+ // FATAL: while initializing starter command: while copying engine configuration: engine configuration too big > 1048448
+ c.Skip("known bug/limitation, see https://dev.arvados.org/issues/18765")
+ s.executorSuite.TestExecLongArg(c)
+}
+
var _ = Suite(&singularityStubSuite{})
// singularityStubSuite tests don't really invoke singularity, so we
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list