prjxray/.github/kokoro/steps/hostcheck.sh

95 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# Copyright (C) 2017-2021 The Project X-Ray Authors.
#
# Use of this source code is governed by a ISC-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/ISC
#
# SPDX-License-Identifier: ISC
set -e
echo
echo "========================================"
echo "Waiting for storage"
echo "----------------------------------------"
STORAGE_CHECK_ATTEMPTS=1
while true; do
# Check that tmpfs has been mounted correctly.
set -x +e
mount | grep /tmpfs
MOUNT_RET=$?
set +x -e
if [[ $MOUNT_RET == 0 ]] ; then
break;
else
echo "----------------------------------------"
echo "Error: No storage is mounted on /tmpfs."
echo "----------------------------------------"
echo ""
fi
# Dump debugging information.
echo "========================================"
echo "Mount output"
echo "----------------------------------------"
mount
echo "========================================"
echo "Dmesg dump"
echo "----------------------------------------"
dmesg
echo "========================================"
echo "Partition information"
echo "----------------------------------------"
echo ""
echo "partprobe"
echo "----------------------------------------"
partprobe -s
echo ""
echo "cat /proc/partitions"
echo "----------------------------------------"
cat /proc/partitions
echo ""
echo "cat /etc/fstab"
echo "----------------------------------------"
cat /etc/fstab
echo ""
echo "cat /etc/mtab"
echo "----------------------------------------"
cat /etc/mtab
echo ""
echo "lsblk"
echo "----------------------------------------"
lsblk --list --output 'NAME,KNAME,FSTYPE,MOUNTPOINT,LABEL,UUID,PARTTYPE,PARTLABEL,PARTUUID'
echo ""
echo "sfdisk"
echo "----------------------------------------"
sudo sfdisk --list
echo ""
echo "systemctl | grep mount"
echo "----------------------------------------"
systemctl | grep mount
echo ""
echo "systemctl | grep dev"
echo "----------------------------------------"
systemctl | grep dev
# Fail if we have waited to long.
if [[ $STORAGE_CHECK_ATTEMPTS -gt 10 ]]; then
echo "=============================="
echo " ERROR: Storage check timeout"
echo "=============================="
exit $MOUNT_RET
else
STORAGE_CHECK_ATTEMPTS=$(( $STORAGE_CHECK_ATTEMPTS + 1 ))
fi
# Wait for a bit before rechecking.
SLEEP_FOR=$(( STORAGE_CHECK_ATTEMPTS * 10 ))
echo ""
echo "Sleeping for $SLEEP_FOR seconds before trying again..."
sleep $SLEEP_FOR
done