Ubuntu 24.04 LXC containers fail to boot after upgrade

fuomag9

New Member
Mar 17, 2023
25
1
3
As per title, Ubuntu 24.04 LXC containers fail to boot after upgrade.


Code:
run_buffer: 571 Script exited with status 255
lxc_init: 845 Failed to run lxc.hook.pre-start for container "106"
__lxc_start: 2034 Failed to initialize container "106"
TASK ERROR: startup for container '106' failed


running with more verbose:

Code:
lxc-start -n 106 -F -l DEBUG -o /tmp/lxc-CT106.log


Code:
lxc-start 106 20240425195218.330 INFO     confile - ../src/lxc/confile.c:set_config_idmaps:2273 - Read uid map: type u nsid 0 hostid 100000 range 65536
lxc-start 106 20240425195218.330 INFO     confile - ../src/lxc/confile.c:set_config_idmaps:2273 - Read uid map: type g nsid 0
 hostid 100000 range 65536
lxc-start 106 20240425195218.331 INFO     lsm - ../src/lxc/lsm/lsm.c:lsm_init_static:38 - Initialized LSM security driver AppArmor
lxc-start 106 20240425195218.331 INFO     utils - ../src/lxc/utils.c:run_script_argv:587 - Executing script "/usr/share/lxc/hooks/lxc-pve-prestart-hook" for container "106", config section "lxc"
lxc-start 106 20240425195218.849 DEBUG    utils - ../src/lxc/utils.c:run_buffer:560 - Script exec /usr/share/lxc/hooks/lxc-pve-prestart-hook 106 lxc pre-start produced output: unsupported Ubuntu version '24.04'

lxc-start 106 20240425195218.859 ERROR    utils - ../src/lxc/utils.c:run_buffer:571 - Script exited with status 255
lxc-start 106 20240425195218.859 ERROR    start - ../src/lxc/start.c:lxc_init:845 - Failed to run lxc.hook.pre-start for container "106"
lxc-start 106 20240425195218.859 ERROR    start - ../src/lxc/start.c:__lxc_start:2034 - Failed to initialize container "106"
lxc-start 106 20240425195218.859 INFO     utils - ../src/lxc/utils.c:run_script_argv:587 - Executing script "/usr/share/lxc/hooks/lxc-pve-poststop-hook" for container "106", config section "lxc"
lxc-start 106 20240425195219.227 DEBUG    utils - ../src/lxc/utils.c:run_buffer:560 - Script exec /usr/share/lxc/hooks/lxc-pve-poststop-hook 106 lxc post-stop produced output: umount: /var/lib/lxc/.pve-staged-mounts/mp1: not mounted.

lxc-start 106 20240425195219.227 DEBUG    utils - ../src/lxc/utils.c:run_buffer:560 - Script exec /usr/share/lxc/hooks/lxc-pve-poststop-hook 106 lxc post-stop produced output: command 'umount -- /var/lib/lxc/.pve-staged-mounts/mp1' failed: exit code 32

lxc-start 106 20240425195219.230 DEBUG    utils - ../src/lxc/utils.c:run_buffer:560 - Script exec /usr/share/lxc/hooks/lxc-pve-poststop-hook 106 lxc post-stop produced output: umount: /var/lib/lxc/.pve-staged-mounts/mp2: not mounted.

lxc-start 106 20240425195219.230 DEBUG    utils - ../src/lxc/utils.c:run_buffer:560 - Script exec /usr/share/lxc/hooks/lxc-pve-poststop-hook 106 lxc post-stop produced output: command 'umount -- /var/lib/lxc/.pve-staged-mounts/mp2' failed: exit code 32

lxc-start 106 20240425195219.259 INFO     utils - ../src/lxc/utils.c:run_script_argv:587 - Executing script "/usr/share/lxcfs/lxc.reboot.hook" for container "106", config section "lxc"
lxc-start 106 20240425195219.761 ERROR    lxc_start - ../src/lxc/tools/lxc_start.c:lxc_start_main:307 - The container failed to start
lxc-start 106 20240425195219.761 ERROR    lxc_start - ../src/lxc/tools/lxc_start.c:lxc_start_main:312 - Additional information can be obtained by setting the --logfile and --logpriority options


Config:


Code:
arch: amd64
cores: 1
features: nesting=1
hostname: testing
memory: 1024
mp0: disco:vm-106-disk-0,mp=/mountedstuff,size=100G
net0: name=eth0,bridge=vmbr0,firewall=1,hwaddr=CENSOR,ip=dhcp,ip6=auto,tag=CENSOR,type=veth
onboot: 1
ostype: ubuntu
rootfs: nvme-raidz:subvol-106-disk-0,size=4G
swap: 0
unprivileged: 1


I'm using Linux 6.8.4-2-pve on proxmox 8.2.2
 
Last edited:
It seems to be possible to do it ourselves:
https://wiki.chucknemeth.com/proxmox/lxc/lxc-template

There is one already, but no clue how to deploy this:
https://images.linuxcontainers.org/images/ubuntu/noble/
Thats helpfull, but i have no clue how to add them, i think that the proxmox team modifies them anyway a little and they are usually in zstd format not xz (i mean the official Proxmox Templates)

