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 491, in run_compose
init_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/init.py", line 76, in run
write_prepopulate_file(self.compose)
File "/usr/lib/python3.6/site-packages/pungi/phases/gather/__init__.py", line 864, in write_prepopulate_file
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/OpenCloudOS-9.0-20240222.0/work/global/tmp/prepopulate_file_6kz_rbax'
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 0x7f63a3477950>
orig_st =
path = '/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0/work/global/tmp/prepopulate_file_6kz_rbax'
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 0x7f63a3477950>
orig_st =
path = '/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0/work/global/tmp/prepopulate_file_6kz_rbax'
Frame write_prepopulate_file in /usr/lib/python3.6/site-packages/pungi/phases/gather/__init__.py at line 864
857 file_name = os.path.basename(scm_dict)
858 scm_dict = os.path.join(compose.config_dir, os.path.basename(scm_dict))
859
860 compose.log_debug(msg)
861 tmp_dir = compose.mkdtemp(prefix="prepopulate_file_")
862 get_file_from_scm(scm_dict, tmp_dir, compose=compose)
863 shutil.copy2(os.path.join(tmp_dir, file_name), prepopulate_file)
--> 864 shutil.rmtree(tmp_dir)
865
866
867 def get_prepopulate_packages(compose, arch, variant, include_arch=True):
868 """Read prepopulate file and return list of packages for given tree.
869
870 If ``variant`` is ``None``, all variants in the file are considered. The
compose =
file_name = 'oc-packages.json'
msg = 'Writing prepopulate file: /mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0/work/global/prepopulate.json'
prepopulate_file = '/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0/work/global/prepopulate.json'
scm_dict = '/root/opencloudos/compose/pungi-opencloudos/oc-packages.json'
tmp_dir = '/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0/work/global/tmp/prepopulate_file_6kz_rbax'
Frame run in /usr/lib/python3.6/site-packages/pungi/phases/init.py at line 76
69 if self.compose.has_module_defaults:
70 write_module_defaults(self.compose)
71 validate_module_defaults(
72 self.compose.paths.work.module_defaults_dir(create_dir=False)
73 )
74
75 # write prepopulate file
--> 76 write_prepopulate_file(self.compose)
77
78
79 def _arch_worker(_, args, num):
80 compose, arch = args
81 write_arch_comps(compose, arch)
82 create_comps_repo(compose, arch, None)
global_comps = '/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0/work/global/comps/comps-global.xml'
num_workers = 8
self =
self._skipped = False
self.compose =
self.finished = False
self.msg = '---------- PHASE: INIT ----------'
self.name = 'init'
self.used_patterns = None
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: INIT ----------'
self.name = 'init'
self.used_patterns = None
Frame run_compose in /usr/lib/python3.6/site-packages/pungi/scripts/pungi_koji.py at line 491
484 if compose.conf["release_name"] == combination[0] and compose.conf["release_version"] == combination[1]:
485 print("In RV_SPECAIL?set system enviroment ENV_PUNGI_RELEASE_SPECIAL")
486 os.environ['ENV_PUNGI_RELEASE_SPECIAL'] = 'true'
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
buildinstall_phase =
combination =
compose =
config_copy_path = '/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0/logs/global/config-copy'
config_dump_full = '/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0/logs/global/config-dump.global.log'
config_file = '/root/opencloudos/compose/pungi-opencloudos/opencloudos/override.conf'
create_latest_link = True
createiso_phase =
createrepo_phase =
errors = []
extra_isos_phase =
extrafiles_phase =
f = <_io.TextIOWrapper name='/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.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 0x7f63a3e6fea0>
compose =
compose_dir = '/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0'
compose_type = 'production'
conf = {'RELEASE_NAME': 'OpenCloudOS', 'RELEASE_SHORT': 'OpenCloudOS', 'RELEASE_VERSION': '9.0', '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 0x7f63a3e6fe18>
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.conf', just_phase=[], koji_event=None, label='RC-9.0', latest_link_components=-1, latest_l
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_FILES.'
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 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 = OSError(39, 'Directory not empty')
f = <_io.BufferedWriter name='/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0/logs/global/traceback.global.log'>
kobo =
tb_path = '/mnt/koji/compose/9/OpenCloudOS-9.0-20240222.0/logs/global/traceback.global.log'