From ea706cd660c99337b5497c12f1ef92d3bbb89b2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jake=20Buchholz=20G=C3=B6kt=C3=BCrk?= Date: Tue, 19 Jul 2022 21:08:36 -0700 Subject: [PATCH] * fix nocloud volume datasource mountpoint * improve nocloud cmdline parsing --- lib/tiny-cloud/nocloud/imds | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/tiny-cloud/nocloud/imds b/lib/tiny-cloud/nocloud/imds index a841bb0..eec9af2 100644 --- a/lib/tiny-cloud/nocloud/imds +++ b/lib/tiny-cloud/nocloud/imds @@ -9,10 +9,10 @@ _load_nocloud_cmdline() { local kopt kv k v data for kopt in $(cat /proc/cmdline); do - echo "$kopt" | grep -qE '(^|=)ds=nocloud(-net)?(;|$)' || continue - for kv in $(echo "$kopt" | sed -Ee 's/.*ds=nocloud(-net)?(;|$)//' | tr \; ' '); do + echo "$kopt" | grep -qE '(^|=)ds=nocloud(-net)?;' || continue + for kv in $(echo "${kopt#*;}" | tr \; ' '); do k=$(echo "$kv" | cut -d= -f1) - v=$(echo "$kv" | cut -d= -f2- | sed -Ee s'|^file://|/|') + v=$(echo "$kv" | cut -d= -f2-) case "$k" in h|hostname) echo -e "\nhostname: $v" >> "$TINY_CLOUD_VAR/meta-data" @@ -22,7 +22,7 @@ _load_nocloud_cmdline() { ;; s|seedfrom) for data in $NOCLOUD_FILES; do - case "$v" in + case "${v#file:/}" in /*) cat "$v/$data" >> "$TINY_CLOUD_VAR/$data" || continue echo >> "$TINY_CLOUD_VAR/$data" @@ -46,7 +46,7 @@ _load_nocloud_cmdline() { } _load_nocloud_volume() { - local mntdir=$(mktemp /mnt/cidata-XXXXXX) + local mntdir=$(mktemp -d /mnt/cidata-XXXXXX) local data mounted mkdir -p "$mntdir"