The ISO volume ID for the Fedora 21 workstation livecd is 'Fedora-Live-Workstation-x86_64-2', which doesn't actually say 21 in it, and libosinfo can't use it to detect the fedora version for boxes/virt-manager.
FWIW the server DVD volume label is: Fedora-S-21_A_T7-x86_64
reassigning to the correct component.
we put some logic in pungi to do substitutions, we will need to do the same in livecd-tools
Sure would be easier if these naming decisions were made in ONE place and then passed to the tools using the existing arguments. Like --fslabel.
Well, I had a nice plan to move the shortening logic into lorax so everything could get to it, this may still be useful, but for this bug it won't help since whatever is calling livecd-creator is what did the truncation, not livecd-creator itself.
INFO: Running in chroot: ['/usr/bin/livecd-creator', '-c', '/tmp/koji-image-f21-build-7616453.ks', '-d', '-v', '--logfile', '/tmp/livecd.log', '--cache', '/tmp/koji-livecd', '-f', 'Fedora-Live-Workstation-x86_64-2']
So I guess this is actually a koji bug.
Should this be a simple fix? Its been a month now and without this fix, its not really possible to add proper support for F21 in libosinfo and gnome-boxes.
I've sent a koji patch that should fix this:
Proposing as an exception for final freeze. If this isn't fixed before GA, tools that depend on the volume ID are kinda screwed
I also started a thread on infrastructure list:
So we discussed this today in IRC.
All the choices are pretty bad, but the koji patch for now is the least bad. ;(
It does mean we will have to carry that patch forward until f21 is eol... since we may have to do respins. ;(
Dennis is going to make a patched koji package and put in for a infra freeze break to apply it to builders.
Discussed in 2014-11-19 blocker review meeting. Breaking virt tools is very inconvenient, accepted. Please provide the fix as soon as possible, ideally before TC3 compose request (Monday 2014-11-24).
We applied a patch to koji last night to fix this.
It seems to have some issues however, and all live media failed compose.
The traceback is:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/koji/daemon.py", line 1161, in runTask
response = (handler.run(),)
File "/usr/lib/python2.7/site-packages/koji/tasks.py", line 157, 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 139, in call_with_argcheck
return func(*args, **kwargs)
File "/usr/sbin/kojid", line 2448, in handler
cmd.extend(['-f', self._shortenVolID(name, version, release)])
File "/usr/sbin/kojid", line 2423, in _shortenVolID
AttributeError: 'str' object has no attribute 'contains'
Crobinso is going to whip up another patch and we will hopefully get it applied later today.
Created attachment 959447 [details]
Note, still untested on my end
I don't think that works either. Just calling 'variable.replace()' just *returns* the substituted string, it doesn't update the value of the variable.
Also, that does not handle the 'release' substitution.
The relevant block needs to look like this:
for k, v in subsitutions.iteritems():
if k in name:
name = name.replace(k, v)
if k in version:
version = version.replace(k, v)
if k in release:
release = release.replace(k, v)
that works for me when stuck into a simple test script, Cole's version does not.
oh, and to strictly meet the naming policy - https://fedoraproject.org/wiki/User:Adamwill/Draft_fedora_image_naming_policy - the live version should have several more substitutions for all the non-Product names (and it doesn't really need Server, as there's no Server live). See the list of shortenings for "$LOADOUT".
also, while we're fixing the volume IDs we should really fix the image file names as well.
http://koji.fedoraproject.org/koji/taskinfo?taskID=8198847 is a test run with the patched koji.
Should solve this for f21 at least.
However, we will need another fix or different fix for rawhide, as it's labels have 'rawhide' which cuts things off further than '21' does.
substitute 'rh' for 'rawhide'?