← Back to team overview

yahoo-eng-team team mailing list archive

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

 

This bug is believed to be fixed in cloud-init in version 18.4. If this
is still a problem for you, please make a comment and set the state back
to New

Thank you.

** Changed in: cloud-init
       Status: Fix Committed => Fix Released

-- 
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:
  Fix Released
Status in cloud-init package in Ubuntu:
  Fix Released
Status in cloud-init source package in Xenial:
  Fix Released
Status in cloud-init source package in Bionic:
  Fix Released

Bug description:
  === Begin SRU Template ===
  [Impact]
  Cloud-init should detect OpenStack datasource on any OracleCloud instance.
  Per the bug, it was falling through the DataSourceNone after upgrade to 18.3.9
  and a system reboot.

  [Test Case]
  # Deploy an Oracle cloud bionic instance and validate upgrade/reboot path

  cat > setup_proposed.sh <<EOF
  #/bin/bash
  mirror=http://archive.ubuntu.com/ubuntu
  echo deb \$mirror \$(lsb_release -sc)-proposed main | tee /etc/apt/sources.list.d/proposed.list
  apt-get update -q;
  apt-get install -qy cloud-init;
  EOF

  for vm in '129.146.86.46';
  do
     echo '=== BEGIN ' $vm ' ==='
     ssh ubuntu@$vm  grep CODENAME /etc/os-release;
     ssh ubuntu@$vm -- dpkg-query --show cloud-init;
     ssh ubuntu@$vm -- cloud-init status --long;
     ssh ubuntu@$vm -- cloud-init --version;
     ssh ubuntu@$vm -- cloud-init analyze show;
     scp setup_proposed.sh ubuntu@$vm:.;
     ssh ubuntu@$vm sudo bash ./setup_proposed.sh 2>&1 | egrep 'cloud-init';
     ssh ubuntu@$vm -- sudo cloud-init clean --logs --reboot;
     echo "After clean reboot, upgrade 18.3.9 should detect OpenStackLocal datasource"
     ssh-keygen -f ".ssh/known_hosts" -R $vm;
     ssh ubuntu@$vm -- cloud-init status --long;
     ssh ubuntu@$vm -- cloud-init --version;
  done

  [Regression Potential]
  This fixes a critical issue in datasource detection on Oracle platforms only.
  This should not regress any other platforms and is only a minor code path change
  to include Oracle's DMI chassis asset tag as a valid OpenStack datasource type.

  [Other Info]
  Upstream commit at
    https://git.launchpad.net/cloud-init/commit/?id=0df2b42

  === End SRU Template ===

  === Original 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 limited 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'
         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 detect 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


References