juju cannot set os base with lxd cloud

snap list |egrep “juju|lxd”

juju 3.4.2 26968 3/stable canonical** -

lxd 5.0.3-d921d2e 28373 5.0/stable/… canonical**

hi, after setting up a localhost lxd cloud, juju cannot set the default-base for the containers it creates. How to reproduce:

  1. set a default lxd environment: sudo lxd init (say Y to all);
  2. bootstrap a localhost lxd cloud: juju bootstrap localhost lxd
  3. create a model: juju add-model lxd
  4. set the os series: juju model-config default-base=ubuntu@22.04
  5. create a container: juju deploy ubuntu (Deployed “ubuntu” from charm-hub charm “ubuntu”, revision 24 in channel latest/stable on ubuntu@22.04/stable)
  6. Observe the juju status until the container is deployed: juju status --watch 2s and watch at the Base (should be ubuntu@22.04)

7: log in into the container: juju ssh ubuntu/0

8: query the ubuntu version : lsb_release -a in my test it is: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04 LTS Release: 24.04 Codename: noble

  1. try an update: sudo apt -y update, you will see the noble repos and not the jammy ones:

Hit:1 Index of /ubuntu noble-security InRelease

Hit:2 Index of /ubuntu noble InRelease

Hit:3 Index of /ubuntu noble-updates InRelease

Hit:4 Index of /ubuntu noble-backports InRelease

1 Like

Could you reproduce it by setting the controller default config for base? Perhaps it would give a different result, helping out to track down the issue.

A side note: Could you actually deploy something with noble (24.04) as base?

I will update the tiny-bash as soon as possible to be able to test that.

sorry, how set the controller default config for base? this is my controller-config

juju controller-config

Attribute Value

agent-logfile-max-backups 2

agent-logfile-max-size 100M

api-port 17070

api-port-open-delay 2s

audit-log-capture-args false

audit-log-exclude-methods ReadOnlyMethods

audit-log-max-backups 10

audit-log-max-size 300M

auditing-enabled true

ca-cert |

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

controller-name lxd

controller-uuid 39d41cf9-3d46-4cdd-856a-62fc87cc9310

juju-db-snap-channel 4.4/stable

max-agent-state-size 524288

max-charm-state-size 2.097152e+06

max-debug-log-duration 24h0m0s

max-prune-txn-batch-size 1e+06

max-prune-txn-passes 100

max-txn-log-size 10M

metering-url https://api.jujucharms.com/omnibus/v3

migration-agent-wait-time 15m0s

model-logfile-max-backups 2

model-logfile-max-size 10M

model-logs-size 20M

mongo-memory-profile default

prune-txn-query-count 1000

prune-txn-sleep-time 10ms

query-tracing-enabled false

query-tracing-threshold 1s

set-numa-control-policy false

state-port 37017

Tying to deploy mysql:

juju deploy ubuntu

juju deploy mysql --channel 8.0/stable

Deployed “mysql” from charm-hub charm “mysql”, revision 196 in channel 8.0/stable on ubuntu@22.04/stable

As you can see, mysql install doesn’t work and ubuntu is a 24.04

juju debug-log --include mysql/0

today I deployed a new VM (22.04) and remade a juju+lxd controller: it worked prefectly with the right default base for config :expressionless:

If you want to search for some type of differences between the two VM I used as test env, I don’t destroy the first one