From f0fad44b5d3412040864b9346fa6db1c1ea5b321 Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Jan 19 2018 10:38:12 +0000 Subject: Do not request ODCS pulp compose for FAILED builds --- diff --git a/freshmaker/handlers/errata/errata_advisory_rpms_signed.py b/freshmaker/handlers/errata/errata_advisory_rpms_signed.py index f969d40..beec582 100644 --- a/freshmaker/handlers/errata/errata_advisory_rpms_signed.py +++ b/freshmaker/handlers/errata/errata_advisory_rpms_signed.py @@ -528,32 +528,33 @@ class ErrataAdvisoryRPMsSignedHandler(ContainerBuildHandler): db.session.commit() - # Store odcs pulp compose to build - compose = self._prepare_pulp_repo( - build.event, image["content_sets"]) - db_compose = Compose(odcs_compose_id=compose['id']) - db.session.add(db_compose) - db.session.commit() - build.add_composes(db.session, [db_compose]) - - # TODO: uncomment following code after boot.iso compose is - # deployed in ODCS server. -# if image.is_base_image: -# compose = self._request_boot_iso_compose(image) -# if compose is None: -# log.error( -# 'Failed to request boot.iso compose for base ' -# 'image %s.', nvr) -# build.transition( -# ArtifactBuildState.FAILED.value, -# 'Cannot rebuild this base image because failed to ' -# 'requeset boot.iso compose.') -# # FIXME: mark all builds associated with build.event FAILED? -# else: -# db_compose = Compose(odcs_compose_id=compose['id']) -# db.session.add(db_compose) -# db.session.commit() -# build.add_composes(db.session, [db_compose]) + if state != ArtifactBuildState.FAILED.value: + # Store odcs pulp compose to build + compose = self._prepare_pulp_repo( + build.event, image["content_sets"]) + db_compose = Compose(odcs_compose_id=compose['id']) + db.session.add(db_compose) + db.session.commit() + build.add_composes(db.session, [db_compose]) + + # TODO: uncomment following code after boot.iso compose is + # deployed in ODCS server. +# if image.is_base_image: +# compose = self._request_boot_iso_compose(image) +# if compose is None: +# log.error( +# 'Failed to request boot.iso compose for base ' +# 'image %s.', nvr) +# build.transition( +# ArtifactBuildState.FAILED.value, +# 'Cannot rebuild this base image because failed to ' +# 'requeset boot.iso compose.') +# # FIXME: mark all builds associated with build.event FAILED? +# else: +# db_compose = Compose(odcs_compose_id=compose['id']) +# db.session.add(db_compose) +# db.session.commit() +# build.add_composes(db.session, [db_compose]) builds[nvr] = build diff --git a/tests/test_errata_advisory_state_changed.py b/tests/test_errata_advisory_state_changed.py index e5a0e91..8578bee 100644 --- a/tests/test_errata_advisory_state_changed.py +++ b/tests/test_errata_advisory_state_changed.py @@ -1264,6 +1264,9 @@ class TestRecordBatchesImages(unittest.TestCase): original_nvr='rhel-server-docker-7.3-82').first() self.assertEqual(ArtifactBuildState.FAILED.value, build.state) + # Pulp repo should not be prepared for FAILED build. + self.mock_prepare_pulp_repo.assert_not_called() + class TestPrepareYumReposForRebuilds(unittest.TestCase): """Test ErrataAdvisoryRPMsSignedHandler._prepare_yum_repos_for_rebuilds"""