freeipa / freeipa-openshift-container

FreeIPA container for OpenShift 4
5 stars 7 forks source link

FAQ: empty /etc/machine-id causes dbus-broker-launch to fail with "No medium found" #3

Open tiran opened 4 years ago

tiran commented 4 years ago

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.