Julia Kreger f92befe127 Match publisher id
Take a publisher ID and match it for mounting configuration drives
to prevent the wrong device from being used.

Change-Id: Iafa77d9213eba864ca6dfa2d56d294e6ef4d2cd4
2024-05-07 14:27:37 +00:00

74 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then
set -x
fi
set -eu
set -o pipefail
DIB_IPA_ENABLE_RESCUE=${DIB_IPA_ENABLE_RESCUE:-true}
DIB_IPA_ENABLE_SYSTEMD_NETWORKD=${DIB_IPA_ENABLE_SYSTEMD_NETWORKD:-true}
if $DIB_IPA_ENABLE_RESCUE; then
# Make sure rescue works
mkdir -p /etc/ipa-rescue-config
fi
case "$DIB_INIT_SYSTEM" in
upstart)
if [ -f /etc/init/ufw.conf ]; then
mv /etc/init/ufw.conf /etc/init/ufw.conf.disabled
fi
if [ -f /etc/init/tgt.conf ]; then
mv /etc/init/tgt.conf /etc/init/tgt.conf.disabled
fi
;;
systemd)
if [[ $(systemctl --no-pager list-unit-files iptables) =~ 'enabled' ]]; then
systemctl disable iptables.service
fi
systemctl enable $(svc-map ironic-python-agent).service
if $DIB_IPA_ENABLE_RESCUE; then
systemctl enable ironic-agent-create-rescue-user.path
fi
systemctl enable ironic-agent-resolve-config-drive.service
# NOTE(rpittau) disable caching remote package index to prevent
# delays due to failures.
# This is a new service for dnf-based systems (e.g. Centos8) to speed
# up subsequent dnf commands, for example automated updates, and
# it's not really needed in the ipa-ramdisk as we shouldn't install
# anything during runtime.
if [[ ${IPA_DISTRO_FAMILY} == 'rh' ]]; then
if [[ ${YUM} == 'dnf' ]]; then
systemctl disable dnf-makecache.service
systemctl disable dnf-makecache.timer
fi
fi
# NOTE(drannou) debian by default is using networking instead of
# systemd-networkd. In some usecase like rescue, we need IPA to
# re-launch dhclient when modifications are made on the interface.
# The easiest way to manage that is to activate systemd-networkd.
if $DIB_IPA_ENABLE_SYSTEMD_NETWORKD; then
if [[ $DISTRO_NAME =~ debian ]] ; then
rm /etc/network/interfaces
rm -rf /etc/network/interfaces.d
echo "[Match]
Name=en*
[Network]
DHCP=yes" > /etc/systemd/network/99-dhcp.network
systemctl enable systemd-networkd
fi
fi
;;
sysv)
update-rc.d iptables disable
;;
*)
echo "Unsupported init system"
exit 1
;;
esac