mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-18 04:42: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() {
|
_load_nocloud_cmdline() {
|
||||||
local kopt kv k v data
|
local kopt kv k v data
|
||||||
|
for kopt in $(cat "$ROOT/proc/cmdline" 2>/dev/null) \
|
||||||
for kopt in $(cat "$ROOT/proc/cmdline" 2>/dev/null); do
|
$(grep '^ds=nocloud' "$ROOT"/sys/class/dmi/id/product_serial 2>/dev/null) ; do
|
||||||
echo "$kopt" | grep -qE '(^|=)ds=nocloud(-net)?;' || continue
|
echo "$kopt" | grep -qE '(^|=)ds=nocloud(-net)?;' || continue
|
||||||
for kv in $(echo "${kopt#*;}" | tr \; ' '); do
|
for kv in $(echo "${kopt#*;}" | tr \; ' '); do
|
||||||
k=$(echo "$kv" | cut -d= -f1)
|
k=$(echo "$kv" | cut -d= -f1)
|
||||||
|
|||||||
@ -32,7 +32,8 @@ init_tests \
|
|||||||
imds_ssh_keys_nocloud \
|
imds_ssh_keys_nocloud \
|
||||||
imds_ssh_keys_oci \
|
imds_ssh_keys_oci \
|
||||||
\
|
\
|
||||||
imds_nocloud_cmdline_local_hostname
|
imds_nocloud_cmdline_local_hostname \
|
||||||
|
imds_nocloud_smbios_local_hostname
|
||||||
|
|
||||||
imds_help_body() {
|
imds_help_body() {
|
||||||
atf_check -o match:"Usage: imds" imds -h
|
atf_check -o match:"Usage: imds" imds -h
|
||||||
@ -125,3 +126,14 @@ imds_nocloud_cmdline_local_hostname_body() {
|
|||||||
imds @local-hostname
|
imds @local-hostname
|
||||||
done
|
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