Skip to content

Commit

Permalink
infra/image/dockerfile/c10s: Fix client part deployment for the server
Browse files Browse the repository at this point in the history
The client part deployment fails in the configuration of NIS. The command
/usr/bin/nisdomainname is failing in a container in this task as the
container is not privileged.

The hostnamectl-wrapper is copied from the freeipa-container container
project to replace /usr/bin/nisdomainname in the container.
  • Loading branch information
t-woerner committed Nov 19, 2024
1 parent d580431 commit d58d479
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
9 changes: 8 additions & 1 deletion infra/image/dockerfile/c10s
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,16 @@ dnf --assumeyes install \
bash \
systemd \
procps-ng \
iproute; \
iproute \
hostname; \
rm -rf /var/cache/dnf/;

# Prepare for basic ipa-server-install in container
# Address failing nis-domainname.service in the ipa-client-install step
RUN mv /usr/bin/nisdomainname /usr/bin/nisdomainname.orig
ADD utils/hostnamectl-wrapper /usr/bin/nisdomainname
RUN chmod a+rx /usr/bin/nisdomainname

RUN (cd /lib/systemd/system/; \
if [ -e dbus-broker.service ] && [ ! -e dbus.service ]; then \
ln -s dbus-broker.service dbus.service; \
Expand Down
12 changes: 12 additions & 0 deletions infra/image/utils/hostnamectl-wrapper
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

if setpriv --dump | grep -q sys_admin ; then
if [[ "$( basename $0 )" =~ "domainname" ]] ; then
/usr/bin/hostname -y "$@"
else
$0.orig "$@"
fi
else
echo "Skipping invocation of $0 $@ in unprivileged container." >&2
exit
fi

0 comments on commit d58d479

Please sign in to comment.