Bug 974784 - live image composing in koji broken
Summary: live image composing in koji broken
Alias: None
Product: Fedora
Classification: Fedora
Component: livecd-tools
Version: 19
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Brian Lane
QA Contact: Fedora Extras Quality Assurance
Whiteboard: AcceptedBlocker
Depends On:
Blocks: F19Blocker, F19FinalBlocker
TreeView+ depends on / blocked
Reported: 2013-06-15 19:43 UTC by Kevin Fenzi
Modified: 2013-08-23 20:35 UTC (History)
13 users (show)

Fixed In Version: livecd-tools-19.5-1.fc19
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2013-06-20 05:58:31 UTC
Type: Bug

Attachments (Terms of Use)

Description Kevin Fenzi 2013-06-15 19:43:09 UTC

Filing this here, but it could be due to some other change in f19 in the last few days. 

Livecd composes in koji fail with the following traceback: 

DEBUG util.py:264:  Losetup remove /dev/loop0
DEBUG util.py:264:   
DEBUG util.py:264:  Traceback (most recent call last):
DEBUG util.py:264:    File "/usr/bin/livecd-creator", line 237, in <module>
DEBUG util.py:264:      sys.exit(main())
DEBUG util.py:264:    File "/usr/bin/livecd-creator", line 219, in main
DEBUG util.py:264:      creator.configure()
DEBUG util.py:264:    File "/usr/lib/python2.7/site-packages/imgcreate/creator.py", line 721, in configure
DEBUG util.py:264:      kickstart.KeyboardConfig(self._instroot).apply(ksh.keyboard)
DEBUG util.py:264:    File "/usr/lib/python2.7/site-packages/imgcreate/kickstart.py", line 141, in apply
DEBUG util.py:264:      k = keyboard.Keyboard()
DEBUG util.py:264:    File "/usr/lib/python2.7/site-packages/system_config_keyboard/keyboard.py", line 60, in __init__
DEBUG util.py:264:      self._localed_wrap = localed.LocaledWrapper()
DEBUG util.py:264:    File "/usr/lib/python2.7/site-packages/system_config_keyboard/localed.py", line 43, in __init__
DEBUG util.py:264:      bus = dbus.SystemBus()
DEBUG util.py:264:    File "/usr/lib/python2.7/site-packages/dbus/_dbus.py", line 194, in __new__
DEBUG util.py:264:      private=private)
DEBUG util.py:264:    File "/usr/lib/python2.7/site-packages/dbus/_dbus.py", line 100, in __new__
DEBUG util.py:264:      bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
DEBUG util.py:264:    File "/usr/lib/python2.7/site-packages/dbus/bus.py", line 122, in __new__
DEBUG util.py:264:      bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
DEBUG util.py:264:  dbus.exceptions.DBusException: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
DEBUG util.py:354:  Child return code was: 1

for example.

Comment 1 Kevin Fenzi 2013-06-15 19:45:34 UTC
Nominating for a final blocker on the basis of us not being able to compose live images would make testing them difficult. ;)

Comment 2 Dennis Gilmore 2013-06-15 20:53:53 UTC
the thing at fault here is system-config-keyboard. adam added a patch to configure localed, its added a dep on dbus. so we either need to make system-config-keyboard not need dbus or we need to change how keyboards are configured.

Comment 3 Adam Williamson 2013-06-16 05:06:39 UTC
the patch came from vpodzime, but it's, well, it's correct. keyboard configuration should be done through localed now. that's how it's supposed to work. you might ask lennart / kay if they have any thoughts on how to make this fly. why does the live compose process need to do anything with keyboards anyway?

Comment 4 Adam Williamson 2013-06-16 05:07:18 UTC
btw, it can't be particularly important, because s-c-k has been broken throughout the entire f18 and f19 cycles until now. it was not capable of actually setting systemwide keyboard configurations.

Comment 5 Adam Williamson 2013-06-16 05:12:43 UTC
Suggestion: simply comment out all the 'keyboard us' lines in spin-kickstarts. I can see no reason why we actually need to explicitly set the layout which is in any case the default, during live compose.

Comment 6 Adam Williamson 2013-06-17 17:50:51 UTC
Re-assigning to livecd-tools.

system-config-keyboard is not doing anything wrong here. The current design of this subsystem is that systemd-localed is the broker for setting keyboard configuration: the correct way to configure the keyboard is to ask localed to do it. It would be inappropriate to change s-c-keyboard to do it any other way.

The fact that this doesn't work in the live compose environment is a problem of the live compose tools and/or environment, not s-c-k.

We have several options here. 

1. We could simply drop the ability to change keyboard layout for live images: it seems to be rarely used anyway (or someone would've complained at some point since it was broken in Fedora 18). Spin maintainers might be able to do it if they really want to by adding a localectl call to the 'livesys' script or something.

2. We could hack python-imgcreate to write a kbd layout name directly to /etc/vconsole.conf and depend on systemd-localed to translate that into an X layout during boot. This might work, but it's a trifle inelegant.

3. We could fix up the live image creation process such that this works - use livemedia-creator and do it in a VM, or whatever. I don't know.

But s-c-keyboard is not broken, here.

Comment 7 Adam Williamson 2013-06-17 17:51:47 UTC
Discussed at 2013-06-17 blocker review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2013-06-17/f19final-blocker-review-6.2013-06-17-16.01.log.txt . Accepted as a blocker as it prevents live image compose (could have been an automatic blocker).

Comment 8 Fedora Update System 2013-06-17 19:53:38 UTC
livecd-tools-19.5-1.fc19 has been submitted as an update for Fedora 19.

Comment 9 Brian Lane 2013-06-17 20:00:33 UTC
Note that this patch writes out vconsole.conf but that doesn't seem to have any effect on the keyboard in my minimal tests. 

It does fix the traceback, but keyboard support is going to need something else.

Comment 10 Adam Williamson 2013-06-17 23:44:42 UTC
For the problem with the config apparently not being set, see https://bugzilla.redhat.com/show_bug.cgi?id=975238 - I traced it out a bit more, but not fully. I think python-imgcreate is now doing the right thing, though.

Comment 11 Fedora Update System 2013-06-18 19:42:14 UTC
Package livecd-tools-19.5-1.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing livecd-tools-19.5-1.fc19'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).

Comment 12 Adam Williamson 2013-06-19 00:19:09 UTC
19.5 clearly fixes the bug, or else we wouldn't have TC5 lives.

Comment 13 Fedora Update System 2013-06-20 05:58:31 UTC
livecd-tools-19.5-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 14 Rodrigo de Farias Gomes 2013-08-23 20:35:58 UTC
Any chance that this patch be applied in the f18?

Note You need to log in before you can comment on or make changes to this bug.