Reland "Store metadata about updates in a file alongside with payload."
Relands CL: I3695b0903514eb6840e88810b8546fdca690819e
This original CL had an issue where we only generated metadata in the root
folder. This means updating twice using image_to_live with different images
would break updates.
I've fixed this in the second patch. Please compare P1 vs P2 as P1 is just
the re-landed version of I3695b0903514eb6840e88810b8546fdca690819e. I've
also fixed a bunch of pylint warnings that are now required per upload.
BUG=chromium-os:36990
TEST=Unittests on all changed code, pylint on all changed files, ran update
on x86-generic image using both the serve_only and generate latest workflows.
Ran autoupdate_EndToEndTest
Change-Id: I6bb65b23a34f071e388a4e522fb0fb42eae8781b
Reviewed-on: https://gerrit.chromium.org/gerrit/42271
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Chris Sosa <sosa@chromium.org>
diff --git a/log_util.py b/log_util.py
index 8b608a9..241fcfa 100644
--- a/log_util.py
+++ b/log_util.py
@@ -13,13 +13,13 @@
"""Provides a log method, with automatic log tag generation."""
_CAMELCASE_RE = re.compile('(?<=.)([A-Z])')
- def _Log(self, message, *args, **kwargs):
+ def _Log(self, message, *args):
return LogWithTag(
self._CAMELCASE_RE.sub(r'_\1', self.__class__.__name__).upper(),
- message, *args, **kwargs)
+ message, *args)
-def LogWithTag(tag, message, *args, **kwargs):
- # CherryPy log doesn't seem to take any optional args, so we'll just join
- # them into a single string, if any are provided.
- return cherrypy.log(message + ((' ' + ' '.join(args)) if args else ''), tag)
+def LogWithTag(tag, message, *args):
+ # CherryPy log doesn't seem to take any optional args, so we just handle
+ # args by formatting them into message.
+ return cherrypy.log(message % args, context=tag)