diskimage-builder/diskimage_builder/elements/dhcp-all-interfaces/install.d/60-remove-cloud-image-interfaces
Noam Angel 0e700b25dc Check and remove existing image interface configurations
This change will remove any existing interface configurations in the image. They are not necessary
and could interrupt with deployments. In any case they should not exist if we use 
dhcp-all-interfaces element.

Change-Id: I35a4b5ea6e2315de3b0d9f8353ac2b6f4b995697
2021-02-16 08:46:32 +00:00

34 lines
863 B
Bash
Executable File

#!/bin/bash
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
set -x
fi
set -eu
set -o pipefail
# Cloud images may hard code interfaces so they
# boot with DHCP.
# RHEL/CentOS/Fedora
for ifcfg in $(ls /etc/sysconfig/network-scripts/ifcfg-* | grep -v "ifcfg-lo"); do
rm -f $ifcfg
done
# Ubuntu/Debian
rm -f /etc/network/interfaces.d/*
# Gentoo
rm -f /etc/conf.d/net*
# /etc/network/interfaces distributions
if [ -f "/etc/network/interfaces" ]; then
printf "auto lo\niface lo inet loopback\n\n" > /etc/network/interfaces
if [ -d "/etc/network/interfaces.d/" ]; then
if [ "$DISTRO_NAME" == "ubuntu" ] && [ "$DIB_RELEASE" == "trusty" ]; then
printf "source-directory interfaces.d\n\n" >> /etc/network/interfaces
else
printf "source /etc/network/interfaces.d/*\n\n" >> /etc/network/interfaces
fi
fi
fi