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:
parent
6fb5fa088b
commit
e6fb222af3
@ -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)
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user