Juju 2.9.35 breaks LXD deployment
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
Critical
|
Joseph Phillips |
Bug Description
We see deployments of charms on arm64 failing on a local LXD failing with the following error:
1 down pending focal failed to start machine 1 (composing user data: invalid machine configuration: missing API hosts), retrying in 10s (10 more attempts)
The container is never created in LXD (checked with `lxc ls`) and Juju times out after some time to create the machine and remains with the error "missing API hosts".
This can be reproduced as follows:
1. Install LXD 5.0 and Juju 2.9
$ snap install --channel=
$ snap install --classic --channel=
2. Initialize LXD with the follow preseed:
$ cat << EOF | lxd init --preseed
config:
cluster.
core.
networks:
- config:
bridge.mode: fan
fan.
fan.
ipv4.
ipv4.nat: "true"
description: ""
name: lxdfan0
type: bridge
project: default
storage_pools:
- config:
size: 19GiB
description: ""
name: data
driver: zfs
profiles:
- config: {}
description: Default LXD profile
devices:
eth0:
nictype: bridged
parent: lxdfan0
type: nic
root:
path: /
pool: data
type: disk
name: default
- config:
boot.autostart: "true"
security.
description: ""
devices: {}
name: juju-anbox-cloud
- config:
boot.autostart: "true"
security.
description: ""
devices: {}
name: juju-controller
- config:
boot.autostart: "true"
security.
description: ""
devices: {}
name: juju-default
projects:
- config:
features.
features.
features.
features.
description: Default LXD project
name: default
EOF
3. Bootstrap a new controller
$ juju bootstrap lxd test-controller
5. After bootstrap has finished, deploy the Ubuntu charm
$ juju deploy ubuntu --constraints=
The deployment will succeed but a machine is never provision and fails with the error from above.
The same preseed for LXD was used with previous versions of Juju prior to 2.9.35 and has caused no similar problems.
This is currently causing all users of the Anbox Cloud Appliance (which we give active support for and sell through cloud marketplaces to fail) to fail to deploy.
Changed in juju: | |
assignee: | nobody → Joseph Phillips (manadart) |
importance: | Undecided → High |
milestone: | none → 2.9.36 |
status: | New → Triaged |
Changed in juju: | |
status: | Triaged → In Progress |
Changed in juju: | |
importance: | High → Critical |
Changed in juju: | |
status: | In Progress → Fix Committed |
Dropping FAN support from the preseed fixes the problem:
config: https_address: 172.31.13.156:8443 https_address: 172.31.13.156:8443 dhcp.expiry: infinite nesting: "true" nesting: "true" nesting: "true" images: "true" networks: "true" profiles: "true" storage. volumes: "true"
cluster.
core.
networks:
- config:
ipv4.
ipv4.nat: "true"
description: ""
name: lxdbr0
type: bridge
project: default
storage_pools:
- config:
size: 19GiB
description: ""
name: data
driver: zfs
profiles:
- config: {}
description: Default LXD profile
devices:
eth0:
nictype: bridged
parent: lxdfan0
type: nic
root:
path: /
pool: data
type: disk
name: default
- config:
boot.autostart: "true"
security.
description: ""
devices: {}
name: juju-anbox-cloud
- config:
boot.autostart: "true"
security.
description: ""
devices: {}
name: juju-controller
- config:
boot.autostart: "true"
security.
description: ""
devices: {}
name: juju-default
projects:
- config:
features.
features.
features.
features.
description: De