X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=initscripts%2Fpl_boot;h=51aee96444028ffb88ae1d10a95edfa6f273a39f;hb=4b85e30580433a5d81c692170de638e09bd4cc22;hp=247c8680d1ebba51bc7417ba19cf8ea40bccb342;hpb=fd0df04d668834419a7b050bdd90a9f90d095d6c;p=bootcd.git diff --git a/initscripts/pl_boot b/initscripts/pl_boot index 247c868..51aee96 100755 --- a/initscripts/pl_boot +++ b/initscripts/pl_boot @@ -1,4 +1,14 @@ -#!/bin/sh +#!/bin/bash + +### xxx tmp debug + +set -x +echo pl_boot on console > /dev/console +exec > /dev/console +echo pl_boot plain + +### +. /etc/init.d/pl_functions . /tmp/planet.cnf @@ -20,11 +30,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 +43,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 @@ -105,11 +115,7 @@ while : ; do 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 @@ -161,6 +167,31 @@ 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." + ;; + 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