← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1675185] Re: cannot disable apt_configure via cloud-config

 

This bug was fixed in the package cloud-init - 0.7.9-90-g61eb03fe-
0ubuntu1~16.04.1

---------------
cloud-init (0.7.9-90-g61eb03fe-0ubuntu1~16.04.1) xenial-proposed; urgency=medium

  * debian/cloud-init.templates: add Bigstep to list of sources. (LP: #1676460)
  * New upstream snapshot.
    - OpenStack: add 'dvs' to the list of physical link types. (LP: #1674946)
    - Fix bug that resulted in an attempt to rename bonds or vlans.
      (LP: #1669860)
    - tests: update OpenNebula and Digital Ocean to not rely on host
      interfaces.
    - net: in netplan renderer delete known image-builtin content.
      (LP: #1675576)
    - doc: correct grammar in capabilities.rst [David Tagatac]
    - ds-identify: fix detecting of maas datasource. (LP: #1677710)
    - netplan: remove debugging prints, add debug logging [Ryan Harper]
    - ds-identify: do not write None twice to datasource_list.
    - support resizing partition and rootfs on system booted without
      initramfs.  [Steve Langasek] (LP: #1677376)
    - apt_configure: run only when needed. (LP: #1675185)
    - OpenStack: identify OpenStack by product 'OpenStack Compute'.
      (LP: #1675349)
    - GCE: Search GCE in ds-identify, consider serial number in check.
      (LP: #1674861)
    - Add support for setting hashed passwords [Tore S. Lonoy] (LP: #1570325)
    - Fix filesystem creation when using "partition: auto"
      [Jonathan Ballet] (LP: #1634678)
    - ConfigDrive: support reading config drive data from /config-drive.
      (LP: #1673411)
    - ds-identify: fix detection of Bigstep datasource. (LP: #1674766)
    - test: add running of pylint [Joshua Powers]
    - ds-identify: fix bug where filename expansion was left on.
    - advertise network config v2 support (NETWORK_CONFIG_V2) in features.
    - Bigstep: fix bug when executing in python3. [root]
    - Fix unit test when running in a system deployed with cloud-init.
    - Bounce network interface for Azure when using the built-in path.
      [Brent Baude] (LP: #1674685)
    - cloudinit.net: add network config v2 parsing and rendering [Ryan Harper]
    - net: Fix incorrect call to isfile [Joshua Powers] (LP: #1674317)
    - net: add renderers for automatically selecting the renderer.
    - doc: fix config drive doc with regard to unpartitioned disks.
      (LP: #1673818)
    - test: Adding integratiron test for password as list [Joshua Powers]
    - render_network_state: switch arguments around, do not require target
    - support 'loopback' as a device type.
    - Integration Testing: improve testcase subclassing [Wesley Wiedenmeier]
    - gitignore: adding doc/rtd_html [Joshua Powers]
    - doc: add instructions for running integration tests via tox.
      [Joshua Powers]
    - test: avoid differences in 'date' output due to daylight savings.
    - Fix chef config module in omnibus install. [Jeremy Melvin] (LP: #1583837)
    - Add feature flags to cloudinit.version. [Wesley Wiedenmeier]
    - tox: add a citest environment
    - Support chpasswd/list being a list in addition to a string.
      [Sergio Lystopad] (LP: #1665694)
    - doc: Fix configuration example for cc_set_passwords module.
      [Sergio Lystopad] (LP: #1665773)
    - net: support both ipv4 and ipv6 gateways in sysconfig.
      [Lars Kellogg-Stedman] (LP: #1669504)
    - net: do not raise exception for > 3 nameservers
      [Lars Kellogg-Stedman] (LP: #1670052)

 -- Scott Moser <smoser@xxxxxxxxxx>  Mon, 03 Apr 2017 11:52:56 -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/1675185

Title:
  cannot disable apt_configure via cloud-config

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 Yakkety:
  Fix Released
Status in cloud-init source package in Zesty:
  Fix Released

Bug description:
  === Begin SRU Template ===
  [Impact] 
  In work targeted at getting cloud-init into the Ubuntu core image,
  it was noticed that the apt_configure module would fail on Ubuntu core.
  The result was cloud-init reporting failure.

  The changes made were to return early if both:
    a.) there is no 'apt' configuration provided
    b.) there is no 'apt-get' command or the system is snappy.

  [Test Case]
  lxc-proposed-snapshot is 
    https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot
  It publishes an image to lxd with proposed enabled and cloud-init upgraded.

  $ release=xenial
  $ ref=$release-proposed
  $ lxc-proposed-snapshot --proposed --publish $release $ref

  # launch 3 containers 
  #  release-default: no apt config, no files modified. apt_configure module should run.
  #  release-corepass: no apt config, look like ubuntu core. apt_configure should not run.
  #  release-coreapt: apt config, look like ubuntu core. apt_configure should run (and will succeed because this is not core)

  $ apt_cfg=$(printf "#cloud-config\n%s\n" 'apt: {sources: {citest: {source: "ppa:cloud-init-dev/test-archive"}}}')
  $ lxc init $ref $release-default "--config=user.user-data=$apt_cfg"
  $ lxc init $ref $release-coreapt "--config=user.user-data=$apt_cfg"
  $ lxc init $ref $release-corepass

  # create a file that makes cloud-init assume this is core.
  $ for n in $release-coreapt $release-corepass; do
     echo ubuntu-core | lxc file push --create-dirs - $n/etc/system-image/channel.ini; done

  # do not lock default user's passwd (LP: #1679765)
  $ for n in $names; do
     echo "system_info:  {default_user: {lock_passwd: False}}" |
       lxc file push - $n/etc/cloud/cloud.cfg.d/99-nolock-passwd.cfg; done
  # populate /var/lib/extrausers so that adduser --extrausers works.
  $ for n in $names; do
     for f in passwd group gshadow subuid subgid shadow; do lxc file push --create-dirs - $n/var/lib/extrausers/$f </dev/null; done; done

  
  $ names="$release-default $release-corefail $release-coreapt"
  $ lxc start $names
  $ sleep 30

  # expect to see rendering of that file for the default and corefail cases.
  # but not for the
  $ tfile=/etc/cloud/templates/sources.list.ubuntu.tmpl; 
  $ for n in $names; do 
     echo === $n ===; lxc exec $n grep $tfile /var/log/cloud-init.log; done
  === xenial-default ===
  2017-04-04 16:57:09,671 - util.py[DEBUG]: Reading from /etc/cloud/templates/sources.list.ubuntu.tmpl (quiet=False)
  2017-04-04 16:57:09,672 - util.py[DEBUG]: Read 2841 bytes from /etc/cloud/templates/sources.list.ubuntu.tmpl
  === xenial-corefail ===
  2017-04-04 16:57:09,174 - util.py[DEBUG]: Reading from /etc/cloud/templates/sources.list.ubuntu.tmpl (quiet=False)
  2017-04-04 16:57:09,174 - util.py[DEBUG]: Read 2841 bytes from /etc/cloud/templates/sources.list.ubuntu.tmpl
  === xenial-corepass ===

  [Regression Potential] 
  Biggest and catastrophic failure would be for the apt-configure module
  to stop running.  That would result in no mirrors being set up and
  no archives added and such.  Such a regression would be caught in
  cloud-init's integration test.

  [Other Info]

  === End SRU Template ===

  1. Zesty
  2. 0.7.9-68-gef18b8ac-0ubuntu1
  3.

  Boot instance with cloud-config like:

  #cloud-config
  apt_configure_enabled: False

  Or

  #cloud-config
  apt_configure:
    enabled: False

  cloud-init would not run the apt_configure config module

  4. cloud-init cc_apt_configure.py does not check whether it's been
  disabled by config

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