Files
training-labs/labs/osbash/lib/functions.fedora.sh
Roger Luethi 6cf2d0e23e Create list of network interface names at run-time
The list network interfaces used by osbash is currently a hard-coded
list in distro-specific library files (e.g., lib/functions.ubuntu.sh).

With Ubuntu 16.04 LTS, network interface names differ between VirtualBox
and KVM as well (unless we reconfigure the operating system to use the
traditional ethX naming scheme).

This patch builds the list of network interfaces at run-time which
should make it easier to support distros with differing network
interface naming schemes.

Change-Id: Id2cd684152911289821b165daf6b8fc002f42f2d
2016-10-01 16:01:37 +02:00

39 lines
1.0 KiB
Bash

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Fedora /etc/sysconfig/network-scripts/ifcfg-* configuration
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function config_netif {
local if_type=$1
local if_num=${2:-""}
local ip_address=${3:-""}
local template
if [ "$if_type" = "dhcp" ]; then
template="template-fedora-ifcfg-dhcp"
else
template="template-fedora-ifcfg-static"
fi
local if_name="$(ifnum_to_ifname "$if_num")"
local if_file=/etc/sysconfig/network-scripts/ifcfg-$if_name
sed -e "
s,%IF_NAME%,$if_name,g;
s,%IP_ADDRESS%,$ip_address,g;
" "$TEMPLATE_DIR/$template" | sudo tee "$if_file"
}
function netcfg_init {
: # Not needed for Fedora
}
function netcfg_show {
local cfg
for cfg in /etc/sysconfig/network-scripts/ifcfg-*; do
echo ---------- "$cfg"
cat "$cfg"
done
echo ---------------------------------------------------------------
}