← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1784685] [NEW] Oracle: cloud-init openstack local detection too strict for oracle cloud

 

Public bug reported:

cloud-init 18.3 cannot detect OpenStack datasource on Oracle cloud
across reboots.


18.2 properly detects DataSourceOpenstack, but 18.3 added a detect_openstack helper function which fails to detect openstack datasource from the environment or DMI data matching a limit set of conditions:

  -     DMI system-product_name in ['OpenStack Nova', 'OpenStack Compute']
      OracleCloud product-name is 'Standard PC (i440FX + PIIX, 1996)'
  - DMI chassis_asset_tag in ['OpenTelekomCloud']
         Oracle's chassis asset tag is 'OracleCloud.com'

  - proc/1/environ:product_name == 'OpenStack Nova'
        return True  # Non-Intel cpus don't properly report dmi product names
    product_name = util.read_dmi_data('system-product-name')
    if product_name in VALID_DMI_PRODUCT_NAMES:
        return True
    elif util.read_dmi_data('chassis-asset-tag') in VALID_DMI_ASSET_TAGS:
        return True
    elif util.get_proc_env(1).get('product_name') == DMI_PRODUCT_NOVA:
       Oracle's /proc/1/environ has no product_name key:
$ sudo cat /proc/1/environ 
HOME=/init=/sbin/initrecovery=TERM=linuxdrop_caps=BOOT_IMAGE=/boot/vmlinuz-4.15.0-29-genericPATH=/sbin:/usr/sbin:/bin:/usr/binPWD=/rootmnt=/root


We need a more permissive detect_openstack function to allow for detecting Oracle during cloud-init's get_data() method.

** Affects: cloud-init
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1784685

Title:
  Oracle: cloud-init openstack local detection too strict for oracle
  cloud

Status in cloud-init:
  New

Bug description:
  cloud-init 18.3 cannot detect OpenStack datasource on Oracle cloud
  across reboots.

  
  18.2 properly detects DataSourceOpenstack, but 18.3 added a detect_openstack helper function which fails to detect openstack datasource from the environment or DMI data matching a limit set of conditions:

    -     DMI system-product_name in ['OpenStack Nova', 'OpenStack Compute']
        OracleCloud product-name is 'Standard PC (i440FX + PIIX, 1996)'
    - DMI chassis_asset_tag in ['OpenTelekomCloud']
           Oracle's chassis asset tag is 'OracleCloud.com'

    - proc/1/environ:product_name == 'OpenStack Nova'
          return True  # Non-Intel cpus don't properly report dmi product names
      product_name = util.read_dmi_data('system-product-name')
      if product_name in VALID_DMI_PRODUCT_NAMES:
          return True
      elif util.read_dmi_data('chassis-asset-tag') in VALID_DMI_ASSET_TAGS:
          return True
      elif util.get_proc_env(1).get('product_name') == DMI_PRODUCT_NOVA:
         Oracle's /proc/1/environ has no product_name key:
  $ sudo cat /proc/1/environ 
  HOME=/init=/sbin/initrecovery=TERM=linuxdrop_caps=BOOT_IMAGE=/boot/vmlinuz-4.15.0-29-genericPATH=/sbin:/usr/sbin:/bin:/usr/binPWD=/rootmnt=/root

  
  We need a more permissive detect_openstack function to allow for detecting Oracle during cloud-init's get_data() method.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1784685/+subscriptions


Follow ups