use $() instead of backquotes
[bootcd.git] / initscripts / pl_boot
old mode 100644 (file)
new mode 100755 (executable)
index 247c868..6541dec
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 . /tmp/planet.cnf
 
@@ -20,11 +20,11 @@ ATTEMPTS_BEFORE_BACKUP=3
 BOOT_DIR=/usr/boot/
 
 # get the server we are going to be contacting
-BOOT_SERVER=`cat $BOOT_DIR/boot_server`
-BOOT_SERVER_PORT=`cat $BOOT_DIR/boot_server_port`
+BOOT_SERVER=$(cat $BOOT_DIR/boot_server)
+BOOT_SERVER_PORT=$(cat $BOOT_DIR/boot_server_port)
 
 # the file to request from the boot server
-BOOT_SERVER_PATH=`cat $BOOT_DIR/boot_server_path`
+BOOT_SERVER_PATH=$(cat $BOOT_DIR/boot_server_path)
 
 # location of the cacert for this boot server
 BOOT_SERVER_CACERT=$BOOT_DIR/cacert.pem
@@ -33,11 +33,11 @@ BOOT_SERVER_CACERT=$BOOT_DIR/cacert.pem
 BOOT_SERVER_GPG_KEYRING=$BOOT_DIR/pubring.gpg
 
 # get the backup server we are going to be contacting
-BACKUP_BOOT_SERVER=`cat $BOOT_DIR/backup/boot_server`
-BACKUP_BOOT_SERVER_PORT=`cat $BOOT_DIR/backup/boot_server_port`
+BACKUP_BOOT_SERVER=$(cat $BOOT_DIR/backup/boot_server)
+BACKUP_BOOT_SERVER_PORT=$(cat $BOOT_DIR/backup/boot_server_port)
 
 # the file to request from the backup boot server
-BACKUP_BOOT_SERVER_PATH=`cat $BOOT_DIR/backup/boot_server_path`
+BACKUP_BOOT_SERVER_PATH=$(cat $BOOT_DIR/backup/boot_server_path)
 
 # location of the cacert for the backup boot server
 BACKUP_BOOT_SERVER_CACERT=$BOOT_DIR/backup/cacert.pem
@@ -161,6 +161,33 @@ while : ; do
             umount /tmp/boot-media
             rmdir /tmp/boot-media
         else
+            case $curl_err in
+                6)
+                    echo $(date "+%H:%M:%S") " This error likely indicates a networking configuration error. "
+                    echo $(date "+%H:%M:%S") " Please, check whether you can ping this machine.  If you can, "
+                    echo $(date "+%H:%M:%S") " we recommend checking your DNS settings.  If you cannot, then "
+                    echo $(date "+%H:%M:%S") " please double check your network settings registered at PLC and "
+                    echo $(date "+%H:%M:%S") " stored on this Boot Image."
+                    for file in $(ls /etc/sysconfig/network-scripts/ifcfg-eth* /etc/resolv.conf) ; do 
+                        echo $(date "+%H:%M:%S") contents of $file :
+                        cat $file
+                        echo $(date "+%H:%M:%S") end of $file :
+                    done
+                ;;
+                60)
+                    echo $(date "+%H:%M:%S") " This error likely indicates that the hardware clock is likely not set "
+                    echo $(date "+%H:%M:%S") " to GMT.  The result is that authentication between the local and "
+                    echo $(date "+%H:%M:%S") " remote site fails.  Please double check this machine's system "
+                    echo $(date "+%H:%M:%S") " clock, and set it to GMT in the BIOS. If after rebooting the same "
+                    echo $(date "+%H:%M:%S") " error occurs, please report the situation to support@planet-lab.org "
+                    echo $(date "+%H:%M:%S") " with as much detail as possible."
+                ;;
+                *)
+                    echo $(date "+%H:%M:%S") " The best-practice approach for handling this error is not yet "
+                    echo $(date "+%H:%M:%S") " documented.  Please report this error to support@planet-lab.org "
+                    echo $(date "+%H:%M:%S") " with as much detail as possible."
+                ;;
+            esac
             continue
         fi
     elif [ -n "$DISCONNECTED_OPERATION" ]; then