juju sends "network" top level key to user.network-config in lxd containers
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/
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=
== Longer Info ==
When looking at bug 1651497, I see containers that run cloud-init
have errors in a container's cloud-init log
(http://
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/
via 'user.network-
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-
ProcVersionSign
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
PackageArchitec
ProcEnviron:
TERM=xterm-
PATH=(custom, no user)
LANG=C.UTF-8
SourcePackage: cloud-init
UpgradeStatus: No upgrade log present (probably fresh install)
cloud-init-
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
- Scott Moser: Approve
- Server Team CI bot: Approve (continuous-integration)
- Chad Smith: Approve
-
Diff: 262 lines (+97/-35)2 files modifiedcloudinit/sources/DataSourceNoCloud.py (+31/-1)
tests/unittests/test_datasource/test_nocloud.py (+66/-34)
Changed in juju: | |
status: | New → Triaged |
milestone: | none → 2.5-beta1 |
importance: | Undecided → High |
Changed in juju: | |
milestone: | 2.5-beta1 → 2.5-beta2 |
Changed in juju: | |
status: | In Progress → Fix Committed |
Changed in juju: | |
milestone: | 2.5-beta2 → 2.5-beta3 |
Changed in juju: | |
status: | Fix Committed → Fix Released |
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: /bugs.launchpad .net/juju/ +bug/1804493
https:/
The fix has landed in 2.4 and will be forward-ported to the the develop (2.5) branch soon.