Give layout objects a unique ID
This is a debug aid -- when investigating leaked layout objects,
it would be nice to tie them back to when they were created.
Change-Id: I2b5b3cb33e6891c0cbca15ea82022bfa91ba9048
diff --git a/zuul/configloader.py b/zuul/configloader.py
index 2cdac38..426842b 100644
--- a/zuul/configloader.py
+++ b/zuul/configloader.py
@@ -1572,6 +1572,7 @@
# Don't call this method from dynamic reconfiguration because
# it interacts with drivers and connections.
layout = model.Layout(tenant)
+ TenantParser.log.debug("Created layout id %s", layout.uuid)
TenantParser._parseLayoutItems(layout, tenant, data,
scheduler, connections)
@@ -1700,6 +1701,7 @@
self._loadDynamicProjectData(config, project, files, False, tenant)
layout = model.Layout(tenant)
+ self.log.debug("Created layout id %s", layout.uuid)
if not include_config_projects:
# NOTE: the actual pipeline objects (complete with queues
# and enqueued items) are copied by reference here. This
diff --git a/zuul/model.py b/zuul/model.py
index e68e46b..464ee16 100644
--- a/zuul/model.py
+++ b/zuul/model.py
@@ -2329,6 +2329,7 @@
"""Holds all of the Pipelines."""
def __init__(self, tenant):
+ self.uuid = uuid4().hex
self.tenant = tenant
self.project_configs = {}
self.project_templates = {}