End node request span when result event is sent
The node request span needs to be ended whenever we add a result event to the pipeline. Before we only did that when iterating over the node requests after we've won the nodepool election. Change-Id: I0276d5498b243522540657352a733d663ae71918
This commit is contained in:
parent
30c725ff6e
commit
d864d83ade
|
@ -193,11 +193,14 @@ class TestTracing(ZuulTestCase):
|
||||||
self.log.debug("Received:\n%s", item)
|
self.log.debug("Received:\n%s", item)
|
||||||
merge_job = self.getSpan('Merge')
|
merge_job = self.getSpan('Merge')
|
||||||
self.log.debug("Received:\n%s", merge_job)
|
self.log.debug("Received:\n%s", merge_job)
|
||||||
|
node_request = self.getSpan('RequestNodes')
|
||||||
|
self.log.debug("Received:\n%s", node_request)
|
||||||
build = self.getSpan('Build')
|
build = self.getSpan('Build')
|
||||||
self.log.debug("Received:\n%s", build)
|
self.log.debug("Received:\n%s", build)
|
||||||
jobexec = self.getSpan('JobExecution')
|
jobexec = self.getSpan('JobExecution')
|
||||||
self.log.debug("Received:\n%s", jobexec)
|
self.log.debug("Received:\n%s", jobexec)
|
||||||
self.assertEqual(item.trace_id, buildset.trace_id)
|
self.assertEqual(item.trace_id, buildset.trace_id)
|
||||||
|
self.assertEqual(item.trace_id, node_request.trace_id)
|
||||||
self.assertEqual(item.trace_id, build.trace_id)
|
self.assertEqual(item.trace_id, build.trace_id)
|
||||||
self.assertNotEqual(item.span_id, jobexec.span_id)
|
self.assertNotEqual(item.span_id, jobexec.span_id)
|
||||||
self.assertTrue(buildset.start_time_unix_nano >=
|
self.assertTrue(buildset.start_time_unix_nano >=
|
||||||
|
@ -210,6 +213,8 @@ class TestTracing(ZuulTestCase):
|
||||||
buildset.end_time_unix_nano)
|
buildset.end_time_unix_nano)
|
||||||
self.assertEqual(jobexec.parent_span_id,
|
self.assertEqual(jobexec.parent_span_id,
|
||||||
build.span_id)
|
build.span_id)
|
||||||
|
self.assertEqual(node_request.parent_span_id,
|
||||||
|
buildset.span_id)
|
||||||
self.assertEqual(build.parent_span_id,
|
self.assertEqual(build.parent_span_id,
|
||||||
buildset.span_id)
|
buildset.span_id)
|
||||||
self.assertEqual(merge_job.parent_span_id,
|
self.assertEqual(merge_job.parent_span_id,
|
||||||
|
|
|
@ -84,6 +84,10 @@ class Nodepool(object):
|
||||||
del self.election
|
del self.election
|
||||||
|
|
||||||
def _sendNodesProvisionedEvent(self, request):
|
def _sendNodesProvisionedEvent(self, request):
|
||||||
|
tracing.endSavedSpan(request.span_info, attributes={
|
||||||
|
"request_id": request.id,
|
||||||
|
"state": request.state,
|
||||||
|
})
|
||||||
tenant_name = request.tenant_name
|
tenant_name = request.tenant_name
|
||||||
pipeline_name = request.pipeline_name
|
pipeline_name = request.pipeline_name
|
||||||
event = model.NodesProvisionedEvent(request.id, request.build_set_uuid)
|
event = model.NodesProvisionedEvent(request.id, request.build_set_uuid)
|
||||||
|
@ -101,10 +105,6 @@ class Nodepool(object):
|
||||||
continue
|
continue
|
||||||
if (request.state in {model.STATE_FULFILLED,
|
if (request.state in {model.STATE_FULFILLED,
|
||||||
model.STATE_FAILED}):
|
model.STATE_FAILED}):
|
||||||
tracing.endSavedSpan(request.span_info, attributes={
|
|
||||||
"request_id": request.id,
|
|
||||||
"state": request.state,
|
|
||||||
})
|
|
||||||
self._sendNodesProvisionedEvent(request)
|
self._sendNodesProvisionedEvent(request)
|
||||||
# Now resume normal event processing.
|
# Now resume normal event processing.
|
||||||
self.stop_watcher_event.wait()
|
self.stop_watcher_event.wait()
|
||||||
|
|
Loading…
Reference in New Issue