Skip to content

install --via-loopback: Loopback-cleanup-helper never invoked due to missing "internals" subcommand #1510

@SamD2021

Description

@SamD2021

On current tip of main, bootc install --via-loopback attempts to run bootc loopback-cleanup-helper instead of bootc internals loopback-cleanup-helper.

Because the helper is only available under the internals subcommand, this call fails with error: unrecognized subcommand 'loopback-cleanup-helper'.

The likely reason this was not caught earlier is that the spawn itself succeeds and the failure can't be easily checked due to the fire and forget nature required by the out of process helper. Because of this, the install still completes and the system boots normally even though the command is incorrect resulting in the cleanup helper never running, leaving loop devices uncleared and not reaching the loopback cleanup work added in #1402 / #1449.


Expected behavior:
The helper should be invoked as:

bootc internals loopback-cleanup-helper --device <path>

so that it runs and cleans up loop devices as intended.


Actual behavior:
Bootc spawns:

bootc loopback-cleanup-helper --device <path>

and fails with:

error: unrecognized subcommand 'loopback-cleanup-helper'

Steps to reproduce:

  1. Clone the bootc repository at current main (tip) and build the container with bootc.

    git clone https://github.com/bootc-dev/bootc
    cd bootc
    just build
  2. Run podman-bootc to trigger a bootc install --via-loopback:

   podman-bootc --log-level debug run localhost/bootc
  1. Observe the log where bootc tries to invoke loopback-cleanup-helper without internals.

Environment:

  • bootc commit: current tip (#3e63596)
  • OS/Distro: Fedora
  • Podman version: 5.5.2

Related issues/PRs:

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