Bug 1271551 - DBus is not running in separate instance in chroot
Summary: DBus is not running in separate instance in chroot
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: anaconda
Version: 7.2
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Anaconda Maintenance Team
QA Contact: Release Test Team
Keywords: Reopened
Depends On:
Blocks: 1279932
TreeView+ depends on / blocked
Reported: 2015-10-14 09:34 UTC by David Kupka
Modified: 2015-11-11 07:54 UTC (History)
3 users (show)

Clone Of:
Last Closed: 2015-10-16 17:37:51 UTC

Attachments (Terms of Use)
Reproducing kickstart file. (1.10 KB, text/plain)
2015-10-14 09:35 UTC, David Kupka
no flags Details

Description David Kupka 2015-10-14 09:34:18 UTC
Description of problem:
DBus daemon is by default listening on unix socket placed in /run/dbus/system_bus_socket. Since /run is mount.bind into chroot environment it is possible to connect to DBus but this connection is handled by DBus daemon running outside chroot enviroment.
The outside running DBus daemon is not aware of configuration in chroot environment and therefore does not permit actions that should be allowed according to configuration in chroot environment.
The preferred solution would be to start separate instance of DBus daemon inside chroot environment

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Install RHEL 7.2 with attached kickstart file

Actual results:
Certmonger fails to connect to D-Bus and is therefore unreachable.

Expected results:
Certmonger connects to D-Bus and can be reached over D-Bus by (not only) getcert utility.

Additional info:
This is general Anaconda issue (not RHEL 7.2 specific). I hit it on Fedora 22 too and believe it's present on other versions as well.

Comment 2 David Kupka 2015-10-14 09:35 UTC
Created attachment 1082761 [details]
Reproducing kickstart file.

Comment 3 Brian Lane 2015-10-15 17:39:14 UTC
You cannot run things that expect to talk to DBus from %post. The chroot is not a running system until it has been rebooted, and trying to treat it as such is going to end up causing no end of problems.

Comment 4 RHEL Product and Program Management 2015-10-15 17:45:59 UTC
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.

Comment 5 David Kupka 2015-10-16 11:05:46 UTC
Ok. Then why is DBus available in chroot? Is there a chance /run will be not mount.bind? The problem is DBus is available but behaves other than expected.

Comment 6 Brian Lane 2015-10-16 17:37:51 UTC
That's just a side-effect of how the chroot needs to be setup for other things.

Comment 7 Vratislav Podzimek 2015-10-19 16:59:52 UTC
Bind-mounting /run (together with /sys) to /mnt/sysimage (the installed system) was added because of dracut and creation of hostonly initrd.img as documented in the bug #922988. I'm not sure what we could do here. We could probably bind-mount only some things from /run to /mnt/sysimage/run, but it'd be quite hard to identify which ones are needed/useful.

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