|
|
b725d69 |
From 7cef29d843fabce5abab317303e9016c91414913 Mon Sep 17 00:00:00 2001
|
|
|
b725d69 |
From: Ondrej Nosek <onosek@redhat.com>
|
|
|
b725d69 |
Date: Fri, 24 May 2019 11:21:34 +0200
|
|
|
b725d69 |
Subject: [PATCH] Show nvr in container-build
|
|
|
b725d69 |
|
|
|
b725d69 |
JIRA: COMPOSE-3481
|
|
|
b725d69 |
|
|
|
b725d69 |
Signed-off-by: Ondrej Nosek <onosek@redhat.com>
|
|
|
b725d69 |
---
|
|
|
b725d69 |
pyrpkg/__init__.py | 42 ++++++++++++++++++++++++++++++++++--------
|
|
|
b725d69 |
1 file changed, 34 insertions(+), 8 deletions(-)
|
|
|
b725d69 |
|
|
|
b725d69 |
diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
|
|
|
b725d69 |
index 291b9ac..0348420 100644
|
|
|
b725d69 |
--- a/pyrpkg/__init__.py
|
|
|
b725d69 |
+++ b/pyrpkg/__init__.py
|
|
|
b725d69 |
@@ -3036,6 +3036,39 @@ class Commands(object):
|
|
|
b725d69 |
# Run the command
|
|
|
b725d69 |
self._run_command(cmd, shell=True)
|
|
|
b725d69 |
|
|
|
b725d69 |
+ def _process_koji_task_result(self, task_id):
|
|
|
b725d69 |
+ """
|
|
|
b725d69 |
+ Parse and modify output from brew/koji containing information about
|
|
|
b725d69 |
+ task (and eventually builds).
|
|
|
b725d69 |
+
|
|
|
b725d69 |
+ :param int task_id: id of the current task
|
|
|
b725d69 |
+ :return: record containing information about repositories, builds and nvrs
|
|
|
b725d69 |
+ :rtype: dict(str, str)
|
|
|
b725d69 |
+ """
|
|
|
b725d69 |
+ koji_result = self.kojisession.getTaskResult(task_id)
|
|
|
b725d69 |
+ if not koji_result:
|
|
|
b725d69 |
+ raise rpkgError('Unknown task: %s' % task_id)
|
|
|
b725d69 |
+ koji_builds = koji_result.get("koji_builds", [])
|
|
|
b725d69 |
+ koji_result["koji_builds"] = []
|
|
|
b725d69 |
+
|
|
|
b725d69 |
+ for build_id in koji_builds:
|
|
|
b725d69 |
+ try:
|
|
|
b725d69 |
+ build_id = int(build_id)
|
|
|
b725d69 |
+ except ValueError:
|
|
|
b725d69 |
+ raise rpkgError("Can not convert 'build_id' to integer: %s" % build_id)
|
|
|
b725d69 |
+
|
|
|
b725d69 |
+ bdata = self.kojisession.getBuild(build_id)
|
|
|
b725d69 |
+ if not bdata:
|
|
|
b725d69 |
+ raise rpkgError('Unknown build: %s' % build_id)
|
|
|
b725d69 |
+ nvr = bdata.get("nvr")
|
|
|
b725d69 |
+ if nvr:
|
|
|
b725d69 |
+ koji_result.setdefault("nvrs", []).append(nvr)
|
|
|
b725d69 |
+
|
|
|
b725d69 |
+ koji_result["koji_builds"].append(
|
|
|
b725d69 |
+ "%s/buildinfo?buildID=%d" % (self.kojiweburl, build_id))
|
|
|
b725d69 |
+
|
|
|
b725d69 |
+ return koji_result
|
|
|
b725d69 |
+
|
|
|
b725d69 |
def container_build_koji(self, target_override=False, opts={},
|
|
|
b725d69 |
kojiconfig=None, kojiprofile=None,
|
|
|
b725d69 |
build_client=None,
|
|
|
b725d69 |
@@ -3105,14 +3138,7 @@ class Commands(object):
|
|
|
b725d69 |
if not nowait:
|
|
|
b725d69 |
rv = koji_task_watcher(self.kojisession, [task_id])
|
|
|
b725d69 |
if rv == 0:
|
|
|
b725d69 |
- result = self.kojisession.getTaskResult(task_id)
|
|
|
b725d69 |
- try:
|
|
|
b725d69 |
- result["koji_builds"] = [
|
|
|
b725d69 |
- "%s/buildinfo?buildID=%s" % (self.kojiweburl,
|
|
|
b725d69 |
- build_id)
|
|
|
b725d69 |
- for build_id in result.get("koji_builds", [])]
|
|
|
b725d69 |
- except TypeError:
|
|
|
b725d69 |
- pass
|
|
|
b725d69 |
+ result = self._process_koji_task_result(task_id)
|
|
|
b725d69 |
log_result(self.log.info, result)
|
|
|
b725d69 |
|
|
|
b725d69 |
finally:
|
|
|
b725d69 |
--
|
|
|
b725d69 |
2.20.1
|
|
|
b725d69 |
|