ironic-python-agent-builder/dib/ironic-python-agent-ramdisk/post-install.d/80-ironic-python-agent-ramdisk
Riccardo Pittau 02d9abd43b Disable automatic updates in dnf-based systems
Fix errors caused by dnf automatic updates that are not really
needed in ipa ramdisks.

Change-Id: I541252fc5137aec755b9feb4f15b888a71c3c1be
Story: 2007805
Task: 40067
2020-06-17 09:09:55 +02:00

54 lines
1.6 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}
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
# 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
;;
sysv)
update-rc.d iptables disable
;;
*)
echo "Unsupported init system"
exit 1
;;
esac