From dad4500397c111eb25cdeebd7623683e309417eb Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Thu, 3 Aug 2017 14:26:42 -0400 Subject: [PATCH 1/2] Some improved logging for the content generator. We failed with an error on the first try today, but not enough logging to figure out why. This adds more. --- module_build_service/builder/KojiContentGenerator.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/module_build_service/builder/KojiContentGenerator.py b/module_build_service/builder/KojiContentGenerator.py index 078cc1f8..6fe61537 100644 --- a/module_build_service/builder/KojiContentGenerator.py +++ b/module_build_service/builder/KojiContentGenerator.py @@ -318,12 +318,15 @@ class KojiContentGenerator(object): """ prepdir = tempfile.mkdtemp(prefix="koji-cg-import") mmd_path = os.path.join(prepdir, "modulemd.yaml") + log.info("Writing modulemd.yaml to %r" % mmd_path) with open(mmd_path, "w") as mmd_f: mmd_f.write(self.mmd) log_path = os.path.join(prepdir, "build.log") try: - shutil.copy(build_logs.path(self.module.id), log_path) + source = build_logs.path(self.module.id) + log.info("Moving logs from %r to %r" % (source, log_path)) + shutil.copy(source, log_path) except IOError as e: log.exception(e) return prepdir @@ -339,8 +342,8 @@ class KojiContentGenerator(object): metadata = self._get_content_generator_metadata(file_dir) try: build_info = session.CGImport(metadata, file_dir) - log.debug("Content generator import done: %s", - json.dumps(build_info, sort_keys=True, indent=4)) + log.info("Content generator import done.") + log.debug(json.dumps(build_info, sort_keys=True, indent=4)) except Exception as e: log.exception("Content generator import failed: %s", e) raise e From cbb75d34e6bc475969fd70bc9be01f38e1b9bf02 Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Thu, 3 Aug 2017 14:27:26 -0400 Subject: [PATCH 2/2] Also, only remove the dir if we succeed in passing the buck to koji. --- module_build_service/builder/KojiContentGenerator.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/module_build_service/builder/KojiContentGenerator.py b/module_build_service/builder/KojiContentGenerator.py index 6fe61537..079c766b 100644 --- a/module_build_service/builder/KojiContentGenerator.py +++ b/module_build_service/builder/KojiContentGenerator.py @@ -344,8 +344,11 @@ class KojiContentGenerator(object): build_info = session.CGImport(metadata, file_dir) log.info("Content generator import done.") log.debug(json.dumps(build_info, sort_keys=True, indent=4)) + + # Only remove the logs if CG import was successful. If it fails, + # then we want to keep them around for debugging. + log.info("Removing %r" % file_dir) + shutil.rmtree(file_dir) except Exception as e: log.exception("Content generator import failed: %s", e) raise e - finally: - shutil.rmtree(file_dir)