juju sends "network" top level key to user.network-config in lxd containers

Bug #1798117 reported by Scott Moser on 2018-10-16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Joseph Phillips
cloud-init (Ubuntu)

Bug Description

== Short summary ==
In lxd containers launched by juju,
/var/lib/cloud/seed/nocloud-net/network-config has:
   config: disabled

That is invalid content. Cloud-init assumes content in 'network-config'
is already namespaced to 'network'. The correct content would be:

  config: disabled

== Easy recreate ==
$ lxc launch ubuntu-daily:bionic \
   "--config=user.network-config={'network': {'config': {'disabled'}}}"

== Longer Info ==
When looking at bug 1651497, I see containers that run cloud-init
have errors in a container's cloud-init log
(http://paste.ubuntu.com/p/5mKXC8pMwH/) like:
  AttributeError: 'NoneType' object has no attribute 'iter_interfaces'
  Failed to rename devices: Failed to apply network config names. Found bad network config version: None

After some looking guessing I realized that juju must be attempting to
disable cloud-init's network configuration via sending the following
into the nocloud seed (/var/lib/cloud/seed/nocloud-net/network-config)
via 'user.network-config'.

cloud-init can clearly handle this better, but juju should not be
sending invalid configuration.

Related bugs:
 * bug 1651497: iscsid.service fails to start in container, results in failed dist-upgrade later on
 * bug 1906187: Version tag is not respected when put last

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: cloud-init 18.3-9-g2e62cb8a-0ubuntu1~18.04.2
ProcVersionSignature: Ubuntu 4.18.0-8.9-generic 4.18.7
Uname: Linux 4.18.0-8-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.4
Architecture: amd64
CloudName: NoCloud
Date: Tue Oct 16 14:33:12 2018
PackageArchitecture: all
 PATH=(custom, no user)
SourcePackage: cloud-init
UpgradeStatus: No upgrade log present (probably fresh install)
 2018-10-16 14:32:01,706 - stages.py[WARNING]: Failed to rename devices: Failed to apply network config names. Found bad network config version: None
 2018-10-16 14:32:01,707 - util.py[WARNING]: failed stage init-local
 AttributeError: 'NoneType' object has no attribute 'version'
 2018-10-16 14:32:02,366 - stages.py[WARNING]: Failed to rename devices: Failed to apply network config names. Found bad network config version: None

Related branches

Scott Moser (smoser) wrote :
Changed in cloud-init:
status: New → Confirmed
Changed in cloud-init (Ubuntu):
status: New → Confirmed
Changed in cloud-init:
importance: Undecided → Medium
Changed in cloud-init (Ubuntu):
importance: Undecided → Medium
Changed in juju:
status: New → Triaged
milestone: none → 2.5-beta1
importance: Undecided → High
Changed in juju:
milestone: 2.5-beta1 → 2.5-beta2
Joseph Phillips (manadart) wrote :

I knew there were a couple of bugs touching on this issue, but I didn't turn this one up in a search yesterday.

I seem to have duplicated it with:

The fix has landed in 2.4 and will be forward-ported to the the develop (2.5) branch soon.

Changed in juju:
assignee: nobody → Joseph Phillips (manadart)
status: Triaged → In Progress
Changed in juju:
status: In Progress → Fix Committed
Ian Booth (wallyworld) on 2018-11-30
Changed in juju:
milestone: 2.5-beta2 → 2.5-beta3

This bug is fixed with commit adbd950a to cloud-init on branch master.
To view that commit see the following URL:

Changed in cloud-init:
status: Confirmed → Fix Committed

This bug is believed to be fixed in cloud-init in version 18.5. If this is still a problem for you, please make a comment and set the state back to New

Thank you.

Changed in cloud-init:
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cloud-init - 18.5-1-g5b065316-0ubuntu1

cloud-init (18.5-1-g5b065316-0ubuntu1) disco; urgency=medium

  * New upstream snapshot.
    - Update to pylint 2.2.2.
    - Release 18.5 (LP: #1808380)
    - tests: add Disco release [Joshua Powers]
    - net: render 'metric' values in per-subnet routes (LP: #1805871)
    - write_files: add support for appending to files. [James Baxter]
    - config: On ubuntu select cloud archive mirrors for armel, armhf, arm64.
      (LP: #1805854)
    - dhclient-hook: cleanups, tests and fix a bug on 'down' event.
    - NoCloud: Allow top level 'network' key in network-config. (LP: #1798117)
    - ovf: Fix ovf network config generation gateway/routes (LP: #1806103)

 -- Ryan Harper <email address hidden> Fri, 14 Dec 2018 14:45:46 -0600

Changed in cloud-init (Ubuntu):
status: Confirmed → Fix Released
Changed in juju:
status: Fix Committed → Fix Released
Scott Moser (smoser) wrote :

The change made here seems to be having fallout at https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/1906187

description: updated
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers