#161 koji download should not fail when there should be no available builds for a given arch
Closed: Fixed None Opened 9 years ago by tflink.

efivar is an example of a package which only has x86_64 rpms and is supposed to be that way - Fedora doesn't support uefi on x86_32. This causes problems for koji download on x86_32 because the download code will throw a TaskotronRemoteError if it can't find rpms to download for a given build.

The traceback that's showing up in stg at the moment is:

[libtaskotron:koji_utils.py:87] 2014-06-23 15:46:23 INFO    Querying Koji for a list of RPMS for: efivar-0.10-2.fc20
[libtaskotron:logger.py:20] 2014-06-23 15:46:23 CRITICAL Traceback (most recent call last):
  File "/usr/bin/runtask", line 9, in <module>
    load_entry_point('libtaskotron==0.3.1', 'console_scripts', 'runtask')()
  File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 204, in main
    task_runner.run()
  File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 41, in run
    self.do_actions()
  File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 124, in do_actions
    self.do_single_action(action)
  File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 104, in do_single_action
    self.envdata)
  File "/usr/lib/python2.7/site-packages/libtaskotron/directives/koji_directive.py", line 109, in process
    self.arches)
  File "/usr/lib/python2.7/site-packages/libtaskotron/koji_utils.py", line 188, in get_tagged_rpms
    rpms.append(self.get_nvr_rpms(nvr, dest, arches))
  File "/usr/lib/python2.7/site-packages/libtaskotron/koji_utils.py", line 156, in get_nvr_rpms
    src=src)
  File "/usr/lib/python2.7/site-packages/libtaskotron/koji_utils.py", line 109, in nvr_to_urls
    raise exc.TaskotronRemoteError('No RPMs found for %s' % nvr)
TaskotronRemoteError: No RPMs found for efivar-0.10-2.fc20

The ways I can think of to fix this are:

special-case the arch-specific builds like efivar to not throw exceptions

check koji to see if there are supposed to be builds that we're missing

handle missing rpm exceptions gracefully - log the error and move on without halting execution

I can't think of a reason not to do 3 - it doesn't require the dirty-hackishness of 1 or the complexity of 2.


This ticket had assigned some Differential requests:
D153

Closed by commit rLTRN75d1ebbecaa6.

Login to comment on this ticket.

Metadata