mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-13 20:42:58 +02:00
cloud-init: Move detection functions into initscript function library
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
@@ -6,44 +6,6 @@
|
||||
. /etc/sysconfig/rc
|
||||
. ${rc_functions}
|
||||
|
||||
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/identify_ec2_instances.html
|
||||
running_on_ec2() {
|
||||
local uuid
|
||||
|
||||
# Check if the hypervisor UUID starts with ec2
|
||||
if [ -r "/sys/hypervisor/uuid" ]; then
|
||||
uuid=$(</sys/hypervisor/uuid)
|
||||
|
||||
[ "${uuid:0:3}" = "ec2" ] && return 0
|
||||
fi
|
||||
|
||||
# Check if the DMI product UUID starts with EC2
|
||||
if [ -r "/sys/devices/virtual/dmi/id/product_uuid" ]; then
|
||||
uuid=$(</sys/devices/virtual/dmi/id/product_uuid)
|
||||
|
||||
[ "${uuid:0:3}" = "EC2" ] && return 0
|
||||
fi
|
||||
|
||||
# We are not running on AWS EC2
|
||||
return 1
|
||||
}
|
||||
|
||||
running_on_azure() {
|
||||
# Check if the vendor is Microsoft
|
||||
if [ -r "/sys/devices/virtual/dmi/id/sys_vendor" ] && \
|
||||
[ "$(</sys/devices/virtual/dmi/id/sys_vendor)" = "Microsoft Corporation" ]; then
|
||||
# Check if this product is a "Virtual Machine"
|
||||
if [ -r "/sys/devices/virtual/dmi/id/product_name" ] && \
|
||||
[ "$(</sys/devices/virtual/dmi/id/product_name)" = "Virtual Machine" ]; then
|
||||
# Yes, we are running on Azure
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# We are not running on Azure
|
||||
return 1
|
||||
}
|
||||
|
||||
case "${1}" in
|
||||
start)
|
||||
# Check if we are running in the cloud
|
||||
|
||||
@@ -784,4 +784,42 @@ umount_ramdisk() {
|
||||
rm -rf "${path_tmpfs}"
|
||||
}
|
||||
|
||||
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/identify_ec2_instances.html
|
||||
running_on_ec2() {
|
||||
local uuid
|
||||
|
||||
# Check if the hypervisor UUID starts with ec2
|
||||
if [ -r "/sys/hypervisor/uuid" ]; then
|
||||
uuid=$(</sys/hypervisor/uuid)
|
||||
|
||||
[ "${uuid:0:3}" = "ec2" ] && return 0
|
||||
fi
|
||||
|
||||
# Check if the DMI product UUID starts with EC2
|
||||
if [ -r "/sys/devices/virtual/dmi/id/product_uuid" ]; then
|
||||
uuid=$(</sys/devices/virtual/dmi/id/product_uuid)
|
||||
|
||||
[ "${uuid:0:3}" = "EC2" ] && return 0
|
||||
fi
|
||||
|
||||
# We are not running on AWS EC2
|
||||
return 1
|
||||
}
|
||||
|
||||
running_on_azure() {
|
||||
# Check if the vendor is Microsoft
|
||||
if [ -r "/sys/devices/virtual/dmi/id/sys_vendor" ] && \
|
||||
[ "$(</sys/devices/virtual/dmi/id/sys_vendor)" = "Microsoft Corporation" ]; then
|
||||
# Check if this product is a "Virtual Machine"
|
||||
if [ -r "/sys/devices/virtual/dmi/id/product_name" ] && \
|
||||
[ "$(</sys/devices/virtual/dmi/id/product_name)" = "Virtual Machine" ]; then
|
||||
# Yes, we are running on Azure
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# We are not running on Azure
|
||||
return 1
|
||||
}
|
||||
|
||||
# End $rc_base/init.d/functions
|
||||
|
||||
Reference in New Issue
Block a user