However, i think an 24.04 image is atm in the least Priority, since the Forums are exploding after the 8.2 release with the Kernel Switch :)
Maybe we simply need to wait a week, once everything has calmed down a little.

Cheers
 
  • Like
Reactions: fuomag9 and sava1e
Code:
WARNING: You have not turned on protection against thin pools running out of space.
  WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.
  Logical volume "vm-212-disk-0" created.
  WARNING: Sum of all thin volume sizes (<3.04 TiB) exceeds the size of thin pool pve/data and the size of whole volume group (<1.82 TiB).
Creating filesystem with 8388608 4k blocks and 2097152 inodes
Filesystem UUID: 97e2da20-bd2e-43eb-8f11-1a9eb8619c8f
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624
extracting archive '/var/lib/vz/template/cache/rootfs.tar.xz'
Total bytes read: 531752960 (508MiB, 93MiB/s)
  Logical volume "vm-212-disk-0" successfully removed.
TASK ERROR: unable to create CT 212 - unsupported Ubuntu version '24.04'

Doesn't seem to work...
 
@akidarsa, you still have to wait until Proxmox team will add support for 24.04, or use
Code:
ostype: unmanaged

Example:
Bash:
#!/bin/sh

# Creating LXC Container
pct create 110 /var/lib/vz/template/cache/Ubuntu-24.04-LTS_Noble_Numbat.tar.xz \
--arch amd64 \
--hostname LXC-Ubuntu-24-04 \
--rootfs local-lvm:20 \
--memory 8192 \
--swap 4096 \
--cores 6 \
--ostype unmanaged \
--unprivileged 1 \
--ssh-public-keys /root/.ssh/SSH.pub \
--net0 name=eth0,bridge=vmbr0,ip=dhcp,ip6=auto,type=veth \
--features nesting=1
 
Last edited:
Last edited:
Found one thing that doesn't seem to work yet: I can't set a static ip. It will ignore it...
 
@akidarsa

@Ramalama @fuomag9

nano /usr/share/perl5/PVE/LXC/Setup/Ubuntu.pm
my $known_versions = {
'24.04' => 1, # noble
I made this change as described.Additionally I did this in the same file

if ($version >= '24.04') {$self->setup_systemd_preset({ 'systemd-networkd.service' => 1 });
}

This is what I wrote about

if ($version >= '23.04') {$self->setup_systemd_preset({ 'systemd-networkd.service' => 1 });
}

Then restarted the entire main server.

What can I say after restarting the server, Ubuntu 24.04 runs
wonderfully, the installertion starts and stops cleanly without errors.
Using username "root".
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.4-2-pve x86_64)

I created the images myself (Ubuntu 22.04 update to Ubuntu 24.04). Everything worked wonderfully.
 
@fiona, I appreciate your great work, but I find it a little strange that we have the official 24.04 template now and we can't create an LXC container after downloading it (TASK ERROR: Unable to create CT <ID> - unsupported Ubuntu version '24.04'). Don't you think? Perhaps it would be better to release an update with this fix before creating a new template?
I'm not trying to be disrespectful or anything, it's just a little confusing.
 
There is an update in the test repository for Ubuntu 24.04

Code:
pve-container (5.1.10) bookworm; urgency=medium

  * fix #5414: use proper percentages in `pct df`

  * setup: support Ubuntu 24.04 Noble

  * setup: unlink default netplan configuration even with Ubuntu >= 23.04
 
  • Like
Reactions: Ramalama
@fiona, I appreciate your great work, but I find it a little strange that we have the official 24.04 template now and we can't create an LXC container after downloading it (TASK ERROR: Unable to create CT <ID> - unsupported Ubuntu version '24.04'). Don't you think? Perhaps it would be better to release an update with this fix before creating a new template?
I'm not trying to be disrespectful or anything, it's just a little confusing.
I agree, it is confusing. The template actually still had issues and was supposed to be retracted already, which it was now. The pve-container package will likely be moved to other repositories soon. In fact, it was moved to pve-no-subscription earlier today.
 
I agree, it is confusing. The template actually still had issues and was supposed to be retracted already, which it was now. The pve-container package will likely be moved to other repositories soon. In fact, it was moved to pve-no-subscription earlier today.
So with pve-container 5.1.10 the ubuntu 24.04 template should work then?
But the template was removed from the repo, because we needed first pve-container 5.1.10?
Now we have 5.1.10, but no ubuntu 24.04 template, if i understand it correctly?

Thanks fiona, sorry for the stupid questions, but im confused now a bit either xD
 
So with pve-container 5.1.10 the ubuntu 24.04 template should work then?
The template from linuxcontainers.org should work with pve-container>=5.1.10
But the template was removed from the repo, because we needed first pve-container 5.1.10?
No, the template was removed, because the template itself had issues.
Now we have 5.1.10, but no ubuntu 24.04 template, if i understand it correctly?
Until a fixed version is available, you'll need to get it from another template provider (EDIT: or install 23.10 and upgrade)
 
Last edited: