Skip to content

Ephemeral VMs use a small var partition size, without the means of increasing this #200

@yorickpeterse

Description

@yorickpeterse

I have a container and contains a Podman quadlet. This quadlet is configured with Pull=newer. The container doesn't embed the quadlet's image so I can keep my bootc/VM image small.

This seems to pose a problem for bcvk's ephemeral VMs however: per df -h the size of /var is only 780 MiB, but the container image I'm trying to pull for my quadlet is 2+ GiB, resulting in the pull failing due to insufficient disk space.

While bcvk libvirt related commands should allow you to work around that, those don't seem to work either. For example:

bcvk libvirt run --filesystem ext4 localhost/web:latest

This produces:

Creating libvirt domain 'web' (install source container image: localhost/web:latest)
 INFO Creating base disk: "/home/yorickpeterse/.local/share/libvirt/images/bootc-base-26e4d8fee5fcae63.qcow2"
Connected (4 seconds elapsed), beginning installation...
Setting up temporary filesystems...
rm: cannot remove '/var/lib/containers/storage/overlay': Device or resource busy
Error: 
   0: Failed to find or create base disk
   1: Failed to install bootc to base disk: "/home/yorickpeterse/.local/share/libvirt/images/bootc-base-26e4d8fee5fcae63.ecovti.tmp.qcow2"
   2: SSH installation command failed with exit code: Some(1)

Location:
   crates/kit/src/to_disk.rs:551

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

For comparison, building an image with bootc-image-builder and running it with qemu-system does work, though that's only because bootc-image-builder always forces a disk image size of 10 GiB, so it too would likely fail at some point given a sufficient amount of containers to pull in.

To resolve this, the default size of /var should probably be increased and an option for this should be exposed to the various ephemeral related commands, such that you could do something along the lines of bcvk ephemeral run-ssh web:latest --var-size=10G.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions