Use grep for Pimox template showcmd validation
This commit is contained in:
parent
3c10516ab7
commit
0b36e21a38
|
|
@ -195,15 +195,13 @@ start_vm() {
|
||||||
trap 'rm -f "$start_script"' 0
|
trap 'rm -f "$start_script"' 0
|
||||||
|
|
||||||
sudo "$qm_cmd" showcmd "$vmid" --pretty >"$start_script"
|
sudo "$qm_cmd" showcmd "$vmid" --pretty >"$start_script"
|
||||||
if ! awk -v vmid="$vmid" '
|
if ! { grep -Fq -- '/usr/bin/kvm' "$start_script" || grep -Fq -- 'qemu-system-aarch64' "$start_script"; } ||
|
||||||
NR == 1 && ($1 == "/usr/bin/kvm" || $1 ~ /qemu-system-aarch64$/) { kvm = 1 }
|
! grep -Fq -- "-id $vmid" "$start_script"; then
|
||||||
$1 == "-id" && $2 == vmid { id = 1 }
|
|
||||||
END { exit (kvm && id) ? 0 : 1 }
|
|
||||||
' "$start_script"; then
|
|
||||||
echo "qm showcmd for VM $vmid did not produce the expected KVM command" >&2
|
echo "qm showcmd for VM $vmid did not produce the expected KVM command" >&2
|
||||||
|
sed 's/^/ showcmd: /' "$start_script" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
smp_count="$(awk '$1 == "-smp" { count++ } END { print count + 0 }' "$start_script")"
|
smp_count="$(grep -c '^[[:space:]]*-smp[[:space:]]' "$start_script" || true)"
|
||||||
if [ "$smp_count" -ne 1 ]; then
|
if [ "$smp_count" -ne 1 ]; then
|
||||||
echo "Expected one native -smp argument for VM $vmid, found $smp_count. Remove stale qm args before starting." >&2
|
echo "Expected one native -smp argument for VM $vmid, found $smp_count. Remove stale qm args before starting." >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue