When /etc/machine-id is empty and systemd has no permission to write to or bind mount over the file, dbus-broker is failing with an unhelpful error message:
dbus-broker-launch[1898]: ERROR launcher_run_child @ ../src/launch/launcher.c +325: No medium found
The problem causes the installation to fail when certmonger is started for the first time. The problem Failed to mount /etc/machine-id: Operation not permitted indirectly causes D-Bus to fail, which eventually fails the installation.
$ docker run ... freeipa-server ...
systemd v245.6-2.fc32 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
Detected virtualization container-other.
Detected architecture x86-64.
Set hostname to <ipa.example.test>.
Initializing machine ID from random generator.
Failed to mount /etc/machine-id: Operation not permitted
The log file for this installation can be found in /var/log/ipaserver-install.log
==============================================================================
...
[13/31]: configure certmonger for renewals
[error] CalledProcessError: CalledProcessError(Command ['/bin/systemctl', 'start', 'certmonger.service'] returned non-zero exit status 1: 'Job for certmonger.service failed because the control process exited with error code.\nSee "systemctl status certmonger.service" and "journalctl -xe" for details.\n')
Workaround: bind mount /etc/machine-id into container.
When
/etc/machine-id
is empty and systemd has no permission to write to or bind mount over the file, dbus-broker is failing with an unhelpful error message:The problem causes the installation to fail when certmonger is started for the first time. The problem
Failed to mount /etc/machine-id: Operation not permitted
indirectly causes D-Bus to fail, which eventually fails the installation.Workaround: bind mount
/etc/machine-id
into container.