network/net-lib.sh: safeguard against incomplete iBFT settings
authorHarald Hoyer <harald@redhat.com>
Wed, 31 Jul 2013 10:00:53 +0000 (12:00 +0200)
committerHarald Hoyer <harald@redhat.com>
Wed, 31 Jul 2013 10:00:53 +0000 (12:00 +0200)
modules.d/40network/net-lib.sh

index 0e23d097df9871698f386739f20725a97112e066..abd6e5c18eb74bd41d26292e87f1a57aafa73950 100644 (file)
@@ -205,15 +205,26 @@ ibft_to_cmdline() {
             mac=$(read a < ${iface}/mac; echo $a)
             [ -z "$mac" ] && continue
             dev=$(set_ifname ibft $mac)
-            dhcp=$(read a < ${iface}/dhcp; echo $a)
+            [ -f ${iface}/dhcp ] && dhcp=$(read a < ${iface}/dhcp; echo $a)
             if [ -n "$dhcp" ]; then
                 echo "ip=$dev:dhcp"
+            elif [ -f ${iface}/ip-addr ]; then
+                [ -f ${iface}/ip-addr ] && ip=$(read a < ${iface}/ip-addr; echo $a)
+                [ -f ${iface}/gateway ] && gw=$(read a < ${iface}/gateway; echo $a)
+                [ -f ${iface}/subnet-mask ] && mask=$(read a < ${iface}/subnet-mask; echo $a)
+                [ -f ${iface}/hostname ] && hostname=$(read a < ${iface}/hostname; echo $a)
+                if [ -n "$ip" ] && [ -n "$mask" ]; then
+                    echo "ip=$ip::$gw:$mask:$hostname:$dev:none"
+                else
+                    warn "${iface} does not contain a valid iBFT configuration"
+                    warn "ip-addr=$ip"
+                    warn "gateway=$gw"
+                    warn "subnet-mask=$mask"
+                    warn "hostname=$hostname"
+                fi
             else
-                ip=$(read a < ${iface}/ip-addr; echo $a)
-                gw=$(read a < ${iface}/gateway; echo $a)
-                mask=$(read a < ${iface}/subnet-mask; echo $a)
-                hostname=$(read a < ${iface}/hostname; echo $a)
-                echo "ip=$ip::$gw:$mask:$hostname:$dev:none"
+                info "${iface} does not contain a valid iBFT configuration"
+                ls -l ${iface} | vinfo
             fi
             echo $mac > /tmp/net.${dev}.has_ibft_config
         done