[ARVADOS] created: 1.3.0-1532-gae7f90e72
Git user
git at public.curoverse.com
Mon Aug 19 21:13:24 UTC 2019
at ae7f90e7246c957db09e313e216b0e64ff5d3694 (commit)
commit ae7f90e7246c957db09e313e216b0e64ff5d3694
Author: Tom Morris <tfmorris at veritasgenetics.com>
Date: Mon Aug 19 17:11:44 2019 -0400
15554 - Fix crunchstat-summary for running containers
Change the decision logic for when to use the live logs to account for
the fact that the log collection exists now before the container completes.
Arvados-DCO-1.1-Signed-off-by: Tom Morris <tfmorris at veritasgenetics.com>
diff --git a/sdk/python/arvados/util.py b/sdk/python/arvados/util.py
index 66da2d12a..fd29a3dc1 100644
--- a/sdk/python/arvados/util.py
+++ b/sdk/python/arvados/util.py
@@ -19,6 +19,9 @@ import arvados
from arvados.collection import CollectionReader
HEX_RE = re.compile(r'^[0-9a-fA-F]+$')
+CR_UNCOMMITTED = 'Uncommitted'
+CR_COMMITTED = 'Committed'
+CR_FINAL = 'Final'
keep_locator_pattern = re.compile(r'[0-9a-f]{32}\+\d+(\+\S+)*')
signed_locator_pattern = re.compile(r'[0-9a-f]{32}\+\d+(\+\S+)*\+A\S+(\+\S+)*')
diff --git a/tools/crunchstat-summary/crunchstat_summary/summarizer.py b/tools/crunchstat-summary/crunchstat_summary/summarizer.py
index d99d3c1cf..890f28c28 100644
--- a/tools/crunchstat-summary/crunchstat_summary/summarizer.py
+++ b/tools/crunchstat-summary/crunchstat_summary/summarizer.py
@@ -4,6 +4,7 @@
import arvados
import collections
+import arvados.util
import crunchstat_summary.dygraphs
import crunchstat_summary.reader
import datetime
@@ -526,7 +527,7 @@ def NewSummarizer(process_or_uuid, **kwargs):
class ProcessSummarizer(Summarizer):
- """Process is a job, pipeline, container, or container request."""
+ """Process is a job, pipeline, or container request."""
def __init__(self, process, label=None, **kwargs):
rdr = None
@@ -535,17 +536,16 @@ class ProcessSummarizer(Summarizer):
label = self.process.get('name', self.process['uuid'])
# Pre-Arvados v1.4 everything is in 'log'
# For 1.4+ containers have no logs and container_requests have them in 'log_uuid', not 'log'
- log_collection = self.process.get('log')
- if not log_collection:
- log_collection = self.process.get('log_uuid')
- if log_collection:
+ log_collection = self.process.get('log', self.process.get('log_uuid'))
+ if log_collection and self.process.get('state') != arvados.util.CR_UNCOMMITTED:
try:
rdr = crunchstat_summary.reader.CollectionReader(log_collection)
except arvados.errors.NotFoundError as e:
logger.warning("Trying event logs after failing to read "
"log collection %s: %s", self.process['log'], e)
if rdr is None:
- rdr = crunchstat_summary.reader.LiveLogReader(self.process['uuid'])
+ uuid = self.process.get('container_uuid', self.process.get('uuid'))
+ rdr = crunchstat_summary.reader.LiveLogReader(uuid)
label = label + ' (partial)'
super(ProcessSummarizer, self).__init__(rdr, label=label, **kwargs)
self.existing_constraints = self.process.get('runtime_constraints', {})
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list