shellcheck: Fix shellcheck SC2068

> Double quote array expansions to avoid re-splitting elements

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
This commit is contained in:
stevenhorsman 2025-02-28 11:25:14 +00:00
parent 58672068ff
commit c5ff513e0b
23 changed files with 40 additions and 40 deletions

View File

@ -67,7 +67,7 @@ wait_for_reboot() {
local workers=($(oc get nodes | \
awk '{if ($3 == "worker") { print $1 } }'))
# Get the boot ID to compared it changed over time.
for node in ${workers[@]}; do
for node in "${workers[@]}"; do
BOOTIDS[$node]=$(oc get -o jsonpath='{.status.nodeInfo.bootID}'\
node/$node)
echo "Wait $node reboot"
@ -83,7 +83,7 @@ wait_for_reboot() {
return 1
fi
echo "Checking after $(($now - $timer_start)) seconds"
for i in ${!workers[@]}; do
for i in "${!workers[@]}"; do
current_id=$(oc get \
-o jsonpath='{.status.nodeInfo.bootID}' \
node/${workers[i]})

View File

@ -94,14 +94,14 @@ target=$1
# compile all proto files
if [ "$target" = "all" ]; then
# compile all proto files
for f in ${proto_files_list[@]}; do
for f in "${proto_files_list[@]}"; do
echo -e "\n [golang] compiling ${f} ..."
generate_go_sources $f
echo -e " [golang] ${f} compiled\n"
done
else
# compile individual proto file
for f in ${proto_files_list[@]}; do
for f in "${proto_files_list[@]}"; do
if [ "$target" = "$f" ]; then
echo -e "\n [golang] compiling ${target} ..."
generate_go_sources $target

View File

@ -19,7 +19,7 @@ else
fi
info "Run tests"
for KATA_DEPLOY_TEST_ENTRY in ${KATA_DEPLOY_TEST_UNION[@]}
for KATA_DEPLOY_TEST_ENTRY in "${KATA_DEPLOY_TEST_UNION[@]}"
do
bats --show-output-of-passing-tests "${KATA_DEPLOY_TEST_ENTRY}"
done

View File

@ -80,7 +80,7 @@ cleanup() {
# Destroy mediated devices
IFS=$'\n' read -r -d '' -a arr_dev < <( ls -1 /sys/bus/mdev/devices && printf '\0' )
for item in ${arr_dev[@]}; do
for item in "${arr_dev[@]}"; do
if [[ ${item//-/} =~ ^[[:xdigit:]]{32}$ ]]; then
echo 1 | sudo tee /sys/bus/mdev/devices/${item}/remove > /dev/null
fi
@ -100,7 +100,7 @@ validate_env() {
exit 1
fi
necessary_commands=( "${container_engine}" "ctr" "crictl" "lszcrypt" )
for cmd in ${necessary_commands[@]}; do
for cmd in "${necessary_commands[@]}"; do
if ! which ${cmd} > /dev/null 2>&1; then
echo "${cmd} not found" >&2
exit 1
@ -244,4 +244,4 @@ main() {
run_tests
}
main $@
main "$@"

View File

@ -23,13 +23,13 @@ function install_dependencies() {
deps=(xorriso curl qemu-utils openssh-client)
sudo apt-get update
sudo apt-get install -y ${deps[@]} qemu-system-x86
sudo apt-get install -y "${deps[@]}" qemu-system-x86
;;
fedora)
# cloud image dependencies
deps=(xorriso curl qemu-img openssh)
sudo dnf install -y ${deps[@]} qemu-system-x86-core
sudo dnf install -y "${deps[@]}" qemu-system-x86-core
;;
"*")

View File

@ -347,4 +347,4 @@ main() {
check_vfio "${vfio_cid}"
}
main $@
main "$@"

View File

@ -326,4 +326,4 @@ main() {
ssh_vm "/home/${USER}/run.sh"
}
main $@
main "$@"

View File

@ -52,7 +52,7 @@ main()
done
[ "$flag" == "false" ] && result+=("$TEST_ENTRY")
done
echo ${result[@]}
echo "${result[@]}"
}
main "$@"

View File

@ -132,7 +132,7 @@ ensure_yq
info "Running tests with bats version: $(bats --version)"
tests_fail=()
for K8S_TEST_ENTRY in ${K8S_TEST_UNION[@]}
for K8S_TEST_ENTRY in "${K8S_TEST_UNION[@]}"
do
info "$(kubectl get pods --all-namespaces 2>&1)"
info "Executing ${K8S_TEST_ENTRY}"

View File

@ -238,7 +238,7 @@ add_requests_to_policy_settings() {
auto_generate_policy_enabled || return 0
for request in ${requests[@]}
for request in "${requests[@]}"
do
info "${settings_dir}/genpolicy-settings.json: allowing ${request}"
jq ".request_defaults.${request} |= true" \

View File

@ -96,7 +96,7 @@ function generate_build_dockerfile()
local text_to_replace="$4"
local regs=(${registries["${map_key}"]})
for r in ${regs[@]}; do
for r in "${regs[@]}"; do
sed 's|'${text_to_replace}'|'${r}'|g' \
"${dockerfile}.in" > "${dockerfile}"
if sudo -E "${DOCKER_EXE}" build \
@ -513,7 +513,7 @@ function get_current_kata_config_file() {
current_config_file="${KATA_CONFIG_FNAME}"
}
# This function checks if the current session is runnin as root,
# This function checks if the current session is runnin as root,
# if that is not the case, the function exits with an error message.
function check_if_root() {
[ "$EUID" -ne 0 ] && die "Please run as root or use sudo."

View File

@ -19,4 +19,4 @@ supported_artifacts=(
"install_qemu"
)
for c in ${supported_artifacts[@]}; do echo $c; done
for c in "${supported_artifacts[@]}"; do echo $c; done

View File

@ -145,7 +145,7 @@ docker run \
--env ARCH="${ARCH}" \
--rm \
-w ${script_dir} \
build-kata-deploy "${kata_deploy_create}" $@
build-kata-deploy "${kata_deploy_create}" "$@"
if [ $remove_dot_docker_dir == true ]; then
rm -rf "$HOME/.docker"

View File

@ -193,7 +193,7 @@ cleanup_and_fail() {
if [ -n "${extra_tarballs}" ]; then
local mapping
IFS=' ' read -a mapping <<< "${extra_tarballs}"
for m in ${mapping[@]}; do
for m in "${mapping[@]}"; do
local extra_tarball_name=${m%:*}
rm -f "${extra_tarball_name}"
done
@ -273,7 +273,7 @@ install_cached_tarball_component() {
local mapping
IFS=' ' read -a mapping <<< "${extra_tarballs}"
for m in ${mapping[@]}; do
for m in "${mapping[@]}"; do
local extra_tarball_name=${m%:*}
local extra_tarball_path=${m#*:}
@ -1470,5 +1470,5 @@ main() {
}
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
main $@
main "$@"
fi

View File

@ -169,8 +169,8 @@ function get_container_runtime() {
else
echo "k3s"
fi
# Note: we assumed you used a conventional k0s setup and k0s will generate a systemd entry k0scontroller.service and k0sworker.service respectively
# and it is impossible to run this script without a kubelet, so this k0s controller must also have worker mode enabled
# Note: we assumed you used a conventional k0s setup and k0s will generate a systemd entry k0scontroller.service and k0sworker.service respectively
# and it is impossible to run this script without a kubelet, so this k0s controller must also have worker mode enabled
elif host_systemctl is-active --quiet k0scontroller; then
echo "k0s-controller"
elif host_systemctl is-active --quiet k0sworker; then
@ -339,7 +339,7 @@ function adjust_qemu_cmdline() {
# Both qemu and qemu-coco-dev use exactly the same QEMU, so we can adjust
# the shim on the qemu-coco-dev case to qemu
[[ "${shim}" =~ ^(qemu|qemu-coco-dev)$ ]] && qemu_share="qemu"
qemu_binary=$(tomlq '.hypervisor.qemu.path' ${config_path} | tr -d \")
qemu_binary_script="${qemu_binary}-installation-prefix"
qemu_binary_script_host_path="/host/${qemu_binary_script}"
@ -430,7 +430,7 @@ function install_artifacts() {
*)
tdx_not_supported ${ID} ${VERSION_ID}
;;
esac
esac
fi
if [ "${dest_dir}" != "${default_dest_dir}" ]; then
@ -606,19 +606,19 @@ function configure_containerd_runtime() {
local runtime_type=\"io.containerd."${runtime}".v2\"
local runtime_config_path=\"$(get_kata_containers_config_path "${shim}")/${configuration}.toml\"
local runtime_path=\"$(get_kata_containers_runtime_path "${shim}")\"
tomlq -i -t $(printf '%s.runtime_type=%s' ${runtime_table} ${runtime_type}) ${configuration_file}
tomlq -i -t $(printf '%s.runtime_path=%s' ${runtime_table} ${runtime_path}) ${configuration_file}
tomlq -i -t $(printf '%s.privileged_without_host_devices=true' ${runtime_table}) ${configuration_file}
tomlq -i -t $(printf '%s.pod_annotations=["io.katacontainers.*"]' ${runtime_table}) ${configuration_file}
tomlq -i -t $(printf '%s.ConfigPath=%s' ${runtime_options_table} ${runtime_config_path}) ${configuration_file}
if [ "${DEBUG}" == "true" ]; then
tomlq -i -t '.debug.level = "debug"' ${configuration_file}
fi
if [ -n "${SNAPSHOTTER_HANDLER_MAPPING}" ]; then
for m in ${snapshotters[@]}; do
for m in "${snapshotters[@]}"; do
key="${m%$snapshotters_delimiter*}"
if [ "${key}" != "${shim}" ]; then
@ -746,7 +746,7 @@ function snapshotter_handler_mapping_validation_check() {
return
fi
for m in ${snapshotters[@]}; do
for m in "${snapshotters[@]}"; do
shim="${m%$snapshotters_delimiter*}"
snapshotter="${m#*$snapshotters_delimiter}"
@ -813,7 +813,7 @@ function main() {
containerd_conf_tmpl_file="${containerd_conf_file}.tmpl"
containerd_conf_file_backup="${containerd_conf_tmpl_file}.bak"
elif [[ "$runtime" =~ ^(k0s-worker|k0s-controller)$ ]]; then
# From 1.27.1 onwards k0s enables dynamic configuration on containerd CRI runtimes.
# From 1.27.1 onwards k0s enables dynamic configuration on containerd CRI runtimes.
# This works by k0s creating a special directory in /etc/k0s/containerd.d/ where user can drop-in partial containerd configuration snippets.
# k0s will automatically pick up these files and adds these in containerd configuration imports list.
containerd_conf_file="/etc/containerd/containerd.d/kata-containers.toml"

View File

@ -718,4 +718,4 @@ main() {
esac
}
main $@
main "$@"

View File

@ -143,8 +143,8 @@ function _publish_multiarch_manifest()
_check_required_env_var "KATA_DEPLOY_IMAGE_TAGS"
_check_required_env_var "KATA_DEPLOY_REGISTRIES"
for registry in ${REGISTRIES[@]}; do
for tag in ${IMAGE_TAGS[@]}; do
for registry in "${REGISTRIES[@]}"; do
for tag in "${IMAGE_TAGS[@]}"; do
docker manifest create ${registry}:${tag} \
--amend ${registry}:${tag}-amd64 \
--amend ${registry}:${tag}-arm64 \

View File

@ -38,7 +38,7 @@ echo "INFO: Apply patches from $patches_dir"
if [ -d "$patches_dir" ]; then
patches=($(find "$patches_dir" -maxdepth 1 -name '*.patch'|sort -t- -k1,1n))
echo "INFO: Found ${#patches[@]} patches"
for patch in ${patches[@]}; do
for patch in "${patches[@]}"; do
echo "INFO: Apply $patch"
patch -p1 < "$patch" || \
{ echo >&2 "ERROR: Not applied. Exiting..."; exit 1; }

View File

@ -595,4 +595,4 @@ main() {
exit 0
}
main $@
main "$@"

View File

@ -185,4 +185,4 @@ main() {
gen_version_file "${branch}" "${kata_version}"
}
main $@
main "$@"

View File

@ -38,4 +38,4 @@ build_coco_guest_components_from_source() {
popd
}
build_coco_guest_components_from_source $@
build_coco_guest_components_from_source "$@"

View File

@ -19,7 +19,7 @@ fi
pushd "${QEMU_DESTDIR}"
# Remove files to reduce the surface.
echo "INFO: remove uneeded files"
for pattern in ${qemu_black_list[@]}; do
for pattern in "${qemu_black_list[@]}"; do
find . -path "$pattern" | xargs rm -rfv
done

View File

@ -83,4 +83,4 @@ main() {
info "kata-webhook is up and working"
}
main $@
main "$@"