← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1596690] Re: restoring from datasource without dsmode causes stacktrace

 

This bug was fixed in the package cloud-init -
0.7.7~bzr1246-0ubuntu1~16.04.1

---------------
cloud-init (0.7.7~bzr1246-0ubuntu1~16.04.1) xenial-proposed; urgency=medium

  * New upstream snapshot.
    - fix restoring from a datasource that did not have dsmode (LP: #1596690)

cloud-init (0.7.7~bzr1245-0ubuntu1~16.04.1) xenial-proposed;
urgency=medium

  * debian/new-upstream-snapshot: minor change supporting revision
    passed in as an argument.
  * debian/control: Build-Depends on python3-unittest2
  * SRU Upstream to 16.04 (LP: #1595302).
    - user_data: fix error when user-data is not utf-8 decodable
    - write_files: if no permissions are provided, use the default without
      logging a warning.
    - do not write /etc/systemd/network/50-cloud-init-*.link files
    - fix several potential errors identified by pylint.
    - move 'main' into cloudinit/cmd/ for easier testing
    - Remove trailing dot from GCE metadata URL [Phil Roche]
    - Refactor cloudinit networking module to improve testing
    - Change missing Cheetah log warning to debug [Andrew Jorgensen]
    - network configuration improvements
      - centrally handle 'dsmode' (DataSource mode) to be 'local' or 'net.
      - support networking information being read on dreamcompute
      - support reading and applying networking information on SmartOS
      - improve reading networking from openstack network_data.json
      - support for renaming devices in a container.
      - remove blocking of udev rules
    - Apt sources configuration improvements
    - cloud-config specified on kernel command line will now override
      system settings.
    - fix timestamp in reporting events.
    - Paths: fix instance path if datasource's id has a '/'.
    - Config Drive: fix check_instance_id signature.
    - cloudstack: Only use DHCPv4 lease files as a datasource

 -- Scott Moser <smoser@xxxxxxxxxx>  Mon, 27 Jun 2016 16:31:37 -0400

** Changed in: cloud-init (Ubuntu Xenial)
       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/1596690

Title:
  restoring from datasource without dsmode causes stacktrace

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

Bug description:
  On reboot, if cloud-init found a cached /var/lib/cloud/instance/obj.pkl it would restore from it.
  If that class did not have a 'dsmode', then main would stack trace like:
  | "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 530, in status_wrapper
  |     ret = functor(name, args)
  |   File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 247, in main_init
  |     if mode == sources.DSMODE_NETWORK and init.datasource.dsmode != mode:
  | AttributeError: 'DataSourceAzureNet' object has no attribute 'dsmode'

  This would affect upgrade and reboot on any datasource that did not
  have a dsmode previously.

  That list is
    cloudinit/sources/DataSourceAzure.py
    cloudinit/sources/DataSourceBigstep.py
    cloudinit/sources/DataSourceCloudStack.py
    cloudinit/sources/DataSourceDigitalOcean.py
    cloudinit/sources/DataSourceEc2.py
    cloudinit/sources/DataSourceGCE.py
    cloudinit/sources/DataSourceMAAS.py
    cloudinit/sources/DataSourceNone.py
    cloudinit/sources/DataSourceOVF.py
    cloudinit/sources/DataSourceSmartOS.py

  The non-broken datasources then were the ones that previously had a dsmode:
    cloudinit/sources/DataSourceAltCloud.py
    cloudinit/sources/DataSourceCloudSigma.py
    cloudinit/sources/DataSourceConfigDrive.py
    cloudinit/sources/DataSourceNoCloud.py
    cloudinit/sources/DataSourceOpenNebula.py
    cloudinit/sources/DataSourceOpenStack.py

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


References