1
0
mirror of https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git synced 2025-12-15 11:22:43 +03:00

nocloud: support set data source via smbios in qemu

This commit is contained in:
Natanael Copa 2023-12-14 00:00:48 +00:00 committed by Jake Buchholz Göktürk
parent 6fb5fa088b
commit e6fb222af3
2 changed files with 15 additions and 3 deletions

View File

@ -8,8 +8,8 @@ is_nocloud_loaded() { [ -f "$TINY_CLOUD_VAR/.nocloud_loaded" ]; }
_load_nocloud_cmdline() {
local kopt kv k v data
for kopt in $(cat "$ROOT/proc/cmdline" 2>/dev/null); do
for kopt in $(cat "$ROOT/proc/cmdline" 2>/dev/null) \
$(grep '^ds=nocloud' "$ROOT"/sys/class/dmi/id/product_serial 2>/dev/null) ; do
echo "$kopt" | grep -qE '(^|=)ds=nocloud(-net)?;' || continue
for kv in $(echo "${kopt#*;}" | tr \; ' '); do
k=$(echo "$kv" | cut -d= -f1)

View File

@ -32,7 +32,8 @@ init_tests \
imds_ssh_keys_nocloud \
imds_ssh_keys_oci \
\
imds_nocloud_cmdline_local_hostname
imds_nocloud_cmdline_local_hostname \
imds_nocloud_smbios_local_hostname
imds_help_body() {
atf_check -o match:"Usage: imds" imds -h
@ -125,3 +126,14 @@ imds_nocloud_cmdline_local_hostname_body() {
imds @local-hostname
done
}
imds_nocloud_smbios_local_hostname_body() {
atf_require_prog yx
mkdir -p sys/class/dmi/id
for key in h local-hostname; do
echo "ds=nocloud;$key=myhostname" > sys/class/dmi/id/product_serial
CLOUD=nocloud atf_check \
-o match:'^myhostname$' \
imds @local-hostname
done
}