← Back to team overview

cloud-init-dev team mailing list archive

[Merge] ~kgarloff/cloud-init:detect_otc_as_openstack_ds into cloud-init:master

 

Kurt Garloff has proposed merging ~kgarloff/cloud-init:detect_otc_as_openstack_ds into cloud-init:master.

Requested reviews:
  cloud-init commiters (cloud-init-dev)
Related bugs:
  Bug #1756471 in cloud-init: "ds-identify does not identify openstack  Open Telecom Cloud"
  https://bugs.launchpad.net/cloud-init/+bug/1756471

For more details, see:
https://code.launchpad.net/~kgarloff/cloud-init/+git/cloud-init/+merge/341845

Two commits to address LP: #1756471.
(a) Detect gen1 Xen hosts in OpenTelekomCloud by asset tag as OpenSource DS.
(b) Downgrade OpenStack DS to DS_MAYBE if ConfigDrive2 is detected, as it is a valid fallback on many OpenStack clouds, including OpenTelekomCloud BareMetal systems.
-- 
Your team cloud-init commiters is requested to review the proposed merge of ~kgarloff/cloud-init:detect_otc_as_openstack_ds into cloud-init:master.
diff --git a/tools/ds-identify b/tools/ds-identify
index e3f93c9..9c69786 100755
--- a/tools/ds-identify
+++ b/tools/ds-identify
@@ -875,23 +875,29 @@ dscheck_GCE() {
 dscheck_OpenStack() {
     # the openstack metadata http service
 
-    # if there is a config drive, then do not check metadata
+    OSDS_FOUND=${DS_FOUND}
+    # if there is a config drive, then downgrade OpenStack to fallback
+    # datasource DS_MAYBE (if we find signs of existence).
     # FIXME: if config drive not in the search list, then we should not
     # do this check.
     check_configdrive_v2
     if [ $? -eq ${DS_FOUND} ]; then
-        return ${DS_NOT_FOUND}
+        OSDS_FOUND=${DS_MAYBE}
     fi
     local nova="OpenStack Nova" compute="OpenStack Compute"
     if dmi_product_name_matches "$nova"; then
-        return ${DS_FOUND}
+        return ${OSDS_FOUND}
     fi
     if dmi_product_name_matches "$compute"; then
         # RDO installed nova (LP: #1675349).
-        return ${DS_FOUND}
+        return ${OSDS_FOUND}
     fi
     if [ "${DI_PID_1_PRODUCT_NAME}" = "$nova" ]; then
-        return ${DS_FOUND}
+        return ${OSDS_FOUND}
+    fi
+    # OTC gen1 (Xen) hosts use OpenStack datasource, LP: #1756471
+    if dmi_chassis_asset_tag_matches "OpenTelekomCloud"; then
+        return ${OSDS_FOUND}
     fi
 
     # LP: #1715241 : arch other than intel are not identified properly.

Follow ups