From f1f79d55dced6c801781b6d6ead6eef56977ed68 Mon Sep 17 00:00:00 2001 From: Jason Ertel Date: Mon, 24 Apr 2023 16:26:23 -0400 Subject: [PATCH] Detect cloud install on forced imdsv2 instances --- setup/so-functions | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/setup/so-functions b/setup/so-functions index c3be68b73..1aff8bdf1 100755 --- a/setup/so-functions +++ b/setup/so-functions @@ -1124,7 +1124,16 @@ create_repo() { detect_cloud() { echo "Testing if setup is running on a cloud instance..." | tee -a "$setup_log" - if ( curl --fail -s -m 5 http://169.254.169.254/latest/meta-data/instance-id > /dev/null ) || ( dmidecode -s bios-vendor | grep -q Google > /dev/null) || [ -f /var/log/waagent.log ]; then export is_cloud="true"; fi + if ( curl --fail -s -m 5 http://169.254.169.254/latest/meta-data/instance-id > /dev/null ) || \ + ( curl --fail -s -m 5 -H "X-aws-ec2-metadata-token: $(curl -s -X PUT 'http://169.254.169.254/latest/api/token' -H 'X-aws-ec2-metadata-token-ttl-seconds: 30')" http://169.254.169.254/latest/meta-data/instance-id > /dev/null) || \ + (dmidecode -s bios-vendor | grep -q Google > /dev/null) || \ + [ -f /var/log/waagent.log ]; then + + echo "Detected a cloud installation." | tee -a "$setup_log" + export is_cloud="true" + else + echo "This does not appear to be a cloud installation." | tee -a "$setup_log" + fi } detect_os() {