From 18009e544ee9d22c81a0e4c6f3e85b1d8c68f83e Mon Sep 17 00:00:00 2001 From: Fabian Vogt Date: Thu, 29 Jun 2023 09:15:26 +0200 Subject: [PATCH] gocd/rabbit-openqa.py: Ignore projects without a staging setup Catch a 404 HTTPError and print an error instead of terminating. --- gocd/rabbit-openqa.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gocd/rabbit-openqa.py b/gocd/rabbit-openqa.py index aaa13309..2ac44ed3 100755 --- a/gocd/rabbit-openqa.py +++ b/gocd/rabbit-openqa.py @@ -256,9 +256,18 @@ class Listener(PubSubConsumer): # initial state self.projects_to_check = set() for project in self.projects: - self.logger.info('Fetching ISOs of %s', project.name) - for sproj in project.init(): - self.projects_to_check.add((project, sproj)) + try: + self.logger.info('Fetching ISOs of %s', project.name) + for sproj in project.init(): + self.projects_to_check.add((project, sproj)) + except HTTPError as e: + if e.code == 404: + # No staging workflow? Have to protect against "rogue" projects + self.logger.error('Failed to load staging projects') + continue + else: + raise + self.logger.info('Finished fetching initial ISOs, listening') super(Listener, self).start_consuming()