MT#62763 Fix shellcheck issues

Warned-by: shellcheck
Change-Id: If320e7b594384d85d129b6cbefdcee020461b06b
mr13.5
Guillem Jover 7 months ago
parent c73cd5b890
commit 1faedf4a2e

@ -1,6 +1,7 @@
#!/bin/bash
################################################################################
# shellcheck disable=SC1091
. /etc/grml/lsb-functions
if [ "$(id -ru)" -ne 0 ] ; then

@ -23,7 +23,7 @@ getBootParam() {
local result=''
stringInString " ${param_to_search}=" "${CMD_LINE}" || return 1
result="${CMD_LINE##*$param_to_search=}"
result="${CMD_LINE##*"$param_to_search"=}"
result="${result%%[ ]*}"
echo "${result}"
return 0

@ -6,10 +6,11 @@ set -u
prompt_for_raid() {
# display disk ID next to the disk name
declare -a DISK_LIST
DISK_LIST=( $(for i in "${AVAILABLE_DISKS[@]}" ; do
disk_info=$(get_disk_info "${i}")
echo "${i}" "${disk_info}" off
done) )
for i in "${AVAILABLE_DISKS[@]}" ; do
disk_info=$(get_disk_info "${i}")
DISK_LIST+=("${i}" "${disk_info}" off)
done
local TMP
TMP=$(mktemp -t ngcp-deployment-raid-prompt.XXXXXXXXXX)
if ! dialog --title "Disk selection for Software RAID" --separate-output \
@ -19,7 +20,8 @@ prompt_for_raid() {
echo "Cancelling as requested by user during disk selection." >&2
exit 1
fi
TARGET_DISK=( $(cat "${TMP}") ); rm -f "${TMP}"
mapfile -t TARGET_DISK <"${TMP}"
rm -f "${TMP}"
if [[ "${#TARGET_DISK[@]}" -ne 2 ]]; then
dialog --title "Disk selection for Software RAID" \
--msgbox "Exactly 2 disks need to be selected, cannot continue." 0 0
@ -30,10 +32,10 @@ prompt_for_raid() {
prompt_for_target() {
# display disk ID next to the disk name
declare -a DISK_LIST
DISK_LIST=( $(for i in "${AVAILABLE_DISKS[@]}" ; do
disk_info=$(get_disk_info "${i}")
echo "${i}" "${disk_info}"
done) )
for i in "${AVAILABLE_DISKS[@]}" ; do
disk_info=$(get_disk_info "${i}")
DISK_LIST+=("${i}" "${disk_info}")
done
local TMP
TMP=$(mktemp -t ngcp-deployment-target-prompt.XXXXXXXXXX)
@ -45,7 +47,8 @@ prompt_for_target() {
echo "Cancelling as requested by user during disk selection." >&2
exit 1
fi
TARGET_DISK=( $(cat "${TMP}") ); rm -f "${TMP}"
mapfile -t TARGET_DISK <"${TMP}"
rm -f "${TMP}"
}
get_disk_info() {
@ -70,8 +73,7 @@ get_disk_info() {
rm -f /tmp/disk_options
declare -a AVAILABLE_DISKS
AVAILABLE_DISKS=( $(lsblk --list -o NAME,TYPE | awk '$2 == "disk" {print $1}' | sort -u) )
mapfile -t AVAILABLE_DISKS < <(lsblk --list -o NAME,TYPE | awk '$2 == "disk" {print $1}' | sort -u)
if [[ -z "${AVAILABLE_DISKS[*]}" ]] ; then
dialog --title "Disk selection" \
@ -95,10 +97,10 @@ if "${SW_RAID}" ; then
rerun=false
prompt_for_raid
done
echo "SWRAID_DISK1=${TARGET_DISK[0]} SWRAID_DISK2=${TARGET_DISK[1]}" > /tmp/disk_options
echo "export SWRAID_DISK1=${TARGET_DISK[0]} SWRAID_DISK2=${TARGET_DISK[1]}" > /tmp/disk_options
else
prompt_for_target
echo "TARGET_DISK=${TARGET_DISK[0]}" > /tmp/disk_options
echo "export TARGET_DISK=${TARGET_DISK[0]}" > /tmp/disk_options
fi
exit 0

@ -13,28 +13,35 @@ RC=0
YELLOW="$(tput setaf 3)"
NORMAL="$(tput op)"
# shellcheck disable=SC1091
. /etc/grml/lsb-functions
einfo "Executing grml-sipwise specific checks..."
eindent
report_ssh_password() {
local rootpwd=$(grep -Eo '\<ssh=[^ ]+' /proc/cmdline || true)
local rootpwd
rootpwd=$(grep -Eo '\<ssh=[^ ]+' /proc/cmdline || true)
if [ "$rootpwd" ]; then
rootpwd=${rootpwd#*=}
local user=$(getent passwd 1000 | cut -d: -f1)
local user
user=$(getent passwd 1000 | cut -d: -f1)
[ -n "$user" ] || user="grml"
local local_if=$(ip -o route show | sed -nre '/^default /s/^default .*dev ([^ ]+).*/\1/p' | head -1)
local local_if
local_if=$(ip -o route show | sed -nre '/^default /s/^default .*dev ([^ ]+).*/\1/p' | head -1)
if [ -n "$local_if" ] ; then
local ipaddr="$(ip -o addr show "$local_if" | grep ' inet ' | head -n 1 | sed -e 's/.*inet \([^ ]*\) .*/\1/' -e 's/\/.*//')"
local ipaddr
ipaddr="$(ip -o addr show "$local_if" | grep ' inet ' | head -n 1 | sed -e 's/.*inet \([^ ]*\) .*/\1/' -e 's/\/.*//')"
fi
local local_if6=$(ip -6 -o route show | sed -nre '/^default /s/^default .*dev ([^ ]+).*/\1/p' | head -1)
local local_if6
local_if6=$(ip -6 -o route show | sed -nre '/^default /s/^default .*dev ([^ ]+).*/\1/p' | head -1)
if [ -n "$local_if6" ] ; then
local ipaddr6="$(ip -6 -o addr show "$local_if6" | grep ' inet6 ' | head -n 1 | sed -e 's/.*inet6 \([^ ]*\) .*/\1/' -e 's/\/.*//')"
local ipaddr6
ipaddr6="$(ip -6 -o addr show "$local_if6" | grep ' inet6 ' | head -n 1 | sed -e 's/.*inet6 \([^ ]*\) .*/\1/' -e 's/\/.*//')"
fi
fi
@ -52,11 +59,13 @@ check_for_existing_pvs()
{
# make sure we don't have a PV named "ngcp" on a different disk,
# otherwise partitioning and booting won't work
local EXISTING_VGS=$(pvs | awk '/\/dev\// {print $2 " " $1}')
local EXISTING_VGS
EXISTING_VGS=$(pvs | awk '/\/dev\// {print $2 " " $1}')
if echo "$EXISTING_VGS" | grep -q '^ngcp ' ; then
# which disk has the PV named "ngcp"?
local NGCP_DISK="$(echo "$EXISTING_VGS" | awk '/^ngcp/ {print $2}')"
local NGCP_DISK
NGCP_DISK="$(echo "$EXISTING_VGS" | awk '/^ngcp/ {print $2}')"
# drop any trailing digits, so we get e.g. /dev/sda for /dev/sda1
NGCP_DISK="${NGCP_DISK%%[0-9]*}"
@ -74,7 +83,8 @@ check_for_existing_pvs()
deploy() {
# choose appropriate deployment.sh script:
local version=$(grep -Eo '\<ngcpvers=[^ ]+' /proc/cmdline || true)
local version
version=$(grep -Eo '\<ngcpvers=[^ ]+' /proc/cmdline || true)
if [ "$version" ]; then
version=${version#*=}
else
@ -104,11 +114,11 @@ deploy() {
if [[ ! -r '/tmp/disk_options' ]]; then
eerror "There is no /tmp/disk_options which should be available after disk selection" ; eend 0
fi
DISK_OPTIONS="$(cat '/tmp/disk_options')"
if [[ -z "${DISK_OPTIONS}" ]]; then
# shellcheck disable=SC1091
source /tmp/disk_options
if [[ -z "${TARGET_DISK}" ]] || { [[ -z "${SWRAID_DISK1}" ]] && [[ -z "${SWRAID_DISK2}" ]]; }; then
ewarn "There are no disk options configured, continuing anyway." ; eend 0
fi
export ${DISK_OPTIONS}
check_for_existing_pvs
report_ssh_password
deploy

Loading…
Cancel
Save