Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py", line 658, in cli_main
main()
File "/usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py", line 353, in main
run_compose(
File "/usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py", line 524, in run_compose
extra_phase.stop()
File "/usr/lib/python3.12/site-packages/pungi/phases/weaver.py", line 59, in stop
self.pool.stop()
File "/usr/lib/python3.12/site-packages/kobo/threads.py", line 120, in stop
six.reraise(exc_info[0], exc_info[1], exc_info[2])
File "/usr/lib/python3.12/site-packages/six.py", line 719, in reraise
raise value
File "/usr/lib/python3.12/site-packages/kobo/threads.py", line 67, in run
self.process(item, num)
File "/usr/lib/python3.12/site-packages/pungi/phases/weaver.py", line 81, in process
phase.stop()
File "/usr/lib/python3.12/site-packages/pungi/phases/weaver.py", line 59, in stop
self.pool.stop()
File "/usr/lib/python3.12/site-packages/kobo/threads.py", line 120, in stop
six.reraise(exc_info[0], exc_info[1], exc_info[2])
File "/usr/lib/python3.12/site-packages/six.py", line 719, in reraise
raise value
File "/usr/lib/python3.12/site-packages/kobo/threads.py", line 67, in run
self.process(item, num)
File "/usr/lib/python3.12/site-packages/pungi/phases/weaver.py", line 81, in process
phase.stop()
File "/usr/lib/python3.12/site-packages/pungi/phases/base.py", line 111, in stop
self.pool.stop()
File "/usr/lib/python3.12/site-packages/kobo/threads.py", line 120, in stop
six.reraise(exc_info[0], exc_info[1], exc_info[2])
File "/usr/lib/python3.12/site-packages/six.py", line 719, in reraise
raise value
File "/usr/lib/python3.12/site-packages/kobo/threads.py", line 67, in run
self.process(item, num)
File "/usr/lib/python3.12/site-packages/pungi/phases/osbuild.py", line 151, in process
self.worker(
File "/usr/lib/python3.12/site-packages/pungi/phases/osbuild.py", line 184, in worker
task_id = koji.koji_proxy.osbuildImage(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/koji/__init__.py", line 2541, in __call__
return self.__func(self.__name, args, opts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/koji/__init__.py", line 3125, in _renew_expired_session
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/koji/__init__.py", line 3204, in _callMethod
raise err
koji.GenericError: Invalid method: osbuildImage
Frame _callMethod in /usr/lib/python3.12/site-packages/koji/__init__.py at line 3204
3197 # otherwise keep retrying
3198 if self.logger.isEnabledFor(logging.DEBUG):
3199 self.logger.debug(tb_str)
3200 self.logger.info("Try #%s for call %s (%s) failed: %s",
3201 tries, self.callnum, name, e)
3202 if err:
3203 # raise the converted fault from above
--> 3204 raise err
3205 if tries > 1:
3206 # first retry is immediate, after that we honor retry_interval
3207 time.sleep(interval)
3208 # not reached
3209
3210 def multiCall(self, strict=False, batch=None):
args =
err = GenericError('Invalid method: osbuildImage')
handler = 'https://kojihub.stream.rdu2.redhat.com/kojihub'
headers = [('Koji-Session-Id', '9503756'), ('Koji-Session-Key', '1-dbEphb9O4OHj4usqbYb'), ('Koji-Session-Callnum', '0'), ('User-Agent', 'koji/1'), ('Content-Type', 'text/xml'), ('Content-Length', '1291')]
interval = 20
kwargs = {'opts': {'repo': ['http://composefiles.stream.rdu2.redhat.com/pungi/20260415-164113/compose/BaseOS/$arch/os', 'http://composefiles.stream.rdu2.redhat.com/pungi/20260415-164113/compose/AppStream/$arch
max_retries = 30
name = 'osbuildImage'
request = b"\n\nosbuildImage\n\n\nCentOS-Stream-GenericCloud\n\n\n10
self._ClientSession__hub_version = '1.36.0'
self._apidoc = None
self._calls = []
self.auth_method = {'method': 'gssapi_login', 'kwargs': {'principal': 'centos-stream@IPA.REDHAT.COM', 'keytab': '/home/composer/centos-stream.keytab', 'ccache': None, 'proxyuser': None, 'proxyauthtype': None}}
self.authtype = 3
self.baseurl = 'https://kojihub.stream.rdu2.redhat.com/kojihub'
self.callnum = 1
self.exclusive = False
self.hub_version =
self.hub_version_str = '1.36.0'
self.logged_in = True
self.logger =
self.opts = {'timeout': 43200, 'max_retries': 30, 'retry_interval': 20, 'anon_retry': False, 'offline_retry': False, 'offline_retry_interval': 20, 'debug': False, 'debug_xmlrpc': False, 'serverca': '/etc/pki/ca-t
self.retries = 1
self.rsession =
self.sinfo = {'session-id': 9503756, 'session-key': '1-dbEphb9O4OHj4usqbYb', 'header-auth': True}
tries = 1
Frame _renew_expired_session in /usr/lib/python3.12/site-packages/koji/__init__.py at line 3125
3118 self.logged_in = False
3119 auth_method(*args, **kwargs)
3120
3121 def renew_expired_session(func):
3122 """Decorator to renew expirated session or subsession."""
3123 def _renew_expired_session(self, *args, **kwargs):
3124 try:
--> 3125 return func(self, *args, **kwargs)
3126 except AuthExpired:
3127 self._renew_session()
3128 return func(self, *args, **kwargs)
3129 return _renew_expired_session
3130
3131 @renew_expired_session
args =
func =
kwargs = {}
self =
self._ClientSession__hub_version = '1.36.0'
self._apidoc = None
self._calls = []
self.auth_method = {'method': 'gssapi_login', 'kwargs': {'principal': 'centos-stream@IPA.REDHAT.COM', 'keytab': '/home/composer/centos-stream.keytab', 'ccache': None, 'proxyuser': None, 'proxyauthtype': None}}
self.authtype = 3
self.baseurl = 'https://kojihub.stream.rdu2.redhat.com/kojihub'
self.callnum = 1
self.exclusive = False
self.hub_version =
self.hub_version_str = '1.36.0'
self.logged_in = True
self.logger =
self.opts = {'timeout': 43200, 'max_retries': 30, 'retry_interval': 20, 'anon_retry': False, 'offline_retry': False, 'offline_retry_interval': 20, 'debug': False, 'debug_xmlrpc': False, 'serverca': '/etc/pki/ca-t
self.retries = 1
self.rsession =
self.sinfo = {'session-id': 9503756, 'session-key': '1-dbEphb9O4OHj4usqbYb', 'header-auth': True}
Frame __call__ in /usr/lib/python3.12/site-packages/koji/__init__.py at line 2541
2534 self.__name = name
2535 self.__session = session
2536
2537 def __getattr__(self, name):
2538 return type(self)(self.__func, "%s.%s" % (self.__name, name))
2539
2540 def __call__(self, *args, **opts):
--> 2541 return self.__func(self.__name, args, opts)
2542
2543 @property
2544 def __doc__(self):
2545 if self.__session is None:
2546 # There could be potentially session-less object
2547 return None
args =
opts = {'opts': {'repo': ['http://composefiles.stream.rdu2.redhat.com/pungi/20260415-164113/compose/BaseOS/$arch/os', 'http://composefiles.stream.rdu2.redhat.com/pungi/20260415-164113/compose/AppStream/$arch
self =
self._VirtualMethod__name = 'osbuildImage'
self._VirtualMethod__session =
Frame worker in /usr/lib/python3.12/site-packages/pungi/phases/osbuild.py at line 184
177
178 customizations = config.get("customizations")
179 if customizations:
180 opts["customizations"] = customizations
181
182 if release:
183 opts["release"] = release
--> 184 task_id = koji.koji_proxy.osbuildImage(
185 config["name"],
186 version,
187 config["distro"],
188 config["image_types"],
189 target,
190 arches,
arches = ['aarch64', 'ppc64le', 's390x', 'x86_64']
compose =
config = {'name': 'CentOS-Stream-GenericCloud', 'version': '10', 'distro': 'centos-stream-10', 'image_types': ['qcow2'], 'target': 'centos-10', 'arches': ['aarch64', 'ppc64le', 's390x', 'x86_64'], 'repo': ['Ba
customizations = None
koji =
msg = 'OSBuild task for variant BaseOS'
opts = {'repo': ['http://composefiles.stream.rdu2.redhat.com/pungi/20260415-164113/compose/BaseOS/$arch/os', 'http://composefiles.stream.rdu2.redhat.com/pungi/20260415-164113/compose/AppStream/$arch/os'], 'r
ostree = {}
release = '20260415.t.0'
repo = ['http://composefiles.stream.rdu2.redhat.com/pungi/20260415-164113/compose/BaseOS/$arch/os', 'http://composefiles.stream.rdu2.redhat.com/pungi/20260415-164113/compose/AppStream/$arch/os']
self =
self._args =
self._daemonic = False
self._ident = 140222878709440
self._initialized = True
self._is_stopped = True
self._kwargs = {}
self._name = 'Thread-425'
self._native_id = 1980027
self._started =
self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'>
self._target = None
self._tstate_lock = None
self.can_fail = []
self.daemon = False
self.failed = True
self.get_timeout = 1
self.ident = 140222878709440
self.kill = True
self.name = 'Thread-425'
self.native_id = 1980027
self.num = 1
self.pool =
self.running = False
self.traceparent = None
target = 'centos-10'
upload_options = None
variant = Variant(id="BaseOS", name="BaseOS", type="variant", parent=None)
version = '10'
Frame process in /usr/lib/python3.12/site-packages/pungi/phases/osbuild.py at line 151
144 compose,
145 can_fail,
146 variant,
147 "*",
148 "osbuild",
149 logger=self.pool._logger,
150 ):
--> 151 self.worker(
152 compose, variant, config, arches, version, release, target, repo
153 )
154
155 def worker(self, compose, variant, config, arches, version, release, target, repo):
156 msg = "OSBuild task for variant %s" % variant.uid
157 self.pool.log_info("[BEGIN] %s" % msg)
arches = ['aarch64', 'ppc64le', 's390x', 'x86_64']
can_fail = []
compose =
config = {'name': 'CentOS-Stream-GenericCloud', 'version': '10', 'distro': 'centos-stream-10', 'image_types': ['qcow2'], 'target': 'centos-10', 'arches': ['aarch64', 'ppc64le', 's390x', 'x86_64'], 'repo': ['Ba
item =
num = 1
release = '20260415.t.0'
repo = ['http://composefiles.stream.rdu2.redhat.com/pungi/20260415-164113/compose/BaseOS/$arch/os', 'http://composefiles.stream.rdu2.redhat.com/pungi/20260415-164113/compose/AppStream/$arch/os']
self =
self._args =
self._daemonic = False
self._ident = 140222878709440
self._initialized = True
self._is_stopped = True
self._kwargs = {}
self._name = 'Thread-425'
self._native_id = 1980027
self._started =
self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'>
self._target = None
self._tstate_lock = None
self.can_fail = []
self.daemon = False
self.failed = True
self.get_timeout = 1
self.ident = 140222878709440
self.kill = True
self.name = 'Thread-425'
self.native_id = 1980027
self.num = 1
self.pool =
self.running = False
self.traceparent = None
target = 'centos-10'
variant = Variant(id="BaseOS", name="BaseOS", type="variant", parent=None)
version = '10'
Frame run in /usr/lib/python3.12/site-packages/kobo/threads.py at line 67
60
61 self.pool.queue_get_lock.acquire()
62 self.pool.queue_processed += 1
63 num = self.pool.queue_processed
64 self.pool.queue_get_lock.release()
65
66 try:
--> 67 self.process(item, num)
68 except:
69 self.failed = True
70 self.pool.exceptions.append(sys.exc_info())
71 self.pool.kill()
72
73 def process(self, item, num):
item =
num = 1
self =
self._args =
self._daemonic = False
self._ident = 140222878709440
self._initialized = True
self._is_stopped = True
self._kwargs = {}
self._name = 'Thread-425'
self._native_id = 1980027
self._started =
self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'>
self._target = None
self._tstate_lock = None
self.can_fail = []
self.daemon = False
self.failed = True
self.get_timeout = 1
self.ident = 140222878709440
self.kill = True
self.name = 'Thread-425'
self.native_id = 1980027
self.num = 1
self.pool =
self.running = False
self.traceparent = None
Frame reraise in /usr/lib/python3.12/site-packages/six.py at line 719
712
713 def reraise(tp, value, tb=None):
714 try:
715 if value is None:
716 value = tp()
717 if value.__traceback__ is not tb:
718 raise value.with_traceback(tb)
--> 719 raise value
720 finally:
721 value = None
722 tb = None
723
724 else:
725 def exec_(_code_, _globs_=None, _locs_=None):
tb = None
tp =
value = None
Frame stop in /usr/lib/python3.12/site-packages/kobo/threads.py at line 120
113 """
114 for i in self.threads:
115 i.running = False
116 for i in self.threads:
117 i.join()
118 if self.exceptions:
119 exc_info = self.exceptions[0]
--> 120 six.reraise(exc_info[0], exc_info[1], exc_info[2])
121
122 def kill(self):
123 for i in self.threads:
124 i.kill = True
125 i.running = False
126
exc_info =
i =
self =
self._logger =
self.exceptions = [(, GenericError('Invalid method: osbuildImage'), )]
self.queue =
self.queue_get_lock =
self.queue_processed = 2
self.queue_put_lock =
self.queue_total = 2
self.threads = [, ]
Frame stop in /usr/lib/python3.12/site-packages/pungi/phases/base.py at line 111
104 "Note that variants can be excluded in configuration file"
105 )
106
107 def stop(self):
108 if self.finished:
109 return
110 if hasattr(self, "pool"):
--> 111 self.pool.stop()
112 self.finished = True
113 self.compose.log_info("[DONE ] %s" % self.msg)
114
115 if hasattr(self, "_start_time"):
116 self.compose.log_info(
117 "PHASE %s took %d seconds"
self =
self._skipped = False
self._start_time = 1776272020.2185898
self.compose =
self.finished = False
self.logger =
self.msg = '---------- PHASE: OSBUILD ----------'
self.name = 'osbuild'
self.pool =
self.used_patterns = {'^BaseOS$'}
Frame process in /usr/lib/python3.12/site-packages/pungi/phases/weaver.py at line 81
74 self.pool.queue_total,
75 phases_names,
76 )
77 self.pool.log_info("[BEGIN] %s" % (msg,))
78
79 for phase in pipeline:
80 phase.start()
--> 81 phase.stop()
82
83 self.pool.log_info("[DONE ] %s" % (msg,))
item = []
msg = 'Running pipeline (5/7). Phases: osbuild'
num = 5
phase =
phases_names = 'osbuild'
pipeline = []
self =
self._args =
self._daemonic = False
self._ident = 140223277364928
self._initialized = True
self._is_stopped = True
self._kwargs = {}
self._name = 'Thread-418'
self._native_id = 1980023
self._started =
self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'>
self._target = None
self._tstate_lock = None
self.daemon = False
self.failed = True
self.get_timeout = 1
self.ident = 140223277364928
self.kill = True
self.name = 'Thread-418'
self.native_id = 1980023
self.pool =
self.running = False
self.traceparent = None
Frame run in /usr/lib/python3.12/site-packages/kobo/threads.py at line 67
60
61 self.pool.queue_get_lock.acquire()
62 self.pool.queue_processed += 1
63 num = self.pool.queue_processed
64 self.pool.queue_get_lock.release()
65
66 try:
--> 67 self.process(item, num)
68 except:
69 self.failed = True
70 self.pool.exceptions.append(sys.exc_info())
71 self.pool.kill()
72
73 def process(self, item, num):
item = []
num = 5
self =
self._args =
self._daemonic = False
self._ident = 140223277364928
self._initialized = True
self._is_stopped = True
self._kwargs = {}
self._name = 'Thread-418'
self._native_id = 1980023
self._started =
self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'>
self._target = None
self._tstate_lock = None
self.daemon = False
self.failed = True
self.get_timeout = 1
self.ident = 140223277364928
self.kill = True
self.name = 'Thread-418'
self.native_id = 1980023
self.pool =
self.running = False
self.traceparent = None
Frame reraise in /usr/lib/python3.12/site-packages/six.py at line 719
712
713 def reraise(tp, value, tb=None):
714 try:
715 if value is None:
716 value = tp()
717 if value.__traceback__ is not tb:
718 raise value.with_traceback(tb)
--> 719 raise value
720 finally:
721 value = None
722 tb = None
723
724 else:
725 def exec_(_code_, _globs_=None, _locs_=None):
tb = None
tp =
value = None
Frame stop in /usr/lib/python3.12/site-packages/kobo/threads.py at line 120
113 """
114 for i in self.threads:
115 i.running = False
116 for i in self.threads:
117 i.join()
118 if self.exceptions:
119 exc_info = self.exceptions[0]
--> 120 six.reraise(exc_info[0], exc_info[1], exc_info[2])
121
122 def kill(self):
123 for i in self.threads:
124 i.kill = True
125 i.running = False
126
exc_info =
i =
self =
self._logger =
self.exceptions = [(, GenericError('Invalid method: osbuildImage'), )]
self.queue =
self.queue_get_lock =
self.queue_processed = 7
self.queue_put_lock =
self.queue_total = 7
self.threads = [, , ,
Frame stop in /usr/lib/python3.12/site-packages/pungi/phases/weaver.py at line 59
52
53 self.pool.start()
54
55 def stop(self):
56 if self.finished:
57 return
58 if hasattr(self, "pool"):
--> 59 self.pool.stop()
60 self.finished = True
61 self.compose.log_info("[DONE ] %s" % self.msg)
62
63
64 class PipelineThread(WorkerThread):
65 """
self =
self._phases_schema =
self.compose =
self.finished = False
self.msg = '---------- PHASE: WEAVER ----------'
self.name = 'weaver'
self.pool =
Frame process in /usr/lib/python3.12/site-packages/pungi/phases/weaver.py at line 81
74 self.pool.queue_total,
75 phases_names,
76 )
77 self.pool.log_info("[BEGIN] %s" % (msg,))
78
79 for phase in pipeline:
80 phase.start()
--> 81 phase.stop()
82
83 self.pool.log_info("[DONE ] %s" % (msg,))
item = [, ]
msg = 'Running pipeline (1/4). Phases: weaver, image_container'
num = 1
phase =
phases_names = 'weaver, image_container'
pipeline = [, ]
self =
self._args =
self._daemonic = False
self._ident = 140223568672448
self._initialized = True
self._is_stopped = True
self._kwargs = {}
self._name = 'Thread-410'
self._native_id = 1980015
self._started =
self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'>
self._target = None
self._tstate_lock = None
self.daemon = False
self.failed = True
self.get_timeout = 1
self.ident = 140223568672448
self.kill = True
self.name = 'Thread-410'
self.native_id = 1980015
self.pool =
self.running = False
self.traceparent = None
Frame run in /usr/lib/python3.12/site-packages/kobo/threads.py at line 67
60
61 self.pool.queue_get_lock.acquire()
62 self.pool.queue_processed += 1
63 num = self.pool.queue_processed
64 self.pool.queue_get_lock.release()
65
66 try:
--> 67 self.process(item, num)
68 except:
69 self.failed = True
70 self.pool.exceptions.append(sys.exc_info())
71 self.pool.kill()
72
73 def process(self, item, num):
item = [, ]
num = 1
self =
self._args =
self._daemonic = False
self._ident = 140223568672448
self._initialized = True
self._is_stopped = True
self._kwargs = {}
self._name = 'Thread-410'
self._native_id = 1980015
self._started =
self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'>
self._target = None
self._tstate_lock = None
self.daemon = False
self.failed = True
self.get_timeout = 1
self.ident = 140223568672448
self.kill = True
self.name = 'Thread-410'
self.native_id = 1980015
self.pool =
self.running = False
self.traceparent = None
Frame reraise in /usr/lib/python3.12/site-packages/six.py at line 719
712
713 def reraise(tp, value, tb=None):
714 try:
715 if value is None:
716 value = tp()
717 if value.__traceback__ is not tb:
718 raise value.with_traceback(tb)
--> 719 raise value
720 finally:
721 value = None
722 tb = None
723
724 else:
725 def exec_(_code_, _globs_=None, _locs_=None):
tb = None
tp =
value = None
Frame stop in /usr/lib/python3.12/site-packages/kobo/threads.py at line 120
113 """
114 for i in self.threads:
115 i.running = False
116 for i in self.threads:
117 i.join()
118 if self.exceptions:
119 exc_info = self.exceptions[0]
--> 120 six.reraise(exc_info[0], exc_info[1], exc_info[2])
121
122 def kill(self):
123 for i in self.threads:
124 i.kill = True
125 i.running = False
126
exc_info =
i =
self =
self._logger =
self.exceptions = [(, GenericError('Invalid method: osbuildImage'), )]
self.queue =
self.queue_get_lock =
self.queue_processed = 4
self.queue_put_lock =
self.queue_total = 4
self.threads = [, , ,
Frame stop in /usr/lib/python3.12/site-packages/pungi/phases/weaver.py at line 59
52
53 self.pool.start()
54
55 def stop(self):
56 if self.finished:
57 return
58 if hasattr(self, "pool"):
--> 59 self.pool.stop()
60 self.finished = True
61 self.compose.log_info("[DONE ] %s" % self.msg)
62
63
64 class PipelineThread(WorkerThread):
65 """
self =
self._phases_schema =
self.compose =
self.finished = False
self.msg = '---------- PHASE: WEAVER ----------'
self.name = 'weaver'
self.pool =
Frame run_compose in /usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py at line 524
517 ostree_installer_phase,
518 osbs_phase,
519 repoclosure_phase,
520 )
521 extra_phase = pungi.phases.WeaverPhase(compose, extra_phase_schema)
522
523 extra_phase.start()
--> 524 extra_phase.stop()
525 finally:
526 # wait for ostree container phase here too - it can happily run in parallel with
527 # all of the other stuff, but we must ensure it always gets stopped
528 ostree_container_phase.stop()
529
530 # now we do checksums as all images are done
arch = 'src'
buildinstall_phase =
compose =
compose_images_phase =
compose_images_schema =
config_copy_path = '/mnt/centos/composes/pungi/20260415-164113/logs/global/config-copy'
config_dump_full = '/mnt/centos/composes/pungi/20260415-164113/logs/global/config-dump.global.log'
config_file = '/home/composer/jenkins/workspace/stream10-gen2-compose@2/pungi-centos/centos/variables.conf'
create_latest_link = True
createiso_phase =
createrepo_phase =
errors = []
essentials_phase =
essentials_schema =
extra_isos_phase =
extra_phase =
extra_phase_schema =
extrafiles_phase =
f = <_io.TextIOWrapper name='/mnt/centos/composes/pungi/20260415-164113/logs/global/config-dump.global.log' mode='w' encoding='UTF-8'>
gather_phase =
image_build_phase =
image_checksum_phase =
image_container_phase =
imagebuilder_phase =
init_phase =
installed_pkgs_log = '/mnt/centos/composes/pungi/20260415-164113/logs/global/installed-pkgs.global.log'
kiwibuild_phase =
latest_link_components = -1
latest_link_status = None
livemedia_phase =
osbs_phase =
osbuild_phase =
ostree_container_phase =
ostree_installer_phase =
ostree_phase =
phase =
pkgset_phase =
pungi =
repoclosure_phase =
test_phase =
timestamp = '1776272020.213351'
variant = Variant(id="SAPHANA", name="SAP Solutions", type="variant", parent=None)
Frame main in /usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py at line 353
346 logger.error("Config validation failed with the error: %s" % error)
347 fail_to_start("Config validation failed", errors=errors)
348 sys.exit(1)
349
350 notifier.compose = compose
351 COMPOSE = compose
352 try:
--> 353 run_compose(
354 compose,
355 create_latest_link=create_latest_link,
356 latest_link_status=latest_link_status,
357 latest_link_components=latest_link_components,
358 )
359 except UnsignedPackagesError:
Compose =
PHASES_NAMES_MODIFIED = ['buildinstall', 'createiso', 'createrepo', 'extra_files', 'extra_isos', 'gather', 'image_build', 'imagebuilder', 'image_checksum', 'image_container', 'init', 'kiwibuild', 'live_media', 'osbs', 'osbui
abort = .abort at 0x7f8886734ae0>
ci =
ci_path = '/mnt/centos/composes/pungi/20260415-164113/work/global/composeinfo-base.json'
compose =
compose_dir = '/mnt/centos/composes/pungi/20260415-164113'
compose_type = 'test'
conf = {'RELEASE_NAME': 'CentOS Stream', 'RELEASE_SHORT': 'CentOS-Stream', 'RELEASE_VERSION': '10', 'PKGSET_KOJI_TAG': 'c10s-compose', 'RUNROOT_CHANNEL': 'runroot', 'RUNROOT_TAG': 'c10s-build', 'RELEASE_VERS
create_latest_link = True
errors = []
fail_to_start = .fail_to_start at 0x7f88867349a0>
group =
kobo =
latest_link_components = -1
latest_link_status = None
logger =
notifier =
opts = Namespace(target_dir=None, compose_dir='/mnt/centos/composes/pungi/20260415-164113', label=None, no_label=True, supported=False, old_composes=[], config='/home/composer/jenkins/workspace/stream10-gen2
parser = ArgumentParser(prog='pungi-koji', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)
productmd =
pungi =
rv = None
warning = 'WARNING: Unrecognized config option: VARIANTS_BRANCH.'
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.", "WARNING: Config option runroot was removed and has no e
Frame cli_main in /usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py at line 658
651 signal.signal(signal.SIGINT, sigterm_handler)
652 signal.signal(signal.SIGTERM, sigterm_handler)
653
654 tracing.setup()
655
656 with tracing.span("run-compose"):
657 try:
--> 658 main()
659 except (Exception, KeyboardInterrupt) as ex:
660 tracing.record_exception(ex)
661 if COMPOSE:
662 COMPOSE.log_error("Compose run failed: %s" % ex)
663 COMPOSE.traceback(show_locals=getattr(ex, "show_locals", True))
664 COMPOSE.log_critical("Compose failed: %s" % COMPOSE.topdir)
ex = GenericError('Invalid method: osbuildImage')