project-stacker / stacker

Build OCI images natively from a declarative format
https://stackerbuild.io
Apache License 2.0
201 stars 34 forks source link

Bug: stacker check does not tell which missing os packages to install #621

Open raharper opened 4 months ago

raharper commented 4 months ago

stacker version

v1.0.0-rc14

Describe the bug

running stacker check on an Jammy azure instance doesn't tell me what packages to install.

After the initial sudo apt -y install lxc-dev which covers lxc packages we need, check then fails like so:

$ stacker --debug check
stacker version v1.0.0-rc14-d3f8ebd
usernsexec-ing [u 0 1000 1 1 100001 65535 g 0 1000 1 1 100001 65535 -- /usr/local/bin/stacker --internal-userns --debug check]
bad exit status from child: 1
child read(): No error information
error: exit status 1
stackerbuild.io/stacker/pkg/container.MaybeRunInNamespace
        /stacker-tree/pkg/container/userns.go:102
main.main.func3
        /stacker-tree/cmd/stacker/main.go:324
github.com/urfave/cli/v2.(*Command).Run
        /stacker-tree/.build/gopath/pkg/mod/github.com/urfave/cli/v2@v2.25.0/command.go:213
github.com/urfave/cli/v2.(*App).RunContext
        /stacker-tree/.build/gopath/pkg/mod/github.com/urfave/cli/v2@v2.25.0/app.go:332
github.com/urfave/cli/v2.(*App).Run
        /stacker-tree/.build/gopath/pkg/mod/github.com/urfave/cli/v2@v2.25.0/app.go:309
main.main
        /stacker-tree/cmd/stacker/main.go:329
runtime.main
        /usr/lib/go/src/runtime/proc.go:267
runtime.goexit
        /usr/lib/go/src/runtime/asm_amd64.s:1650

Only after looking at the stacker check code, do I see the next check is for the newuidmap binary Once I installed newuidmap binary from the uidmap package, all is well.

Definitely should make this more obvious at least on Ubuntu/Debian

To reproduce

  1. launch a jammy ubuntu server instance (vm, cloud, etc)
  2. download stacker v1.0.0-rc14
  3. run stacker check

Expected behavior

stacker check should report the packages that need to be installed when they are missing

Screenshots

No response

Additional context

No response