LTS upgrade to v21 breaks in LXD containers in OpenStack (nova-compute-lxd)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
Some time ago, cloud-init version 21 was pushed to all LTS releases including 20.04, and 18.04. It will be installed by default and present in all LTS cloud images.
We are running LXD in OpenStack using nova-compute-lxd and unmodified cloud images. Since cloud-init was upgraded in LTS images, cloud-init will only use the new LXD data source, and will no longer contact the EC2-compatible meta-data server from OpenStack. This means that all LXD instances will not receive any meta-data anymore, as it is only available via the meta-data server.
No new LXD instances can be started and configured in OpenStack, not with the current LTS 18.04 nor the LTS 20.04 images. We cannot rebuild instances nor spawn new ones, despite using the LTS releases that formerly worked.
Can the upgrade be rolled backed, or the data source be disabled, to restore the original LTS behavior?
ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: cloud-init 21.4-0ubuntu1~
ProcVersionSign
Uname: Linux 4.15.0-166-generic x86_64
ApportVersion: 2.20.11-
Architecture: amd64
CasperMD5CheckR
CloudName: OpenStack
Date: Wed Jan 26 15:44:05 2022
Ec2AMI: ami-000002c6
Ec2AMIManifest: FIXME
Ec2Availability
Ec2InstanceType: p2.medium
Ec2Kernel: unavailable
Ec2Ramdisk: unavailable
PackageArchitec
ProcEnviron:
SHELL=/bin/bash
LANG=C.UTF-8
TERM=xterm-
XDG_RUNTIME_
PATH=(custom, no user)
SourcePackage: cloud-init
UpgradeStatus: No upgrade log present (probably fresh install)
user_data.txt: Error: path contained symlinks.
Changed in cloud-init (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → High |
The intent was not to change LTS behavior, so yes, we will modify the behavior accordingly.
Can you help me understand your use case so we know what needs to change? Previous to this LXD Datasource, we expected LXD containers to be identified to cloud-init using the NoCloud datasource. It sounds like in your case, they're identifying as a different datasource. You mention Openstack but also an EC2-compatible metadata. Do you know which datasource is being identified and how this is being accomplished?
I looked at the attached logs, and I currently only see logs from a machine that identified the LXD datasource. Is there a possibility of obtaining cloud-init logs from a machine that hasn't been upgraded and doesn't identify the LXD datasource? To do so, run "cloud-init collect-logs" and upload the resulting tarball to this bug.