← 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 was fixed in the package cloud-init - 18.3-9-g2e62cb8a-
0ubuntu1~18.04.2

---------------
cloud-init (18.3-9-g2e62cb8a-0ubuntu1~18.04.2) bionic-proposed; urgency=medium

  * cherry-pick 3cee0bf8: oracle: fix detect_openstack to report True on
    (LP: #1784685)

cloud-init (18.3-9-g2e62cb8a-0ubuntu1~18.04.1) bionic-proposed;
urgency=medium

  * New upstream snapshot. (LP: #1777912)
    - docs: note in rtd about avoiding /tmp when writing files
    - ubuntu,centos,debian: get_linux_distro to align with platform.dist
    - Fix boothook docs on environment variable name (INSTANCE_I ->
      INSTANCE_ID) [Marc Tamsky]
    - update_metadata: a datasource can support network re-config every boot
    - tests: drop salt-minion integration test
    - Retry on failed import of gpg receive keys.
    - tools: Fix run-container when neither source or binary package requested.
    - docs: Fix a small spelling error. [Oz N Tiram]
    - tox: use simplestreams from git repository rather than bzr.

cloud-init (18.3-0ubuntu1~18.04.1) bionic-proposed; urgency=medium

  * debian/rules: update version.version_string to contain packaged version.
    (LP: #1770712)
  * debian/patches/openstack-no-network-config.patch
    add patch to ignore Openstack network_config from network_data.json by
    default
  * New upstream release. (LP: #1777912)
    - release 18.3
    - docs: represent sudo:false in docs for user_groups config module
    - Explicitly prevent `sudo` access for user module [Jacob Bednarz]
    - lxd: Delete default network and detach device if lxd-init created them.
    - openstack: avoid unneeded metadata probe on non-openstack platforms
    - stages: fix tracebacks if a module stage is undefined or empty
      [Robert Schweikert]
    - Be more safe on string/bytes when writing multipart user-data to disk.
    - Fix get_proc_env for pids that have non-utf8 content in environment.
    - tests: fix salt_minion integration test on bionic and later
    - tests: provide human-readable integration test summary when --verbose
    - tests: skip chrony integration tests on lxd running artful or older
    - test: add optional --preserve-instance arg to integraiton tests
    - netplan: fix mtu if provided by network config for all rendered types
    - tests: remove pip install workarounds for pylxd, take upstream fix.
    - subp: support combine_capture argument.
    - tests: ordered tox dependencies for pylxd install
    - util: add get_linux_distro function to replace platform.dist
      [Robert Schweikert]
    - pyflakes: fix unused variable references identified by pyflakes 2.0.0.
    - - Do not use the systemd_prefix macro, not available in this environment
      [Robert Schweikert]
    - doc: Add config info to ec2, openstack and cloudstack datasource docs
    - Enable SmartOS network metadata to work with netplan via per-subnet
      routes [Dan McDonald]
    - openstack: Allow discovery in init-local using dhclient in a sandbox.
    - tests: Avoid using https in httpretty, improve HttPretty test case.
    - yaml_load/schema: Add invalid line and column nums to error message
    - Azure: Ignore NTFS mount errors when checking ephemeral drive
      [Paul Meyer]
    - packages/brpm: Get proper dependencies for cmdline distro.
    - packages: Make rpm spec files patch in package version like in debs.
    - tools/run-container: replace tools/run-centos with more generic.
    - Update version.version_string to contain packaged version.
    - cc_mounts: Do not add devices to fstab that are already present.
      [Lars Kellogg-Stedman]
    - ds-identify: ensure that we have certain tokens in PATH.
    - tests: enable Ubuntu Cosmic in integration tests [Joshua Powers]
    - read_file_or_url: move to url_helper, fix bug in its FileResponse.
    - cloud_tests: help pylint
    - flake8: fix flake8 errors in previous commit.
    - typos: Fix spelling mistakes in cc_mounts.py log messages [Stephen Ford]
    - tests: restructure SSH and initial connections [Joshua Powers]
    - ds-identify: recognize container-other as a container, test SmartOS.
    - cloud-config.service: run After snap.seeded.service.
    - tests: do not rely on host /proc/cmdline in test_net.py
      [Lars Kellogg-Stedman]
    - ds-identify: Remove dupe call to is_ds_enabled, improve debug message.
    - SmartOS: fix get_interfaces for nics that do not have addr_assign_type.
    - tests: fix package and ca_cert cloud_tests on bionic
    - ds-identify: make shellcheck 0.4.6 happy with ds-identify.
    - pycodestyle: Fix deprecated string literals, move away from flake8.
    - azure: Add reported ready marker file. [Joshua Chan]
    - tools: Support adding a release suffix through packages/bddeb.
    - FreeBSD: Invoke growfs on ufs filesystems such that it does not prompt.
      [Harm Weites]
    - tools: Re-use the orig tarball in packages/bddeb if it is around.
    - netinfo: fix netdev_pformat when a nic does not have an address assigned.
    - collect-logs: add -v flag, write to stderr, limit journal to single boot.
    - IBMCloud: Disable config-drive and nocloud only if IBMCloud is enabled.
    - Add reporting events and log_time around early source of blocking time

 -- Chad Smith <chad.smith@xxxxxxxxxxxxx>  Tue, 31 Jul 2018 12:58:16
-0600

** Changed in: cloud-init (Ubuntu Bionic)
       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 Committed
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 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.

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


References