Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py", line 648, in cli_main main() File "/usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py", line 338, in main latest_link_components=latest_link_components, File "/usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py", line 494, in run_compose pkgset_phase.start() File "/usr/lib/python3.6/site-packages/pungi/phases/base.py", line 63, in start self.run() File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/__init__.py", line 36, in run self.package_sets, self.path_prefix = SourceClass(self.compose)() File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/sources/source_koji.py", line 194, in __call__ self.compose, self.koji_wrapper, path_prefix File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/sources/source_koji.py", line 201, in get_pkgset_from_koji return populate_global_pkgset(compose, koji_wrapper, path_prefix, event_info) File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/sources/source_koji.py", line 870, in populate_global_pkgset include_packages=modular_packages, File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/pkgsets.py", line 667, in populate result = self.read_packages(result_rpms, result_srpms) File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/pkgsets.py", line 203, in read_packages self.raise_invalid_sigkeys_exception(self._invalid_sigkey_rpms) File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/pkgsets.py", line 172, in raise_invalid_sigkeys_exception "\n".join(get_error(k, v) for k, v in rpminfos.items()) pungi.errors.UnsignedPackagesError: RPM(s) not found for sigs: ('3ABD50D2',). Check log for details. Unsigned packages: python-oslo-utils-6.0.1-5.oc9 python-oslo-utils-lang-6.0.1-5.oc9 python3-oslo-utils-6.0.1-5.oc9 python3-oslo-utils-tests-6.0.1-5.oc9 Frame raise_invalid_sigkeys_exception in /usr/lib/python3.6/site-packages/pungi/phases/pkgset/pkgsets.py at line 172 165 "\n".join(sorted(set(nvr_formatter(rpminfo) for rpminfo in infos))), 166 ) 167 ) 168 169 if not isinstance(rpminfos, dict): 170 rpminfos = {self.sigkey_ordering: rpminfos} 171 raise UnsignedPackagesError( --> 172 "\n".join(get_error(k, v) for k, v in rpminfos.items()) 173 ) 174 175 def read_packages(self, rpms, srpms): 176 srpm_pool = ReaderPool(self, self._logger) 177 rpm_pool = ReaderPool(self, self._logger) 178 get_error = .get_error at 0x7fd3c4140378> nvr_formatter = .nvr_formatter at 0x7fd3c428fea0> rpminfos = {('3ABD50D2',): [{'arch': 'src', 'build_id': 19869, 'buildroot_id': 64315, 'buildtime': 1704680000, 'epoch': None, 'extra': None, 'id': 158946, 'metadata_only': False, 'name': 'python-oslo-utils', 'pa self = self._allow_invalid_sigkeys = False self._invalid_sigkey_rpms = [{'arch': 'src', 'build_id': 19869, 'buildroot_id': 64315, 'buildtime': 1704680000, 'epoch': None, 'extra': None, 'id': 158946, 'metadata_only': False, 'name': 'python-oslo-utils', 'payloadhash': '508 self._logger = self.arches = {'noarch', 'src', 'aarch64', 'x86_64'} self.cache_region = self.extra_builds = [] self.extra_tasks = [] self.file_cache = self.invalid_sigkey_rpms = [{'arch': 'src', 'build_id': 19869, 'buildroot_id': 64315, 'buildtime': 1704680000, 'epoch': None, 'extra': None, 'id': 158946, 'metadata_only': False, 'name': 'python-oslo-utils', 'payloadhash': '508 self.koji_proxy = self.koji_wrapper = self.name = 'dist-oc9-epol-compose' self.old_file_cache = self.packages = {'game-music-emu-devel', 'octave-devel', 'uwsgi-transformation-toupper', 'python3-castellan', 'erlang-tools', 'firefox', 'libradospp-devel', 'mercurial-chg', 'gl2ps-devel', 'openstack-dashboard', 'arp self.populate_only_packages = False self.reuse = None self.rpms_by_arch = {'src': [python-bleach-6.0.0-5.oc9.src.rpm, python-sphinxcontrib-spelling-7.4.0-1.oc9.src.rpm, perl-Config-General-2.65-3.oc9.src.rpm, python-hypothesis-6.87.0-2.oc9.src.rpm, python-parsedatetime-2.6- self.sigkey_ordering = '3ABD50D2' self.signed_packages_retries = 1 self.signed_packages_wait = 30 self.srpms_by_name = {'python-bleach-6.0.0-5.oc9.src.rpm': python-bleach-6.0.0-5.oc9.src.rpm, 'python-sphinxcontrib-spelling-7.4.0-1.oc9.src.rpm': python-sphinxcontrib-spelling-7.4.0-1.oc9.src.rpm, 'perl-Config-General-2. Frame read_packages in /usr/lib/python3.6/site-packages/pungi/phases/pkgset/pkgsets.py at line 203 196 197 self.log_debug("Package set: spawning %s worker threads (RPMs)" % thread_count) 198 rpm_pool.start() 199 rpm_pool.stop() 200 self.log_debug("Package set: worker threads stopped (RPMs)") 201 202 if not self._allow_invalid_sigkeys and self._invalid_sigkey_rpms: --> 203 self.raise_invalid_sigkeys_exception(self._invalid_sigkey_rpms) 204 205 return self.rpms_by_arch 206 207 def subset(self, primary_arch, arch_list, exclusive_noarch=True): 208 """Create a subset of this package set that only includes 209 packages compatible with""" i = 9 rpm_pool = rpms = [({'arch': 'x86_64', 'build_id': 20250, 'buildroot_id': 66774, 'buildtime': 1706149726, 'epoch': None, 'extra': None, 'id': 166755, 'metadata_only': False, 'name': 'dotnet-hostfxr-6.0', 'payloadhash': self = self._allow_invalid_sigkeys = False self._invalid_sigkey_rpms = [{'arch': 'src', 'build_id': 19869, 'buildroot_id': 64315, 'buildtime': 1704680000, 'epoch': None, 'extra': None, 'id': 158946, 'metadata_only': False, 'name': 'python-oslo-utils', 'payloadhash': '508 self._logger = self.arches = {'noarch', 'src', 'aarch64', 'x86_64'} self.cache_region = self.extra_builds = [] self.extra_tasks = [] self.file_cache = self.invalid_sigkey_rpms = [{'arch': 'src', 'build_id': 19869, 'buildroot_id': 64315, 'buildtime': 1704680000, 'epoch': None, 'extra': None, 'id': 158946, 'metadata_only': False, 'name': 'python-oslo-utils', 'payloadhash': '508 self.koji_proxy = self.koji_wrapper = self.name = 'dist-oc9-epol-compose' self.old_file_cache = self.packages = {'game-music-emu-devel', 'octave-devel', 'uwsgi-transformation-toupper', 'python3-castellan', 'erlang-tools', 'firefox', 'libradospp-devel', 'mercurial-chg', 'gl2ps-devel', 'openstack-dashboard', 'arp self.populate_only_packages = False self.reuse = None self.rpms_by_arch = {'src': [python-bleach-6.0.0-5.oc9.src.rpm, python-sphinxcontrib-spelling-7.4.0-1.oc9.src.rpm, perl-Config-General-2.65-3.oc9.src.rpm, python-hypothesis-6.87.0-2.oc9.src.rpm, python-parsedatetime-2.6- self.sigkey_ordering = '3ABD50D2' self.signed_packages_retries = 1 self.signed_packages_wait = 30 self.srpms_by_name = {'python-bleach-6.0.0-5.oc9.src.rpm': python-bleach-6.0.0-5.oc9.src.rpm, 'python-sphinxcontrib-spelling-7.4.0-1.oc9.src.rpm': python-sphinxcontrib-spelling-7.4.0-1.oc9.src.rpm, 'perl-Config-General-2. srpm_pool = srpms = [({'arch': 'src', 'build_id': 20250, 'buildroot_id': 66774, 'buildtime': 1706149569, 'epoch': None, 'extra': None, 'id': 166754, 'metadata_only': False, 'name': 'dotnet6.0', 'payloadhash': 'e35d44329c thread_count = 10 Frame populate in /usr/lib/python3.6/site-packages/pungi/phases/pkgset/pkgsets.py at line 667 660 661 if skipped_packages_count: 662 self.log_debug( 663 "Skipped %d packages, not marked as to be " 664 "included in a compose." % skipped_packages_count 665 ) 666 --> 667 result = self.read_packages(result_rpms, result_srpms) 668 669 # Check that after reading the packages, every package that is 670 # included in a compose has the right sigkey. 671 if self._invalid_sigkey_rpms: 672 invalid_sigkey_rpms = [ 673 rpm for rpm in self._invalid_sigkey_rpms if rpm["name"] in self.packages build_id = 16751 build_info = {'build_id': 20133, 'completion_time': '2024-01-25 20:31:57.976321+08:00', 'create_event': 299894, 'creation_event_id': 299740, 'creation_time': '2024-01-25 19:29:03.432019+08:00', 'epoch': None, 'id' build_name = 'argon2' builds = [{'build_id': 20962, 'completion_time': '2024-02-19 20:06:00.981751+08:00', 'create_event': 330664, 'creation_event_id': 330653, 'creation_time': '2024-02-19 20:03:12.650155+08:00', 'epoch': None, 'id builds_by_id = {20962: {'build_id': 20962, 'completion_time': '2024-02-19 20:06:00.981751+08:00', 'create_event': 330664, 'creation_event_id': 330653, 'creation_time': '2024-02-19 20:03:12.650155+08:00', 'epoch': No event = 330667 exclude_build_id = [] extra_builds = [] extra_builds_by_name = {} extra_rpms = [] include_packages = set() inherit = True msg = 'Getting latest RPMs (tag: dist-oc9-epol-compose, event: 330667, inherit: True)' result_rpms = [({'arch': 'x86_64', 'build_id': 20250, 'buildroot_id': 66774, 'buildtime': 1706149726, 'epoch': None, 'extra': None, 'id': 166755, 'metadata_only': False, 'name': 'dotnet-hostfxr-6.0', 'payloadhash': result_srpms = [({'arch': 'src', 'build_id': 20250, 'buildroot_id': 66774, 'buildtime': 1706149569, 'epoch': None, 'extra': None, 'id': 166754, 'metadata_only': False, 'name': 'dotnet6.0', 'payloadhash': 'e35d44329c rpm_info = {'arch': 'src', 'build_id': 20133, 'buildroot_id': 66998, 'buildtime': 1706182191, 'epoch': None, 'extra': None, 'id': 167103, 'metadata_only': False, 'name': 'dotnet7.0', 'payloadhash': 'c6574cec292f rpms = [{'arch': 'src', 'build_id': 20250, 'buildroot_id': 66774, 'buildtime': 1706149569, 'epoch': None, 'extra': None, 'id': 166754, 'metadata_only': False, 'name': 'dotnet6.0', 'payloadhash': 'e35d44329c0 self = self._allow_invalid_sigkeys = False self._invalid_sigkey_rpms = [{'arch': 'src', 'build_id': 19869, 'buildroot_id': 64315, 'buildtime': 1704680000, 'epoch': None, 'extra': None, 'id': 158946, 'metadata_only': False, 'name': 'python-oslo-utils', 'payloadhash': '508 self._logger = self.arches = {'noarch', 'src', 'aarch64', 'x86_64'} self.cache_region = self.extra_builds = [] self.extra_tasks = [] self.file_cache = self.invalid_sigkey_rpms = [{'arch': 'src', 'build_id': 19869, 'buildroot_id': 64315, 'buildtime': 1704680000, 'epoch': None, 'extra': None, 'id': 158946, 'metadata_only': False, 'name': 'python-oslo-utils', 'payloadhash': '508 self.koji_proxy = self.koji_wrapper = self.name = 'dist-oc9-epol-compose' self.old_file_cache = self.packages = {'game-music-emu-devel', 'octave-devel', 'uwsgi-transformation-toupper', 'python3-castellan', 'erlang-tools', 'firefox', 'libradospp-devel', 'mercurial-chg', 'gl2ps-devel', 'openstack-dashboard', 'arp self.populate_only_packages = False self.reuse = None self.rpms_by_arch = {'src': [python-bleach-6.0.0-5.oc9.src.rpm, python-sphinxcontrib-spelling-7.4.0-1.oc9.src.rpm, perl-Config-General-2.65-3.oc9.src.rpm, python-hypothesis-6.87.0-2.oc9.src.rpm, python-parsedatetime-2.6- self.sigkey_ordering = '3ABD50D2' self.signed_packages_retries = 1 self.signed_packages_wait = 30 self.srpms_by_name = {'python-bleach-6.0.0-5.oc9.src.rpm': python-bleach-6.0.0-5.oc9.src.rpm, 'python-sphinxcontrib-spelling-7.4.0-1.oc9.src.rpm': python-sphinxcontrib-spelling-7.4.0-1.oc9.src.rpm, 'perl-Config-General-2. skipped_arches = [] skipped_packages_count = 0 tag = 'dist-oc9-epol-compose' Frame populate_global_pkgset in /usr/lib/python3.6/site-packages/pungi/phases/pkgset/sources/source_koji.py at line 870 863 ) 864 865 if pkgset.reuse is None: 866 pkgset.populate( 867 compose_tag, 868 event, 869 inherit=should_inherit, --> 870 include_packages=modular_packages, 871 ) 872 for variant in compose.all_variants.values(): 873 if compose_tag in variant_tags[variant]: 874 875 # If it's a modular tag, store the package set for the module. 876 for nsvc, koji_tag in variant.module_uid_to_koji_tag.items(): all_arches = {'noarch', 'src', 'aarch64', 'x86_64'} allow_invalid_sigkeys = False compose = compose_tag = 'dist-oc9-epol-compose' compose_tags = ['dist-oc9-epol-compose'] event = {'id': 330667, 'ts': 1708344414.563459} exclude_module_ns = [] extra_builds = [] extra_modules = [] extra_tasks = [] groups = [] inherit = True inherit_modules = False is_traditional = True koji_wrapper = modular_koji_tags = [] modular_packages = set() old_cache_path = '/mnt/koji/compose/9/EPOL-9-20240129.1/work/global/pkgset_dist-oc9-epol-compose_file_cache.pickle' packages_to_gather = ['game-music-emu-devel', 'octave-devel', 'uwsgi-transformation-toupper', 'erlang-tools', 'python3-castellan', 'firefox', 'libradospp-devel', 'mercurial-chg', 'gl2ps-devel', 'arpack', 'openstack-dashbo path_prefix = '/mnt/koji/' pkgset = pkgset_koji_tags = ['dist-oc9-epol-compose'] pkgsets = [] populate_only_packages_to_gather = False should_inherit = True tag_to_mmd = {} variant = Variant(id="Everything", name="Everything", type="variant", parent=None) variant_scratch_modules = [] variant_tags = {Variant(id="Everything", name="Everything", type="variant", parent=None): ['dist-oc9-epol-compose']} Frame get_pkgset_from_koji in /usr/lib/python3.6/site-packages/pungi/phases/pkgset/sources/source_koji.py at line 201 194 self.compose, self.koji_wrapper, path_prefix 195 ) 196 return (package_sets, path_prefix) 197 198 199 def get_pkgset_from_koji(compose, koji_wrapper, path_prefix): 200 event_info = get_koji_event_info(compose, koji_wrapper) --> 201 return populate_global_pkgset(compose, koji_wrapper, path_prefix, event_info) 202 203 204 def _add_module_to_variant( 205 koji_wrapper, 206 variant, 207 build, compose = event_info = {'id': 330667, 'ts': 1708344414.563459} koji_wrapper = path_prefix = '/mnt/koji/' Frame __call__ in /usr/lib/python3.6/site-packages/pungi/phases/pkgset/sources/source_koji.py at line 194 187 def __call__(self): 188 compose = self.compose 189 koji_profile = compose.conf["koji_profile"] 190 self.koji_wrapper = pungi.wrappers.kojiwrapper.KojiWrapper(koji_profile) 191 # path prefix must contain trailing '/' 192 path_prefix = self.koji_wrapper.koji_module.config.topdir.rstrip("/") + "/" 193 package_sets = get_pkgset_from_koji( --> 194 self.compose, self.koji_wrapper, path_prefix 195 ) 196 return (package_sets, path_prefix) 197 198 199 def get_pkgset_from_koji(compose, koji_wrapper, path_prefix): 200 event_info = get_koji_event_info(compose, koji_wrapper) compose = koji_profile = 'koji' path_prefix = '/mnt/koji/' self = self.compose = self.koji_wrapper = Frame run in /usr/lib/python3.6/site-packages/pungi/phases/pkgset/__init__.py at line 36 29 self.path_prefix = None 30 31 def run(self): 32 from . import sources 33 34 SourceClass = sources.ALL_SOURCES[self.compose.conf["pkgset_source"].lower()] 35 --> 36 self.package_sets, self.path_prefix = SourceClass(self.compose)() 37 38 def validate(self): 39 extra_tasks = self.compose.conf.get("pkgset_koji_scratch_tasks", None) 40 sigkeys = tuple(self.compose.conf["sigkeys"] or [None]) 41 if extra_tasks is not None and None not in sigkeys and "" not in sigkeys: 42 raise ValueError( SourceClass = self = self._skipped = False self.compose = self.finished = False self.msg = '---------- PHASE: PKGSET ----------' self.name = 'pkgset' self.package_sets = [] self.path_prefix = None self.used_patterns = None sources = Frame start in /usr/lib/python3.6/site-packages/pungi/phases/base.py at line 63 56 self._skipped = self.skip() 57 if self._skipped: 58 self.compose.log_warning("[SKIP ] %s" % self.msg) 59 self.finished = True 60 return 61 self.compose.log_info("[BEGIN] %s" % self.msg) 62 self.compose.notifier.send("phase-start", phase_name=self.name) --> 63 self.run() 64 65 def get_config_block(self, variant, arch=None): 66 """In config for current phase, find a block corresponding to given 67 variant and arch. The arch should be given if and only if the config 68 uses variant/arch mapping. 69 """ self = self._skipped = False self.compose = self.finished = False self.msg = '---------- PHASE: PKGSET ----------' self.name = 'pkgset' self.package_sets = [] self.path_prefix = None self.used_patterns = None Frame run_compose in /usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py at line 494 487 break 488 else: 489 print("Not in RV_SPECAIL") 490 491 init_phase.start() 492 init_phase.stop() 493 --> 494 pkgset_phase.start() 495 pkgset_phase.stop() 496 497 # WEAVER phase - launches other phases which can safely run in parallel 498 essentials_schema = ( 499 buildinstall_phase, 500 (gather_phase, createrepo_phase), buildinstall_phase = combination = compose = config_copy_path = '/mnt/koji/compose/9/EPOL-9-20240219.0/logs/global/config-copy' config_dump_full = '/mnt/koji/compose/9/EPOL-9-20240219.0/logs/global/config-dump.global.log' config_file = '/root/opencloudos/compose/pungi-opencloudos/EPOL.conf' create_latest_link = True createiso_phase = createrepo_phase = errors = [] extra_isos_phase = extrafiles_phase = f = <_io.TextIOWrapper name='/mnt/koji/compose/9/EPOL-9-20240219.0/logs/global/config-dump.global.log' mode='w' encoding='UTF-8'> gather_phase = image_build_phase = image_checksum_phase = image_container_phase = init_phase = latest_link_components = -1 latest_link_status = None liveimages_phase = livemedia_phase = osbs_phase = osbuild_phase = ostree_installer_phase = ostree_phase = phase = pkgset_phase = pungi = repoclosure_phase = test_phase = Frame main in /usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py at line 338 331 notifier.compose = compose 332 COMPOSE = compose 333 try: 334 run_compose( 335 compose, 336 create_latest_link=create_latest_link, 337 latest_link_status=latest_link_status, --> 338 latest_link_components=latest_link_components, 339 ) 340 except UnsignedPackagesError: 341 # There was an unsigned package somewhere. It is not safe to reuse any 342 # package set from this compose (since we could leak the unsigned 343 # package). Let's make sure all reuse files are deleted. 344 for fp in glob.glob(compose.paths.work.pkgset_reuse_file("*")): Compose = PHASES_NAMES_MODIFIED = ['buildinstall', 'createiso', 'createrepo', 'extra_files', 'extra_isos', 'gather', 'image_build', 'image_checksum', 'image_container', 'init', 'live_images', 'live_media', 'osbs', 'osbuild', 'ostree', abort = .abort at 0x7fd3c9a70ea0> compose = compose_dir = '/mnt/koji/compose/9/EPOL-9-20240219.0' compose_type = 'production' conf = {'release_name': 'OpenCloudOS EPOL', 'release_short': 'EPOL', 'release_version': '9', 'release_is_layered': False, 'variants_file': 'variants-EPOL.xml', 'sigkeys': ['3ABD50D2'], 'create_jigdo': False, create_latest_link = True errors = [] fail_to_start = .fail_to_start at 0x7fd3c9a70e18> group = kobo = latest_link_components = -1 latest_link_status = None logger = notifier = opts = Namespace(compose_dir=None, compose_type='production', config='/root/opencloudos/compose/pungi-opencloudos/EPOL.conf', just_phase=[], koji_event=None, label='RC-9.0', latest_link_components=-1, latest parser = ArgumentParser(prog='pungi-koji', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) productmd = pungi = warning = "WARNING: Config option release_is_layered was removed and has no effect; remove it. It's layered if there's configuration for base product." warnings = ["WARNING: Config option release_is_layered was removed and has no effect; remove it. It's layered if there's configuration for base product."] Frame cli_main in /usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py at line 648 641 642 643 def cli_main(): 644 signal.signal(signal.SIGINT, sigterm_handler) 645 signal.signal(signal.SIGTERM, sigterm_handler) 646 647 try: --> 648 main() 649 except (Exception, KeyboardInterrupt) as ex: 650 if COMPOSE: 651 tb_path = COMPOSE.paths.log.log_file("global", "traceback") 652 COMPOSE.log_error("Compose run failed: %s" % ex) 653 COMPOSE.log_error("Extended traceback in: %s" % tb_path) 654 COMPOSE.log_critical("Compose failed: %s" % COMPOSE.topdir) ex = UnsignedPackagesError("RPM(s) not found for sigs: ('3ABD50D2',). Check log for details. Unsigned packages:\npython-oslo-utils-6.0.1-5.oc9\npython-oslo-utils-lang-6.0.1-5.oc9\npython3-oslo-utils-6.0.1- f = <_io.BufferedWriter name='/mnt/koji/compose/9/EPOL-9-20240219.0/logs/global/traceback.global.log'> kobo = tb_path = '/mnt/koji/compose/9/EPOL-9-20240219.0/logs/global/traceback.global.log'