Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py", line 654, in cli_main
main()
File "/usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py", line 343, in main
latest_link_components=latest_link_components,
File "/usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py", line 373, in run_compose
compose.read_variants()
File "/usr/lib/python3.6/site-packages/pungi/compose.py", line 381, in read_variants
shutil.rmtree(tmp_dir)
File "/usr/lib64/python3.6/shutil.py", line 490, in rmtree
onerror(os.rmdir, path, sys.exc_info())
File "/usr/lib64/python3.6/shutil.py", line 488, in rmtree
os.rmdir(path)
OSError: [Errno 39] Directory not empty: '/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0/work/global/tmp/variants_file_5mwcfbl3'
Frame rmtree in /usr/lib64/python3.6/shutil.py at line 488
481 except Exception:
482 onerror(os.lstat, path, sys.exc_info())
483 return
484 try:
485 if os.path.samestat(orig_st, os.fstat(fd)):
486 _rmtree_safe_fd(fd, path, onerror)
487 try:
--> 488 os.rmdir(path)
489 except OSError:
490 onerror(os.rmdir, path, sys.exc_info())
491 else:
492 try:
493 # symlinks to directories are forbidden, see bug #1669
494 raise OSError("Cannot call rmtree on a symbolic link")
fd = 8
ignore_errors = False
onerror = .onerror at 0x7f40f6096510>
orig_st =
path = '/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0/work/global/tmp/variants_file_5mwcfbl3'
Frame rmtree in /usr/lib64/python3.6/shutil.py at line 490
483 return
484 try:
485 if os.path.samestat(orig_st, os.fstat(fd)):
486 _rmtree_safe_fd(fd, path, onerror)
487 try:
488 os.rmdir(path)
489 except OSError:
--> 490 onerror(os.rmdir, path, sys.exc_info())
491 else:
492 try:
493 # symlinks to directories are forbidden, see bug #1669
494 raise OSError("Cannot call rmtree on a symbolic link")
495 except OSError:
496 onerror(os.path.islink, path, sys.exc_info())
fd = 8
ignore_errors = False
onerror = .onerror at 0x7f40f6096510>
orig_st =
path = '/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0/work/global/tmp/variants_file_5mwcfbl3'
Frame read_variants in /usr/lib/python3.6/site-packages/pungi/compose.py at line 381
374 file_name = os.path.basename(scm_dict)
375 scm_dict = os.path.join(self.config_dir, os.path.basename(scm_dict))
376
377 self.log_debug("Writing variants file: %s", variants_file)
378 tmp_dir = self.mkdtemp(prefix="variants_file_")
379 get_file_from_scm(scm_dict, tmp_dir, compose=self)
380 shutil.copy2(os.path.join(tmp_dir, file_name), variants_file)
--> 381 shutil.rmtree(tmp_dir)
382
383 tree_arches = self.conf.get("tree_arches", None)
384 tree_variants = self.conf.get("tree_variants", None)
385 with open(variants_file, "r") as file_obj:
386 parser = VariantsXmlParser(
387 file_obj, tree_arches, tree_variants, logger=self._logger
file_name = 'variants.xml'
scm_dict = '/root/opencloudos/compose/pungi-opencloudos/variants.xml'
self =
self._logger =
self._status_file = '/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0/STATUS'
self.all_variants = {}
self.attempted_deliverables = {}
self.cache_region =
self.ci_base =
self.compose_date = '20251126'
self.compose_id = 'OpenCloudOS-9.4-updates-20251126.0'
self.compose_label = 'RC-9.4'
self.compose_label_major_version = 'RC-9'
self.compose_respin = 0
self.compose_type = 'production'
self.compose_type_suffix = ''
self.conf = {'RELEASE_NAME': 'OpenCloudOS', 'RELEASE_SHORT': 'OpenCloudOS', 'RELEASE_VERSION': '9.4', 'PKGSET_KOJI_TAG': 'dist-oc9-compose', 'RUNROOT_CHANNEL': 'image', 'RUNROOT_TAG': 'dist-oc9-build', 'RELEASE_V
self.config_dir = '/root/opencloudos/compose/pungi-opencloudos'
self.containers_metadata = {}
self.failed_deliverables = {}
self.has_comps = True
self.has_module_defaults = False
self.im =
self.image_release = '9.4'
self.image_version = '9.4'
self.just_phases = []
self.koji_event = None
self.notifier =
self.old_composes = ['/mnt/koji/compose/9/9.4']
self.paths =
self.required_deliverables = {}
self.should_create_yum_database = True
self.skip_phases = ['buildinstall', 'createiso', 'extra_isos', 'productimg']
self.status_file = '/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0/STATUS'
self.supported = True
self.topdir = '/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0'
self.variants = {}
tmp_dir = '/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0/work/global/tmp/variants_file_5mwcfbl3'
variants_file = '/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0/work/global/variants.xml'
Frame run_compose in /usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py at line 373
366 compose.log_info("User name: %s" % getpass.getuser())
367 compose.log_info("Working directory: %s" % os.getcwd())
368 compose.log_info(
369 "Command line: %s" % " ".join([shlex_quote(arg) for arg in sys.argv])
370 )
371 compose.log_info("Compose top directory: %s" % compose.topdir)
372 compose.log_info("Current timezone offset: %s" % pungi.util.get_tz_offset())
--> 373 compose.read_variants()
374
375 # dump the config file
376 config_copy_path = os.path.join(compose.paths.log.topdir(), "config-copy")
377 if not os.path.exists(config_copy_path):
378 os.makedirs(config_copy_path)
379 for config_file in compose.conf.opened_files:
compose =
create_latest_link = True
errors = []
latest_link_components = -1
latest_link_status = None
pungi =
Frame main in /usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py at line 343
336 notifier.compose = compose
337 COMPOSE = compose
338 try:
339 run_compose(
340 compose,
341 create_latest_link=create_latest_link,
342 latest_link_status=latest_link_status,
--> 343 latest_link_components=latest_link_components,
344 )
345 except UnsignedPackagesError:
346 # There was an unsigned package somewhere. It is not safe to reuse any
347 # package set from this compose (since we could leak the unsigned
348 # package). Let's make sure all reuse files are deleted.
349 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 0x7f40e7cd8ea0>
compose =
compose_dir = '/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0'
compose_type = 'production'
conf = {'RELEASE_NAME': 'OpenCloudOS', 'RELEASE_SHORT': 'OpenCloudOS', 'RELEASE_VERSION': '9.4', 'PKGSET_KOJI_TAG': 'dist-oc9-compose', 'RUNROOT_CHANNEL': 'image', 'RUNROOT_TAG': 'dist-oc9-build', 'RELEASE_V
create_latest_link = True
errors = []
fail_to_start = .fail_to_start at 0x7f40e7cd8e18>
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/oc-updates.conf', just_phase=[], koji_event=None, label='RC-9.4', latest_link_components=-1,
parser = ArgumentParser(prog='pungi-koji', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)
productmd =
pungi =
warning = 'WARNING: Unrecognized config option: EXTRA_ISOS_ARCHES.'
warnings = ["WARNING: Config option runroot was removed and has no effect; remove it. Please specify 'runroot_method' if you want to enable runroot, otherwise run things locally.", 'WARNING: Config option bootab
Frame cli_main in /usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py at line 654
647
648
649 def cli_main():
650 signal.signal(signal.SIGINT, sigterm_handler)
651 signal.signal(signal.SIGTERM, sigterm_handler)
652
653 try:
--> 654 main()
655 except (Exception, KeyboardInterrupt) as ex:
656 if COMPOSE:
657 tb_path = COMPOSE.paths.log.log_file("global", "traceback")
658 COMPOSE.log_error("Compose run failed: %s" % ex)
659 COMPOSE.log_error("Extended traceback in: %s" % tb_path)
660 COMPOSE.log_critical("Compose failed: %s" % COMPOSE.topdir)
ex = OSError(39, 'Directory not empty')
f = <_io.BufferedWriter name='/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0/logs/global/traceback.global.log'>
kobo =
tb_path = '/mnt/koji/compose/9/9.4/OpenCloudOS-9.4-updates-20251126.0/logs/global/traceback.global.log'