+contact_count=0
+
+# set to one when we are trying to contact backup server
+on_backup_server=0
+
+# start out contacting the primary servers
+CONNECT_BOOT_SERVER=$BOOT_SERVER
+CONNECT_BOOT_SERVER_PORT=$BOOT_SERVER_PORT
+CONNECT_BOOT_SERVER_PATH=$BOOT_SERVER_PATH
+CONNECT_BOOT_SERVER_GPG_KEYRING=$BOOT_SERVER_GPG_KEYRING
+CONNECT_BOOT_SERVER_CACERT=$BOOT_SERVER_CACERT
+
+while : ; do
+
+ if [[ -f $CANCEL_BOOT_FLAG ]]; then
+ echo "pl_boot: got request to cancel boot, exiting"
+ exit 0
+ fi
+
+ if [[ $contact_count -ge $ATTEMPTS_BEFORE_BACKUP ]]; then
+
+ contact_count=0
+
+ if [[ $on_backup_server == 1 ]]; then
+ echo "pl_boot: failed to contact backup server, trying primary."
+
+ on_backup_server=0
+
+ CONNECT_BOOT_SERVER=$BOOT_SERVER
+ CONNECT_BOOT_SERVER_PORT=$BOOT_SERVER_PORT
+ CONNECT_BOOT_SERVER_PATH=$BOOT_SERVER_PATH
+ CONNECT_BOOT_SERVER_GPG_KEYRING=$BOOT_SERVER_GPG_KEYRING
+ CONNECT_BOOT_SERVER_CACERT=$BOOT_SERVER_CACERT
+ else
+ echo "pl_boot: failed to contact primary server, trying backup."