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

Bug #1798117 reported by Scott Moser
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Juju
Fix Released
High
Joseph Phillips
cloud-init
Fix Released
Medium
Unassigned
cloud-init (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

== Short summary ==
In lxd containers launched by juju,
/var/lib/cloud/seed/nocloud-net/network-config has:
 has:
 network:
   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'
and
  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
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=C.UTF-8
SourcePackage: cloud-init
UpgradeStatus: No upgrade log present (probably fresh install)
cloud-init-log-warnings:
 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
user_data.txt:
 #cloud-config
 {}

Related branches

Revision history for this message
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
Revision history for this message
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:
https://bugs.launchpad.net/juju/+bug/1804493

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)
Changed in juju:
milestone: 2.5-beta2 → 2.5-beta3
Revision history for this message
Server Team CI bot (server-team-bot) wrote :

This bug is fixed with commit adbd950a to cloud-init on branch master.
To view that commit see the following URL:
https://git.launchpad.net/cloud-init/commit/?id=adbd950a

Changed in cloud-init:
status: Confirmed → Fix Committed
Revision history for this message
Ryan Harper (raharper) wrote : Fixed in cloud-init version 18.5.

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
Revision history for this message
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
Revision history for this message
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
Revision history for this message
James Falcon (falcojr) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.