BCVK-EPHEMERAL-TEST-BASIC(8)
π bcvk-ephemeral-test-basic(8) β the vibe check for your bootc image π
okay so bestie, welcome to the manual page for bcvk-ephemeral-test-basic β one of the bcvk girls. she's here to boot an ephemeral VM and make sure systemd actually reaches the running state. that's it. that's the whole job. slay. β¨
πΈ SYNOPSIS πΈ
bcvk ephemeral test-basic [OPTIONS] IMAGE
π¦ DESCRIPTION π¦
so what she does is: boot IMAGE as an ephemeral VM and check that systemd reaches the "running" state. it's a quick smoke test for bootc container images β like, does this thing even boot, fr fr. π₯
this is literally shorthand for:
bcvk ephemeral run-ssh IMAGE -- systemctl is-system-running --wait
(that gets run through /bin/sh -c in the VM, with all the handling described below, no cap). she prints the final system state, so on success her only output is "running" β iconic behavior, honestly. π
but if the state is anything else (like "degraded" because some unit failed π), she also lists the failed units for you. and just like with bcvk-ephemeral-run-ssh(8), the VM gets removed when the check completes. gone. deleted. periodt. π
π EXIT STATUS π
0β systemd reached the"running"state π (we love to see it)1β systemd finished booting in another state, such as"degraded"π124β boot did not finish within 10 minutes of SSH becoming available (e.g. a start job with no timeout); the pending jobs are listed β°
also! failures of bcvk-ephemeral-run-ssh(8) itself β like when the VM fails to boot or SSH never becomes available β also exit non-zero (usually 1) and print an error on stderr. so like, if things go weird, check stderr bestie, that's where the tea is. π«
β¨ OPTIONS β¨
IMAGEβ Container image to run as ephemeral VM. this one is required, no skipping it. π--itype=ITYPEβ Instance type (e.g.,u1.nano,u1.small,u1.medium). Overrides vcpus/memory if specified. she's the main character, she overrules everyone else. π--memory=MEMORYβ Memory size (e.g.,4G,2048M, or plain number for MB)- Default:
4G
- Default:
--vcpus=VCPUSβ Number of vCPUs (overridden by--itypeif specified)--consoleβ Connect the QEMU console to the container's stdio (visible viapodman logs/attach)--debugβ Enable debug mode (drop to shell instead of running QEMU)--virtio-serial-out=NAME:FILEβ Add virtio-serial device with output to file (format:name:/path/to/file)--execute=EXECUTEβ Execute command inside VM via systemd and capture output-K,--ssh-keygenβ Generate SSH keypair and inject via systemd credentials--virtiofsd=VIRTIOFSD_BINARYβ Path tovirtiofsdbinary (overrides auto-detection)--output=OUTPUTβ Select how VM output is presented- Possible values:
consolejournal
- Default:
console
- Possible values:
--log-dir=STREAMS=DIRβ Write VM log streams to files in DIR-t,--ttyβ Allocate a pseudo-TTY for container-i,--interactiveβ Keep STDIN open for container-d,--detachβ Run container in background--rmβ Automatically remove container when it exits--name=NAMEβ Assign a name to the container--network=NETWORKβ Configure the network for the container--label=LABELβ Add metadata to the container inkey=valueform-e,--env=ENVβ Set environment variables in the container (key=value)--debug-entrypoint=DEBUG_ENTRYPOINTβ Do not run the default entrypoint directly, but instead invoke the provided command (e.g.bash)--bind=HOST_PATH[:NAME]β Bind mount host directory (RW) at/run/virtiofs-mnt-<name>--ro-bind=HOST_PATH[:NAME]β Bind mount host directory (RO) at/run/virtiofs-mnt-<name>--systemd-units=SYSTEMD_UNITS_DIRβ Directory with systemd units to inject (expectssystem/subdirectory)--bind-storage-roβ Mount host container storage (RO) at/run/virtiofs-mnt-hoststorage--add-swap=ADD_SWAPβ Allocate a swap device of the provided size--mount-disk-file=FILE[:NAME]β Mount disk file as virtio-blk device at/dev/disk/by-id/virtio-<name>--karg=KERNEL_ARGSβ Additional kernel command line arguments--ignition=IGNITION_CONFIGβ Path to Ignition config file (JSON format) to inject via fw_cfg
π EXAMPLES π
Smoke test a Fedora bootc image:
bcvk ephemeral test-basic quay.io/fedora/fedora-bootc:42
Test a locally built image:
podman build -t localhost/mybootc .
bcvk ephemeral test-basic localhost/mybootc
Test with more memory (the default is 4G) and CPUs:
bcvk ephemeral test-basic --memory 8G --vcpus 4 localhost/mybootc
π SEE ALSO π
bcvk-ephemeral(8), bcvk-ephemeral-run-ssh(8)
β VERSION β
v0.21.0
and that's the whole page bestie!! π«Ά this was bcvk-ephemeral-test-basic from the bcvk manual, version v0.21.0 β go forth and smoke test your images, you're gonna do amazing, mwah ππΈβ¨
π¦ where this page comes from
- fedora 43: bcvk 0.21.0-1.fc43 Β· Apache-2.0 OR MIT
- fedora 44: bcvk 0.21.0-1.fc44 Β· Apache-2.0 OR MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms