From 6f3a5e2023cdae7671a034d848fe8993acf9e702 Mon Sep 17 00:00:00 2001 From: Harsh Modi Date: Wed, 30 Aug 2023 14:43:44 -0400 Subject: [PATCH] get and pass `traceparent` to osbs tasks This is to enable OpenTelemetry tracing in `osbs` Signed-off-by: Harsh Modi --- .../plugins/builder_containerbuild.py | 19 +++++++++++++++++-- requirements.txt | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/koji_containerbuild/plugins/builder_containerbuild.py b/koji_containerbuild/plugins/builder_containerbuild.py index 299bbe8..0d58846 100644 --- a/koji_containerbuild/plugins/builder_containerbuild.py +++ b/koji_containerbuild/plugins/builder_containerbuild.py @@ -316,9 +316,10 @@ def osbs(self): conf_section = DEFAULT_CONF_BINARY_SECTION elif self.method in BuildSourceContainerTask.Methods: conf_section = DEFAULT_CONF_SOURCE_SECTION - os_conf = Configuration(conf_section=conf_section) - self._osbs = OSBS(os_conf) + # figure out where to get this from brew otel + traceparent = '' + self._osbs = OSBS(os_conf, traceparent=traceparent) if not self._osbs: msg = 'Could not successfully instantiate `osbs`' raise ContainerError(msg) @@ -1011,6 +1012,13 @@ def handler(self, src, target, opts=None): userdata=opts.get('userdata', None), ) + # need brew instrumentation to be completed to know where we will get this from + traceparent = '' + if traceparent: + kwargs.update({ + 'traceparent': traceparent, + }) + result = self.createContainer(**kwargs) self.logger.debug("Result: %r", result) @@ -1190,6 +1198,13 @@ def handler(self, target, opts=None): userdata=opts.get('userdata', None), ) + # need brew instrumentation to be completed to know where we will get this from + traceparent = '' + if traceparent: + kwargs.update({ + 'traceparent': traceparent, + }) + result = self.createSourceContainer(**kwargs) self.logger.debug("Result: %r", result) diff --git a/requirements.txt b/requirements.txt index 13e3262..c4b9492 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ jsonschema six koji>=1.26 +otel-extensions