Fix capture-instance-metadata.sh 80/65580/3
authorAric Gardner <agardner@linuxfoundation.org>
Tue, 22 Sep 2020 20:51:59 +0000 (16:51 -0400)
committerAric Gardner <agardner@linuxfoundation.org>
Tue, 22 Sep 2020 20:55:36 +0000 (16:55 -0400)
bios_vendor file now says Xen, no amazon string
to match on any longer.

cat /sys/devices/virtual/dmi/id/bios_vendor
Xen

however result.json has the info we need.

/run/cloud-init/result.json
{
 "v1": {
  "datasource": "DataSourceEc2Local",
  "errors": []
 }
}

Issue-Id: RELENG-3163

Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Change-Id: Iece691579622608616a6abc8d27b9ca7653ad9ae

shell/capture-instance-metadata.sh

index 23a9f2b..a5914ad 100644 (file)
@@ -17,10 +17,11 @@ if [ -n "${NOMAD_DC}" ]; then
     exit 0
 fi
 
-# detect if we're in AWS
-if grep -qi amazon /sys/devices/virtual/dmi/id/bios_vendor ; then
-    echo "INFO: Running in AWS, not capturing instance metadata"
-    exit 0
+# AWS not supported, exit
+cloudtype="$(jq -r .v1.datasource /run/cloud-init/result.json)"
+if [[ $cloudtype == "DataSourceEc2Local" ]]; then
+   echo "INFO: Running in AWS, not capturing instance metadata"
+   exit 0
 fi
 
 # Retrive OpenStack instace metadata APIs at this IP.