summaryrefslogtreecommitdiff
path: root/tools/ds-identify
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ds-identify')
-rwxr-xr-xtools/ds-identify14
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/ds-identify b/tools/ds-identify
index bf09a3ad..15d6600e 100755
--- a/tools/ds-identify
+++ b/tools/ds-identify
@@ -108,7 +108,7 @@ DI_DSNAME=""
# this has to match the builtin list in cloud-init, it is what will
# be searched if there is no setting found in config.
DI_DSLIST_DEFAULT="MAAS ConfigDrive NoCloud AltCloud Azure Bigstep \
-CloudSigma CloudStack DigitalOcean Ec2 OpenNebula OpenStack OVF SmartOS"
+CloudSigma CloudStack DigitalOcean Ec2 GCE OpenNebula OpenStack OVF SmartOS"
DI_DSLIST=""
DI_MODE=""
DI_ON_FOUND=""
@@ -383,6 +383,14 @@ dmi_product_name_matches() {
return 1
}
+dmi_product_serial_matches() {
+ is_container && return 1
+ case "${DI_DMI_PRODUCT_SERIAL}" in
+ $1) return 0;;
+ esac
+ return 1
+}
+
dmi_product_name_is() {
is_container && return 1
[ "${DI_DMI_PRODUCT_NAME}" = "$1" ]
@@ -770,6 +778,10 @@ dscheck_GCE() {
if dmi_product_name_is "Google Compute Engine"; then
return ${DS_FOUND}
fi
+ # product name is not guaranteed (LP: #1674861)
+ if dmi_product_serial_matches "GoogleCloud-*"; then
+ return ${DS_FOUND}
+ fi
return ${DS_NOT_FOUND}
}