** Description changed: - cloud-init 18.3 cannot detect OpenStack datasource on Oracle cloud - across reboots. + === Begin SRU Template === + [Impact] + Cloud-init should detect OpenStack datasource on any OrancleCloud 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.
** Tags removed: verification-needed-bionic ** Tags added: verification-done-bionic -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1784685 Title: Oracle: cloud-init openstack local detection too strict for oracle cloud To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-init/+bug/1784685/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs