X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=initscripts%2Fpl_netinit;h=9102d91dc74c6c47dc9f16d179caa9718cf793e6;hb=900c82bd7693bb3edbf367cbeebb049bd5ac3075;hp=fd97f37cbe66b1f06789a9d33f578c65d5652d54;hpb=6271ed5db59747d1453c98d0f1aa9c509cbf233c;p=bootcd.git diff --git a/initscripts/pl_netinit b/initscripts/pl_netinit index fd97f37..9102d91 100755 --- a/initscripts/pl_netinit +++ b/initscripts/pl_netinit @@ -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,9 +321,11 @@ while true; do break fi echo $(date "+%H:%M:%S") " pl_netinit: waiting for device $ETH_DEVICE - ${COUNTER}s/${ALLOW}s" - echo ========== ifconfig beg + set -x /sbin/ifconfig - echo ========== ifconfig end + 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 @@ -347,3 +349,64 @@ 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} + # delete because it's a symlink to /run/systemd/resolve/resolv.conf + # which looks really weird (ls -lL /etc/resolv.conf does not show anything) + rm $file + ( [ -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