diff options
author | David Kaspar [Dee'Kej] <dkaspar@redhat.com> | 2018-05-02 15:53:04 +0200 |
---|---|---|
committer | Dee'Kej <deekej@linuxmail.org> | 2018-05-17 14:49:45 +0200 |
commit | e811abf000f525932f6334ce0c06adb3d2860a6d (patch) | |
tree | b8235af37b9c37775e79eb12783bff44eaea13e9 | |
parent | eaaea56f8625538e66d8786cc23d808d0581080a (diff) | |
download | initscripts-e811abf000f525932f6334ce0c06adb3d2860a6d.tar initscripts-e811abf000f525932f6334ce0c06adb3d2860a6d.tar.gz initscripts-e811abf000f525932f6334ce0c06adb3d2860a6d.tar.bz2 initscripts-e811abf000f525932f6334ce0c06adb3d2860a6d.tar.xz initscripts-e811abf000f525932f6334ce0c06adb3d2860a6d.zip |
network-functions: add error messages for bonding installation
Instead of displaying messages without context, like this:
./network-functions: line 571: echo: write error: Invalid argument
./network-functions: line 598: echo: write error: Permission denied
We will now display pretty error messages (via net_log) about what has
actually failed...
This has been requested by our customer:
https://bugzilla.redhat.com/show_bug.cgi?id=1542514
-rw-r--r-- | sysconfig/network-scripts/network-functions | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions index 53e9d41e..343ae97c 100644 --- a/sysconfig/network-scripts/network-functions +++ b/sysconfig/network-scripts/network-functions @@ -550,6 +550,8 @@ bond_master_exists () install_bonding_driver () { + local fn="install_bonding_driver" + if ! bond_master_exists ${1}; then modprobe bonding || return 1 echo "+$1" > /sys/class/net/bonding_masters 2>/dev/null @@ -574,11 +576,15 @@ install_bonding_driver () value=${bopts_vals[$idx]} if [ "${key}" = "mode" ] ; then - echo "${value}" > /sys/class/net/${DEVICE}/bonding/$key + echo "${value}" > /sys/class/net/${DEVICE}/bonding/$key || { + net_log $"Failed to set value '$value' [mode] to ${DEVICE} bonding device" err $fn + } bopts_keys[$idx]="" fi if [ "${key}" = "miimon" ] ; then - echo "${value}" > /sys/class/net/${DEVICE}/bonding/$key + echo "${value}" > /sys/class/net/${DEVICE}/bonding/$key || { + net_log $"Failed to set value '$value' [miimon] to ${DEVICE} bonding device" err $fn + } bopts_keys[$idx]="" fi done @@ -596,16 +602,22 @@ install_bonding_driver () IFS=','; for arp_ip in $value; do if ! grep -q $arp_ip /sys/class/net/${DEVICE}/bonding/$key; then - echo +$arp_ip > /sys/class/net/${DEVICE}/bonding/$key + echo +$arp_ip > /sys/class/net/${DEVICE}/bonding/$key || { + net_log $"Failed to set '$arp_ip' value [arp_ip_target] to ${DEVICE} bonding device" err $fn + } fi done IFS=$OLDIFS; elif [ "${key}" = "arp_ip_target" ]; then if ! grep -q ${value#+} /sys/class/net/${DEVICE}/bonding/$key; then - echo "$value" > /sys/class/net/${DEVICE}/bonding/$key + echo "$value" > /sys/class/net/${DEVICE}/bonding/$key || { + net_log $"Failed to set '$value' value [arp_ip_target] to ${DEVICE} bonding device" err $fn + } fi elif [ "${key}" != "primary" ]; then - echo $value > /sys/class/net/${DEVICE}/bonding/$key + echo $value > /sys/class/net/${DEVICE}/bonding/$key || { + net_log $"Failed to set '$value' value [$key] to ${DEVICE} bonding device" err $fn + } fi done fi |