From 4c6566b9d53e6963aeb40752e7627db15e10163d Mon Sep 17 00:00:00 2001 From: Clark Boylan Date: Mon, 10 Mar 2014 11:02:01 -0700 Subject: [PATCH] Add more logging to zuul merger process Add logging to the zuul merger process that includes change numbers so that threads of execution can be easily tracked from the zuul server log files to the zuul merger log files. Change-Id: Ic591f3941d6fe84874e16c8309a101a2918979a2 --- zuul/merger/merger.py | 8 +++++++- zuul/merger/server.py | 2 ++ zuul/scheduler.py | 14 ++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/zuul/merger/merger.py b/zuul/merger/merger.py index 10ce82cc60..28e88adc5a 100644 --- a/zuul/merger/merger.py +++ b/zuul/merger/merger.py @@ -195,7 +195,7 @@ class Merger(object): try: self.log.info("Updating local repository %s", project) repo.update() - except: + except Exception: self.log.exception("Unable to update %s", project) def _mergeChange(self, item, ref): @@ -282,6 +282,12 @@ class Merger(object): recent = {} commit = None for item in items: + if item.get("number") and item.get("patchset"): + self.log.debug("Merging for change %s,%s." % + (item["number"], item["patchset"])) + elif item.get("newrev") and item.get("oldrev"): + self.log.debug("Merging for rev %s with oldrev %s." % + (item["newrev"], item["oldrev"])) commit = self._mergeItem(item, recent) if not commit: return None diff --git a/zuul/merger/server.py b/zuul/merger/server.py index d8bc1b8f14..0d105f677c 100644 --- a/zuul/merger/server.py +++ b/zuul/merger/server.py @@ -90,8 +90,10 @@ class MergeServer(object): job = self.worker.getJob() try: if job.name == 'merger:merge': + self.log.debug("Got merge job.") self.merge(job) elif job.name == 'merger:update': + self.log.debug("Got update job.") self.update(job) else: self.log.error("Unable to handle job %s" % job.name) diff --git a/zuul/scheduler.py b/zuul/scheduler.py index 815da8c776..d3ffdc8006 100644 --- a/zuul/scheduler.py +++ b/zuul/scheduler.py @@ -1110,6 +1110,16 @@ class BasePipelineManager(object): def _makeMergerItem(self, item): # Create a dictionary with all info about the item needed by # the merger. + number = None + patchset = None + oldrev = None + newrev = None + if hasattr(item.change, 'number'): + number = item.change.number + patchset = item.change.patchset + elif hasattr(item.change, 'newrev'): + oldrev = item.change.oldrev + newrev = item.change.newrev return dict(project=item.change.project.name, url=self.pipeline.trigger.getGitUrl( item.change.project), @@ -1117,6 +1127,10 @@ class BasePipelineManager(object): refspec=item.change.refspec, branch=item.change.branch, ref=item.current_build_set.ref, + number=number, + patchset=patchset, + oldrev=oldrev, + newrev=newrev, ) def prepareRef(self, item):