The ifcfg file name of <netif> under "/etc/sysconfig/network-scripts/"
may not be "ifcfg-<netif>". For example, for "enp0s25" we are
able to
generate its ifcfg like "/etc/sysconfig/network-scripts/ifcfg-enp0s25test"
via network-manager. If we alway assume "ifcfg-<netif>" is there, we will
got the wrong result in some cases.
The issue can be resolved by using the new get_ifcfg_filename() introduced
by PATCH "kdump-lib: Add get_ifcfg_filename() to get the proper ifcfg file",
so we hereby change all the "ifcfg-<netif>" users to use
get_ifcfg_filename().
Signed-off-by: Xunlei Pang <xlpang(a)redhat.com>
---
v4->v5:
-Add source_ifcfg_file().
-Improve changelog.
dracut-module-setup.sh | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
index 4cd7107..ecf7d3f 100755
--- a/dracut-module-setup.sh
+++ b/dracut-module-setup.sh
@@ -63,10 +63,23 @@ kdump_is_vlan() {
}
# $1: netdev name
+source_ifcfg_file() {
+ local ifcfg_file
+
+ ifcfg_file=$(get_ifcfg_filename $1)
+ if [ -f "${ifcfg_file}" ]; then
+ . ${ifcfg_file}
+ else
+ dwarning "The ifcfg file of $1 is not found!"
+ fi
+}
+
+# $1: netdev name
kdump_setup_dns() {
local _nameserver _dns
local _dnsfile=${initdir}/etc/cmdline.d/42dns.conf
- . /etc/sysconfig/network-scripts/ifcfg-$1
+
+ source_ifcfg_file $1
[ -n "$DNS1" ] && echo "nameserver=$DNS1" >
"$_dnsfile"
[ -n "$DNS2" ] && echo "nameserver=$DNS2" >>
"$_dnsfile"
@@ -189,7 +202,9 @@ kdump_setup_bond() {
done
echo -n " bond=$_netdev:$(echo $_slaves | sed 's/,$//')" >>
${initdir}/etc/cmdline.d/42bond.conf
# Get bond options specified in ifcfg
- . /etc/sysconfig/network-scripts/ifcfg-$_netdev
+
+ source_ifcfg_file $_netdev
+
bondoptions="$(echo :$BONDING_OPTS | sed 's/\s\+/,/')"
echo "$bondoptions" >> ${initdir}/etc/cmdline.d/42bond.conf
}
@@ -244,7 +259,9 @@ kdump_setup_vlan() {
# $1: netdev name
kdump_setup_znet() {
local _options=""
- . /etc/sysconfig/network-scripts/ifcfg-$1
+
+ source_ifcfg_file $1
+
for i in $OPTIONS; do
_options=${_options},$i
done
--
1.8.3.1