cloud-init: Move detection functions into initscript function library

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2019-06-15 11:22:28 +01:00
parent ee0e3beb39
commit 8bd0c4b17d
2 changed files with 38 additions and 38 deletions

View File

@@ -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

View File

@@ -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