a lame attempt to manually fix /etc/resolv.conf on f22
[bootcd.git] / initscripts / pl_netinit
index 34375f5..9a62830 100755 (executable)
@@ -313,7 +313,7 @@ fi
 # on fedora 21 nodes we see this running in a context where eth0 is not known to the system
 # could be related to a dependency that we poorly describe to systemd
 # I am increasing this timeout to 2 minutes in order to check that conjecture
-ALLOW=120
+ALLOW=60
 COUNTER=0
 while true; do
     if /sbin/ifconfig $ETH_DEVICE >& /dev/null; then
@@ -321,6 +321,11 @@ while true; do
        break
     fi
     echo $(date "+%H:%M:%S") " pl_netinit: waiting for device $ETH_DEVICE - ${COUNTER}s/${ALLOW}s"
+    set -x
+    /sbin/ifconfig
+    journalctl -b | egrep 'eth|bnx|udev'
+    systemctl list-unit-files | grep -i network
+    set +x 
     COUNTER=$(($COUNTER+1))
     [ $COUNTER -ge $ALLOW ] && net_init_failed
     sleep 1
@@ -344,3 +349,61 @@ echo $(date "+%H:%M:%S") " pl_netinit: attempting to start networking"
 /sbin/ifconfig $ETH_DEVICE > $IFCONFIG_OUTPUT
 
 echo $(date "+%H:%M:%S") " pl_netinit: network online"
+
+# patch for f22 - if /etc/resolv.conf is empty in static mode
+function pl_netinit_patch_resolv_conf () {
+    file=/etc/resolv.conf
+    needed=""
+    # missing file : patch needed
+    if ! [ -f $file ]; then
+       needed=true
+    # empty file : patch needed
+    elif cmp $file /dev/null; then
+       needed=true
+    fi
+    if [ -n "$needed" ]; then
+       echo pl_netinit patching $file
+       source /etc/sysconfig/network-scripts/ifcfg-${ETH_DEVICE}
+       ( [ -n "$DNS1" ] && echo nameserver $DNS1; \
+         [ -n "$DNS2" ] && echo nameserver $DNS2 ) > $file
+    else
+       echo pl_netinit has no need to patch $file
+    fi
+    }
+
+function pl_netinit_forensics () {
+
+    echo "-------------------- BEG post pl_netinit forensics"
+
+    file=/root/.ssh/authorized_keys
+    echo "$file"
+    if ! [ -f "$file" ]; then
+       echo "!!!!!!!!!! missing $file"
+    else
+       echo "---------- $file"
+       cat $file
+    fi
+
+    file="/etc/ssh/sshd_config"    
+    if ! [ -f "$file" ]; then
+       echo "!!!!!!!!!! missing $file"
+    else
+       echo '---------- egrep Pass|Auth|PAM|Root' $file
+       grep -v '^#' $file | egrep 'Pass|Auth|PAM|Root'
+    fi
+
+    # on f22 we see an emty resolv.conf...
+    file=/etc/resolv.conf
+    if ! [ -f "$file" ]; then
+       echo "!!!!!!!!!! missing $file"
+    else
+       echo "---------- $file"
+       cat $file
+    fi
+    
+    echo "-------------------- END post pl_netinit forensics"
+}
+
+pl_netinit_patch_resolv_conf
+
+pl_netinit_forensics