#1475 buildImageOz API call should raise GenericError exception for non existing ksversion
Closed: Invalid by tkopecek. Opened by jcupova.

Steps to Reproduce:

non_exist_ksversion = 'RHELuhrnd'

Run API command:
buildImageOz(package_name, version, [arches], build_target, image_repo, opts={'ksurl': ksurl, 'ksversion': non_exist_ksversion, 'kickstart': kickstart, 'repo': [image_repo], 'distro': distro, 'format': [format_image], 'disk_size': disk_size, 'factory_parameter': [('create_docker_metadata', 'False','--can-fail=')], 'optional_arches': ''}, priority=None)

parameters:
Arches: x86_64
Build Target: build-target-rhel-7.4-build-42jh
Installation Tree: http://download-node-02.eng.bos.redhat.com/composes/released/RHEL-7/7.4/Server/x86_64/os/
Options:
kickstart = rhel-7.4-server-docker.ks
disk_size = 10
ksversion = RHELuhrnd
format = docker
repo = http://download-node-02.eng.bos.redhat.com/composes/released/RHEL-7/7.4/Server/x86_64/os/
optional_arches =
ksurl = git://git.app.eng.bos.redhat.com/spin-kickstarts.git?rhel7#HEAD
distro = RHEL-7.4
factory_parameter = ['create_docker_metadata', 'False', '--can-fail=']

Actual result:

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/koji/daemon.py", line 1244, in runTask
response = (handler.run(),)
File "/usr/lib/python2.7/site-packages/koji/tasks.py", line 307, in run
return koji.util.call_with_argcheck(self.handler, self.params, self.opts)
File "/usr/lib/python2.7/site-packages/koji/util.py", line 216, in call_with_argcheck
return func(args, *kwargs)
File "/usr/sbin/kojid", line 4098, in handler
ks = self.prepareKickstart(kspath, inst_tree)
File "/usr/sbin/kojid", line 3496, in prepareKickstart
ks = self.readKickstart(kspath)
File "/usr/sbin/kojid", line 3470, in readKickstart
version = ksparser.version.makeVersion(self.opts['ksversion'])
File "/usr/lib/python2.7/site-packages/pykickstart/version.py", line 200, in makeVersion
cl = returnClassForVersion(version)
File "/usr/lib/python2.7/site-packages/pykickstart/version.py", line 178, in returnClassForVersion
version = stringToVersion(version)
File "/usr/lib/python2.7/site-packages/pykickstart/version.py", line 132, in stringToVersion
raise KickstartVersionError(_("Unsupported version specified: %s") % s)
KickstartVersionError: Unsupported version specified: RHELuhrnd

Expected result:

Should be returning a GenericError message that ksversion does not exist.


I think it is ok this way. It is 'random' error raised by pykickstart library and it doesn't make much sense to mask it behind GenericError. We would need to catch more errors than this one, and it seems to be self-describing enough. @mikem ?

Metadata Update from @tkopecek:
- Custom field Size adjusted to None
- Issue close_status updated to: Invalid
- Issue status updated to: Closed (was: Open)

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/koji/koji/issues/1475

Please continue any further discussion there.

Metadata