From 87cf3503ad22d09860392d5ebd160000adeb83c0 Mon Sep 17 00:00:00 2001 From: Lukas Holecek Date: Sep 01 2020 11:30:37 +0000 Subject: [PATCH 1/2] Add more logs Signed-off-by: Lukas Holecek --- diff --git a/greenwave/consumers/resultsdb.py b/greenwave/consumers/resultsdb.py index cab5ff7..ed6a20c 100644 --- a/greenwave/consumers/resultsdb.py +++ b/greenwave/consumers/resultsdb.py @@ -132,6 +132,8 @@ class ResultsDBHandler(Consumer): brew_task_id, ) + log.debug('Guessed product version: %r', product_version) + self._publish_decision_change( submit_time=submit_time, subject=subject, diff --git a/greenwave/product_versions.py b/greenwave/product_versions.py index f9b1107..8b961a1 100644 --- a/greenwave/product_versions.py +++ b/greenwave/product_versions.py @@ -44,16 +44,19 @@ def _guess_koji_build_product_version( subject_identifier, koji_proxy, koji_task_id=None): try: if not koji_task_id: + log.debug('Getting Koji task ID for build %r', subject_identifier) build = koji_proxy.getBuild(subject_identifier) or {} koji_task_id = build.get('task_id') if not koji_task_id: return None + log.debug('Getting Koji task request ID %r', koji_task_id) target = koji_proxy.getTaskRequest(koji_task_id)[1] return _guess_product_version(target, koji_build=True) - except socket.error as err: + except (xmlrpc.client.ProtocolError, socket.error) as err: raise ConnectionError('Could not reach Koji: {}'.format(err)) except xmlrpc.client.Fault: + log.exception('Unexpected Koji XML RPC fault') pass diff --git a/greenwave/resources.py b/greenwave/resources.py index 60f7bde..43b5753 100644 --- a/greenwave/resources.py +++ b/greenwave/resources.py @@ -118,6 +118,7 @@ def retrieve_scm_from_koji(nvr): """ Retrieve cached rev and namespace from koji using the nvr """ koji_url = current_app.config['KOJI_BASE_URL'] try: + log.debug('Getting Koji build %r', nvr) proxy = get_server_proxy(koji_url) build = proxy.getBuild(nvr) except (xmlrpc.client.ProtocolError, socket.error) as err: From b98437f15466b8ea0593c3a5db09995bb32bed56 Mon Sep 17 00:00:00 2001 From: Lukas Holecek Date: Sep 01 2020 13:08:52 +0000 Subject: [PATCH 2/2] Cache request to get Koji builds that's not found Signed-off-by: Lukas Holecek --- diff --git a/greenwave/resources.py b/greenwave/resources.py index 43b5753..a55cb96 100644 --- a/greenwave/resources.py +++ b/greenwave/resources.py @@ -114,13 +114,17 @@ class NoSourceException(RuntimeError): @cached +def retrieve_koji_build(nvr, koji_url): + log.debug('Getting Koji build %r', nvr) + proxy = get_server_proxy(koji_url) + return proxy.getBuild(nvr) + + def retrieve_scm_from_koji(nvr): """ Retrieve cached rev and namespace from koji using the nvr """ koji_url = current_app.config['KOJI_BASE_URL'] try: - log.debug('Getting Koji build %r', nvr) - proxy = get_server_proxy(koji_url) - build = proxy.getBuild(nvr) + build = retrieve_koji_build(nvr, koji_url) except (xmlrpc.client.ProtocolError, socket.error) as err: raise ConnectionError('Could not reach Koji: {}'.format(err)) return retrieve_scm_from_koji_build(nvr, build, koji_url)