mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-28 11:43:25 +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
|
. /etc/sysconfig/rc
|
||||||
. ${rc_functions}
|
. ${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
|
case "${1}" in
|
||||||
start)
|
start)
|
||||||
# Check if we are running in the cloud
|
# Check if we are running in the cloud
|
||||||
|
|||||||
@@ -784,4 +784,42 @@ umount_ramdisk() {
|
|||||||
rm -rf "${path_tmpfs}"
|
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
|
# End $rc_base/init.d/functions
|
||||||
|
|||||||
Reference in New Issue
Block a user