Merge branch '12298-cancel-fail'
authorTom Clegg <tclegg@veritasgenetics.com>
Fri, 22 Sep 2017 13:27:01 +0000 (09:27 -0400)
committerTom Clegg <tclegg@veritasgenetics.com>
Fri, 22 Sep 2017 13:27:01 +0000 (09:27 -0400)
refs #12298

Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

apps/workbench/app/views/projects/_show_dashboard.html.erb
sdk/cwl/arvados_cwl/arvjob.py
tools/arvbox/lib/arvbox/docker/common.sh
tools/arvbox/lib/arvbox/docker/service/sdk/run-service

index 3be8e374a2977b16ca76b53f3e7de645c4751ea9..00780c4089d00b3bbb5332e115e5de5d88f2f922 100644 (file)
@@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0 %>
   preload_objects_for_dataclass(Container, recent_cr_containers) if recent_cr_containers.andand.any?
 
   # fetch children of all the active crs in one call, if there are any
-  active_crs = recent_crs.each {|cr| cr if (cr.priority > 0 and cr.state != 'Final' and cr.container_uuid)}
+  active_crs = recent_crs.each {|cr| cr if (cr.priority.andand > 0 and cr.state != 'Final' and cr.container_uuid)}
   active_cr_uuids = active_crs.map(&:uuid)
   active_cr_containers = active_crs.map {|cr| cr.container_uuid}.compact.uniq
   cr_children = {}
index d104d56e91e7453b5605a0222e17818184a42cb2..794c99446c7bdf5ce442d714816d93f150a623ce 100644 (file)
@@ -32,7 +32,7 @@ from ._version import __version__
 logger = logging.getLogger('arvados.cwl-runner')
 metrics = logging.getLogger('arvados.cwl-runner.metrics')
 
-crunchrunner_re = re.compile(r"^\S+ \S+ \d+ \d+ stderr \S+ \S+ crunchrunner: \$\(task\.(tmpdir|outdir|keep)\)=(.*)")
+crunchrunner_re = re.compile(r"^.*crunchrunner: \$\(task\.(tmpdir|outdir|keep)\)=(.*)$")
 
 crunchrunner_git_commit = 'a3f2cb186e437bfce0031b024b2157b73ed2717d'
 
@@ -222,12 +222,13 @@ class ArvadosJob(object):
                                                                    keep_client=self.arvrunner.keep_client,
                                                                    num_retries=self.arvrunner.num_retries)
                         log = logc.open(logc.keys()[0])
-                        dirs = {}
-                        tmpdir = None
-                        outdir = None
-                        keepdir = None
+                        dirs = {
+                            "tmpdir": "/tmpdir",
+                            "outdir": "/outdir",
+                            "keep": "/keep"
+                        }
                         for l in log:
-                            # Determine the tmpdir, outdir and keepdir paths from
+                            # Determine the tmpdir, outdir and keep paths from
                             # the job run.  Unfortunately, we can't take the first
                             # values we find (which are expected to be near the
                             # top) and stop scanning because if the node fails and
index 9bf92f4ee85d06acf8272090b6711797cd73b363..62225df6ceae523493a27450466345c28d4bc7a5 100644 (file)
@@ -67,7 +67,7 @@ pip_install() {
     done
     popd
 
-    if ! pip install --no-index --find-links /var/lib/pip --system $1 ; then
-        pip install --system $1
+    if ! pip install --no-index --find-links /var/lib/pip $1 ; then
+        pip install $1
     fi
 }
index 29bd040d6573cc91126ea7604285ec79322c2e12..0e937908e8116f5984c367e4cee25fb718b3f833 100755 (executable)
@@ -18,6 +18,18 @@ cd /usr/src/arvados/sdk/cli
 run_bundler --binstubs=$PWD/binstubs
 ln -sf /usr/src/arvados/sdk/cli/binstubs/arv /usr/local/bin/arv
 
+# Need to install the upstream version of pip because the python-pip package
+# shipped with Debian 9 is patched to change behavior in a way that breaks our
+# use case.
+# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876145
+# When a non-root user attempts to install system packages, it makes the
+# --ignore-installed flag the default (and there is no way to turn it off),
+# this has the effect of making it very hard to share dependencies shared among
+# multiple packages, because it will blindly install the latest version of each
+# dependency requested by each package, even if a compatible package version is
+# already installed.
+pip_install pip
+
 pip_install wheel
 
 cd /usr/src/arvados/sdk/python