** Description changed: === Begin SRU Template === [Impact] - Cloud-init should detect OpenStack datasource on any OrancleCloud instance. + 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; + 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. + 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 + 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. + 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.
-- 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 [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
