Skip to content
Snippets Groups Projects
Commit c5fa54f2 authored by Thomas Woerner's avatar Thomas Woerner
Browse files

infra/image: Make fixnet and fixipaip services active by default

The services are now active by default and do not need to be activated
after IPA has been deployed.

The fixnet service is always activated and removes all lines containing
the hostname from /etc/hosts and adds a new line with the IP and the
hostname with and without domain. If IPA is deployed with DNS (the
config file /etc/named.conf exists and there is a '^dyndb "ipa"' line
in /etc/named.conf) then /etc/resolv.conf is also changed to use the
local DNS server.

The fixipaip service is now also always activated, but only started IF
IPA has been deployed and the ipa service was started before.

infra/image/build.sh is not actvating the services anymore, the services
are now actiavted in alll dockerfiles.
parent 89cfb5f4
No related branches found
No related tags found
No related merge requests found
...@@ -120,13 +120,6 @@ then ...@@ -120,13 +120,6 @@ then
fi fi
echo echo
if $deployed; then
log info "= Enabling services ="
container_exec "${name}" systemctl enable fixnet
container_exec "${name}" systemctl enable fixipaip
echo
fi
container_stop "${name}" container_stop "${name}"
$deployed || die "Deployment failed" $deployed || die "Deployment failed"
......
...@@ -31,6 +31,8 @@ COPY system-service/fixipaip.sh /root/ ...@@ -31,6 +31,8 @@ COPY system-service/fixipaip.sh /root/
COPY system-service/fixnet.service /etc/systemd/system/ COPY system-service/fixnet.service /etc/systemd/system/
COPY system-service/fixipaip.service /etc/systemd/system/ COPY system-service/fixipaip.service /etc/systemd/system/
RUN chmod +x /root/fixnet.sh /root/fixipaip.sh RUN chmod +x /root/fixnet.sh /root/fixipaip.sh
RUN systemctl enable fixnet.service
RUN systemctl enable fixipaip.service
STOPSIGNAL RTMIN+3 STOPSIGNAL RTMIN+3
......
...@@ -34,6 +34,8 @@ COPY system-service/fixipaip.sh /root/ ...@@ -34,6 +34,8 @@ COPY system-service/fixipaip.sh /root/
COPY system-service/fixnet.service /etc/systemd/system/ COPY system-service/fixnet.service /etc/systemd/system/
COPY system-service/fixipaip.service /etc/systemd/system/ COPY system-service/fixipaip.service /etc/systemd/system/
RUN chmod +x /root/fixnet.sh /root/fixipaip.sh RUN chmod +x /root/fixnet.sh /root/fixipaip.sh
RUN systemctl enable fixnet.service
RUN systemctl enable fixipaip.service
STOPSIGNAL RTMIN+3 STOPSIGNAL RTMIN+3
......
...@@ -30,6 +30,8 @@ COPY system-service/fixipaip.sh /root/ ...@@ -30,6 +30,8 @@ COPY system-service/fixipaip.sh /root/
COPY system-service/fixnet.service /etc/systemd/system/ COPY system-service/fixnet.service /etc/systemd/system/
COPY system-service/fixipaip.service /etc/systemd/system/ COPY system-service/fixipaip.service /etc/systemd/system/
RUN chmod +x /root/fixnet.sh /root/fixipaip.sh RUN chmod +x /root/fixnet.sh /root/fixipaip.sh
RUN systemctl enable fixnet.service
RUN systemctl enable fixipaip.service
STOPSIGNAL RTMIN+3 STOPSIGNAL RTMIN+3
......
...@@ -33,6 +33,8 @@ COPY system-service/fixipaip.sh /root/ ...@@ -33,6 +33,8 @@ COPY system-service/fixipaip.sh /root/
COPY system-service/fixnet.service /etc/systemd/system/ COPY system-service/fixnet.service /etc/systemd/system/
COPY system-service/fixipaip.service /etc/systemd/system/ COPY system-service/fixipaip.service /etc/systemd/system/
RUN chmod +x /root/fixnet.sh /root/fixipaip.sh RUN chmod +x /root/fixnet.sh /root/fixipaip.sh
RUN systemctl enable fixnet.service
RUN systemctl enable fixipaip.service
STOPSIGNAL RTMIN+3 STOPSIGNAL RTMIN+3
......
...@@ -33,6 +33,8 @@ COPY system-service/fixipaip.sh /root/ ...@@ -33,6 +33,8 @@ COPY system-service/fixipaip.sh /root/
COPY system-service/fixnet.service /etc/systemd/system/ COPY system-service/fixnet.service /etc/systemd/system/
COPY system-service/fixipaip.service /etc/systemd/system/ COPY system-service/fixipaip.service /etc/systemd/system/
RUN chmod +x /root/fixnet.sh /root/fixipaip.sh RUN chmod +x /root/fixnet.sh /root/fixipaip.sh
RUN systemctl enable fixnet.service
RUN systemctl enable fixipaip.service
STOPSIGNAL RTMIN+3 STOPSIGNAL RTMIN+3
......
[Unit] [Unit]
Description=Fix IPA server IP in IPA Server Description=Fix IPA server IP in IPA Server
After=ipa.service After=ipa.service
PartOf=ipa.service
[Service] [Service]
Type=oneshot Type=oneshot
...@@ -9,4 +10,4 @@ StandardOutput=journal ...@@ -9,4 +10,4 @@ StandardOutput=journal
StandardError=journal StandardError=journal
[Install] [Install]
WantedBy=default.target WantedBy=ipa.service
[Unit] [Unit]
Description=Fix server IP in IPA Server Description=Fix /etc/hosts and with local DNS also /etc/resolv.conf
Wants=network.target
After=network.target
Before=ipa.service
[Service] [Service]
Type=oneshot Type=oneshot
...@@ -11,4 +8,4 @@ StandardOutput=journal ...@@ -11,4 +8,4 @@ StandardOutput=journal
StandardError=journal StandardError=journal
[Install] [Install]
WantedBy=ipa.service WantedBy=container-ipa.target
...@@ -39,26 +39,35 @@ if [ -z "${IP}" ] || ! valid_ipv4 "${IP}" ; then ...@@ -39,26 +39,35 @@ if [ -z "${IP}" ] || ! valid_ipv4 "${IP}" ; then
exit 1 exit 1
fi fi
DOMAIN=${HOSTNAME#*.}
echo "Fix NET:" echo "Fix NET:"
echo " HOSTNAME: '${HOSTNAME}'" echo " HOSTNAME: '${HOSTNAME}'"
echo " DOMAIN: '${DOMAIN}'"
echo " IP: '${IP}'" echo " IP: '${IP}'"
echo echo
if grep -qE "^[^(#\s*)][0-9\.]+\s$HOSTNAME(\s|$)" /etc/hosts # /etc/hosts
then
sed -i.bak -e "s/.*${HOSTNAME}/${IP}\t${HOSTNAME}/" /etc/hosts sed -i -E "/\s+${HOSTNAME}(\s|$)/d" /etc/hosts
else
echo -e "$IP\t${HOSTNAME} ${HOSTNAME%%.*}" >> /etc/hosts echo -e "$IP\t${HOSTNAME} ${HOSTNAME%%.*}" >> /etc/hosts
fi
echo "/etc/hosts:"
cat "/etc/hosts"
# /etc/resolv.conf
# If bind is not installed, exit
[ -f "/etc/named.conf" ] || exit 0
# If dyndb is not enabled for bind, exit
grep -q '^dyndb "ipa"' "/etc/named.conf" || exit 0
cp -a /etc/resolv.conf /etc/resolv.conf.fixnet cp -a /etc/resolv.conf /etc/resolv.conf.fixnet
cat > /etc/resolv.conf <<EOF cat > /etc/resolv.conf <<EOF
search ${HOSTNAME#*.} search ${DOMAIN}
nameserver 127.0.0.1 nameserver 127.0.0.1
EOF EOF
echo "/etc/hosts:"
cat "/etc/hosts"
echo echo
echo "/etc/resolv.conf:" echo "/etc/resolv.conf:"
cat "/etc/resolv.conf" cat "/etc/resolv.conf"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment