-#!/bin/sh
+#!/bin/bash
+
+. /etc/init.d/pl_functions
. /tmp/planet.cnf
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
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
if [[ $contact_count != 0 ]]; then
- if [[ $on_backup_server == 1 ]]; then
- echo $(date "+%H:%M:%S") " pl_boot: attempting to fetch script from backup server in 30s"
- else
- echo $(date "+%H:%M:%S") " pl_boot: attempting to fetch script from primary server in 30s"
- fi
+ echo $(date "+%H:%M:%S") " pl_boot: next attempt in 30s, to fetch script from server at $CONNECT_BOOT_SERVER"
/bin/sleep 30
fi
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."
+ ;;
+ 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
+ # in any case display as much info as we can (see pl_functions)
+ pl_network_sanity_checks
+ # retry
continue
fi
elif [ -n "$DISCONNECTED_OPERATION" ]; then