containers / toolbox

Tool for interactive command line environments on Linux
https://containertoolbx.org/
Apache License 2.0
2.39k stars 208 forks source link

Don't block user interaction while fetching the image size #1415

Closed debarshiray closed 6 months ago

debarshiray commented 7 months ago

It takes skopeo inspect a few seconds to fetch the image size from the remote registry, and while that happens the user can't interact with the image download prompt:

  $ toolbox create
  Image required to create toolbox container.
  <wait for a few seconds>
  Download registry.fedoraproject.org/fedora-toolbox:39 (359.8MB)? [y/N]:

This feels awkward because it's not clear to the user what's going on during those few seconds. Moreover, while knowing the image size can be convenient at times, for example when disk space and network bandwidth are limited, it's not always important.

It will be better if skopeo inspect ran in the background, while waiting for the user to respond to the image download prompt, and once the image size has been fetched, the prompt can be updated to include it.

So, initially:

  $ toolbox create
  Image required to create toolbox container.
  Download registry.fedoraproject.org/fedora-toolbox:39 (...)? [y/N]:

... and then once the size is available:

  $ toolbox create
  Image required to create toolbox container.
  Download registry.fedoraproject.org/fedora-toolbox:39 (359.8MB)? [y/N]:

If skopeo(1) is missing or too old, then the prompt can continue without the size, as it did before:

  $ toolbox create
  Image required to create toolbox container.
  Download registry.fedoraproject.org/fedora-toolbox:39 [y/N]:

https://github.com/containers/toolbox/issues/752 https://github.com/containers/toolbox/issues/1263

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/beacc41e9c884763bfb5191cbfe7b2b8

:heavy_check_mark: unit-test SUCCESS in 9m 33s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 4m 43s :heavy_check_mark: unit-test-restricted SUCCESS in 8m 14s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 35m 25s :heavy_check_mark: system-test-fedora-39 SUCCESS in 34m 05s :heavy_check_mark: system-test-fedora-38 SUCCESS in 34m 08s :heavy_check_mark: system-test-fedora-37 SUCCESS in 34m 26s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/5e710241cfd34b118b37e94150204d40

:heavy_check_mark: unit-test SUCCESS in 8m 38s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 58s :heavy_check_mark: unit-test-restricted SUCCESS in 8m 09s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 31m 52s :heavy_check_mark: system-test-fedora-39 SUCCESS in 30m 14s :heavy_check_mark: system-test-fedora-38 SUCCESS in 30m 30s :heavy_check_mark: system-test-fedora-37 SUCCESS in 30m 36s

debarshiray commented 7 months ago

We need a newer Go (at least 1.20, to be precise) on Ubuntu 22.04:

...
The following additional packages will be installed:
  fish-common golang-1.18 golang-1.18-doc golang-1.18-go golang-1.18-src
  golang-doc golang-go golang-src xsel
...
...
...
[11/14] /home/runner/work/toolbox/toolbox/containers/toolbox/src/go-build-wrapper /home/runner/work/toolbox/toolbox/containers/toolbox/src /home/runner/work/toolbox/toolbox/containers/toolbox/builddir src/toolbox 0.0.99.4 cc /lib64/ld-linux-x86-64.so.2 false
FAILED: src/toolbox 
/home/runner/work/toolbox/toolbox/containers/toolbox/src/go-build-wrapper /home/runner/work/toolbox/toolbox/containers/toolbox/src /home/runner/work/toolbox/toolbox/containers/toolbox/builddir src/toolbox 0.0.99.4 cc /lib64/ld-linux-x86-64.so.2 false
# github.com/containers/toolbox/cmd
cmd/create.go:770:31: undefined: context.WithCancelCause
cmd/create.go:775:43: undefined: context.WithCancelCause
cmd/create.go:802:20: undefined: context.Cause
cmd/create.go:823:19: undefined: context.Cause
cmd/create.go:879:41: undefined: context.WithCancelCause
ninja: build stopped: subcommand failed.
Error: Process completed with exit code 1.
...
softwarefactory-project-zuul[bot] commented 7 months ago

Build failed. https://softwarefactory-project.io/zuul/t/local/buildset/c92cdca4d5a349f6b5f56ba2af8b90fb

:x: unit-test FAILURE in 6m 30s :x: unit-test-migration-path-for-coreos-toolbox FAILURE in 2m 08s :x: unit-test-restricted FAILURE in 5m 36s :x: system-test-fedora-rawhide FAILURE in 6m 40s :x: system-test-fedora-39 FAILURE in 6m 41s :x: system-test-fedora-38 FAILURE in 6m 31s :x: system-test-fedora-37 FAILURE in 6m 24s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/91e009f7daad4969add8aed49c2e3f44

:heavy_check_mark: unit-test SUCCESS in 7m 14s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 23s :heavy_check_mark: unit-test-restricted SUCCESS in 6m 07s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 30m 27s :heavy_check_mark: system-test-fedora-39 SUCCESS in 29m 11s :heavy_check_mark: system-test-fedora-38 SUCCESS in 29m 40s :heavy_check_mark: system-test-fedora-37 SUCCESS in 29m 29s

softwarefactory-project-zuul[bot] commented 7 months ago

Build failed. https://softwarefactory-project.io/zuul/t/local/buildset/a335e348aa214dbe9b2e5b888808c3cf

:heavy_check_mark: unit-test SUCCESS in 11m 33s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 4m 12s :heavy_check_mark: unit-test-restricted SUCCESS in 7m 57s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 54m 33s :x: system-test-fedora-39 TIMED_OUT in 50m 27s :x: system-test-fedora-38 TIMED_OUT in 50m 22s :x: system-test-fedora-37 TIMED_OUT in 50m 25s

debarshiray commented 7 months ago

recheck

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/447c22c026da4980ad91f9ae8c2068e2

:heavy_check_mark: unit-test SUCCESS in 8m 52s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 4m 16s :heavy_check_mark: unit-test-restricted SUCCESS in 7m 36s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 34m 24s :heavy_check_mark: system-test-fedora-39 SUCCESS in 32m 13s :heavy_check_mark: system-test-fedora-38 SUCCESS in 32m 56s :heavy_check_mark: system-test-fedora-37 SUCCESS in 33m 03s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/64ca6c3f05f54b0092a642a508390721

:heavy_check_mark: unit-test SUCCESS in 8m 25s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 6m 42s :heavy_check_mark: unit-test-restricted SUCCESS in 7m 17s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 31m 21s :heavy_check_mark: system-test-fedora-39 SUCCESS in 30m 03s :heavy_check_mark: system-test-fedora-38 SUCCESS in 30m 33s :heavy_check_mark: system-test-fedora-37 SUCCESS in 30m 17s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/7ecbc797552d46359066dc202598330e

:heavy_check_mark: unit-test SUCCESS in 7m 20s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 16s :heavy_check_mark: unit-test-restricted SUCCESS in 6m 35s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 28m 02s :heavy_check_mark: system-test-fedora-39 SUCCESS in 26m 43s :heavy_check_mark: system-test-fedora-38 SUCCESS in 27m 38s :heavy_check_mark: system-test-fedora-37 SUCCESS in 27m 43s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/d74a4150d8d24df09918e74de9537a47

:heavy_check_mark: unit-test SUCCESS in 8m 29s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 38s :heavy_check_mark: unit-test-restricted SUCCESS in 7m 37s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 43m 04s :heavy_check_mark: system-test-fedora-39 SUCCESS in 27m 37s :heavy_check_mark: system-test-fedora-38 SUCCESS in 32m 47s :heavy_check_mark: system-test-fedora-37 SUCCESS in 38m 45s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/25c7958a5a604cff92adaac4b8dc86fa

:heavy_check_mark: unit-test SUCCESS in 7m 16s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 5m 09s :heavy_check_mark: unit-test-restricted SUCCESS in 6m 36s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 34m 16s :heavy_check_mark: system-test-fedora-39 SUCCESS in 29m 49s :heavy_check_mark: system-test-fedora-38 SUCCESS in 43m 02s :heavy_check_mark: system-test-fedora-37 SUCCESS in 33m 18s

HarryMichal commented 7 months ago

I'm going through this at the moment. Will try not to take too long to comment.

debarshiray commented 7 months ago

I'm going through this at the moment. Will try not to take too long to comment.

Thanks for taking the time to look at the code, and try it out!

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/f52047627ad74aa291017315aba70957

:heavy_check_mark: unit-test SUCCESS in 8m 26s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 4m 11s :heavy_check_mark: unit-test-restricted SUCCESS in 7m 04s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 31m 33s :heavy_check_mark: system-test-fedora-39 SUCCESS in 32m 56s :heavy_check_mark: system-test-fedora-38 SUCCESS in 30m 26s :heavy_check_mark: system-test-fedora-37 SUCCESS in 30m 25s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/47899c56f26c418f944d87bdbad0e6b2

:heavy_check_mark: unit-test SUCCESS in 7m 17s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 30s :heavy_check_mark: unit-test-restricted SUCCESS in 6m 16s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 28m 15s :heavy_check_mark: system-test-fedora-39 SUCCESS in 28m 59s :heavy_check_mark: system-test-fedora-38 SUCCESS in 29m 55s :heavy_check_mark: system-test-fedora-37 SUCCESS in 27m 21s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/ef7b803117904311837e0c2dca42be31

:heavy_check_mark: unit-test SUCCESS in 8m 58s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 33s :heavy_check_mark: unit-test-restricted SUCCESS in 8m 05s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 31m 54s :heavy_check_mark: system-test-fedora-39 SUCCESS in 28m 15s :heavy_check_mark: system-test-fedora-38 SUCCESS in 30m 38s :heavy_check_mark: system-test-fedora-37 SUCCESS in 28m 38s

softwarefactory-project-zuul[bot] commented 7 months ago

Build failed. https://softwarefactory-project.io/zuul/t/local/buildset/bfb9cdb495d7456681be4ed7feb5fe30

:heavy_check_mark: unit-test SUCCESS in 8m 33s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 4m 10s :heavy_check_mark: unit-test-restricted SUCCESS in 8m 19s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 38m 12s :heavy_check_mark: system-test-fedora-39 SUCCESS in 37m 32s :heavy_check_mark: system-test-fedora-38 SUCCESS in 37m 59s :x: system-test-fedora-37 FAILURE in 37m 55s

debarshiray commented 7 months ago

recheck

softwarefactory-project-zuul[bot] commented 7 months ago

Build failed. https://softwarefactory-project.io/zuul/t/local/buildset/4debb0e8bab7414691dcc5e9887e7418

:heavy_check_mark: unit-test SUCCESS in 11m 11s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 31s :heavy_check_mark: unit-test-restricted SUCCESS in 8m 38s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 37m 43s :heavy_check_mark: system-test-fedora-39 SUCCESS in 35m 17s :heavy_check_mark: system-test-fedora-38 SUCCESS in 35m 59s :x: system-test-fedora-37 FAILURE in 40m 21s

debarshiray commented 7 months ago

I have no idea why this test failed twice only on Fedora 37 hosts:

fedora-37 | not ok 108 container: Start with an old forward incompatible runtime in 59077ms
fedora-37 | # (from function `assert_success' in file test/system/libs/bats-assert/src/assert.bash, line 114,
fedora-37 | #  in test file test/system/103-container.bats, line 46)
fedora-37 | #   `assert_success' failed
fedora-37 | #
fedora-37 | # -- command failed --
fedora-37 | # status : 1
fedora-37 | # output (75 lines):
fedora-37 | #   Failed to initialize container fedora-toolbox-34
fedora-37 | #   level=debug msg="Running as real user ID 0"
fedora-37 | #   level=debug msg="Resolved absolute path to the executable as /usr/bin/toolbox"
fedora-37 | #   level=debug msg="TOOLBOX_PATH is /usr/local/bin/toolbox"
fedora-37 | #   level=debug msg="Migrating to newer Podman"
fedora-37 | #   level=debug msg="Migration not needed: running inside a container"
fedora-37 | #   level=debug msg="Setting up configuration"
fedora-37 | #   level=debug msg="Setting up configuration: file /etc/containers/toolbox.conf not found"
fedora-37 | #   level=debug msg="Setting up configuration: file /root/.config/containers/toolbox.conf not found"
fedora-37 | #   level=debug msg="Resolving container and image names"
fedora-37 | #   level=debug msg="Container: ''"
fedora-37 | #   level=debug msg="Distribution (CLI): ''"
fedora-37 | #   level=debug msg="Image (CLI): ''"
fedora-37 | #   level=debug msg="Release (CLI): ''"
fedora-37 | #   level=debug msg="Resolved container and image names"
fedora-37 | #   level=debug msg="Container: 'fedora-toolbox-34'"
fedora-37 | #   level=debug msg="Image: 'fedora-toolbox:34'"
fedora-37 | #   level=debug msg="Release: '34'"
fedora-37 | #   level=debug msg="Creating /run/.toolboxenv"
fedora-37 | #   level=debug msg="Path /run/host/etc exists"
fedora-37 | #   level=debug msg="Preparing to redirect /etc/host.conf to /run/host/etc/host.conf"
fedora-37 | #   level=debug msg="/run/host/etc/host.conf isn't a symbolic link"
fedora-37 | #   level=debug msg="Redirecting /etc/host.conf to /run/host/etc/host.conf"
fedora-37 | #   level=debug msg="Preparing to redirect /etc/hosts to /run/host/etc/hosts"
fedora-37 | #   level=debug msg="/run/host/etc/hosts isn't a symbolic link"
fedora-37 | #   level=debug msg="Redirecting /etc/hosts to /run/host/etc/hosts"
fedora-37 | #   level=debug msg="Preparing to redirect /etc/localtime to /run/host/etc/localtime"
fedora-37 | #   level=debug msg="/run/host/etc/localtime is a symbolic link"
fedora-37 | #   level=debug msg="Redirecting /etc/localtime to /run/host/etc/localtime"
fedora-37 | #   level=debug msg="Resolved /etc/localtime to /run/host/usr/share/zoneinfo/Etc/UTC"
fedora-37 | #   level=debug msg="Preparing to redirect /etc/resolv.conf to /run/host/etc/resolv.conf"
fedora-37 | #   level=debug msg="/run/host/etc/resolv.conf is a symbolic link"
fedora-37 | #   level=debug msg="Redirecting /etc/resolv.conf to /run/host/etc/resolv.conf"
fedora-37 | #   level=debug msg="Creating regular file /etc/machine-id"
fedora-37 | #   level=debug msg="Binding /etc/machine-id to /run/host/etc/machine-id"
fedora-37 | #   level=debug msg="Creating directory /run/systemd/journal"
fedora-37 | #   level=debug msg="Binding /run/systemd/journal to /run/host/run/systemd/journal"
fedora-37 | #   level=debug msg="Creating directory /run/systemd/resolve"
fedora-37 | #   level=debug msg="Binding /run/systemd/resolve to /run/host/run/systemd/resolve"
fedora-37 | #   level=debug msg="Creating directory /run/systemd/sessions"
fedora-37 | #   level=debug msg="Binding /run/systemd/sessions to /run/host/run/systemd/sessions"
fedora-37 | #   level=debug msg="Creating directory /run/systemd/system"
fedora-37 | #   level=debug msg="Binding /run/systemd/system to /run/host/run/systemd/system"
fedora-37 | #   level=debug msg="Creating directory /run/systemd/users"
fedora-37 | #   level=debug msg="Binding /run/systemd/users to /run/host/run/systemd/users"
fedora-37 | #   level=debug msg="Creating directory /run/udev/data"
fedora-37 | #   level=debug msg="Binding /run/udev/data to /run/host/run/udev/data"
fedora-37 | #   level=debug msg="Creating directory /run/udev/tags"
fedora-37 | #   level=debug msg="Binding /run/udev/tags to /run/host/run/udev/tags"
fedora-37 | #   level=debug msg="Creating directory /tmp"
fedora-37 | #   level=debug msg="Binding /tmp to /run/host/tmp"
fedora-37 | #   level=debug msg="Creating directory /var/lib/systemd/coredump"
fedora-37 | #   level=debug msg="Binding /var/lib/systemd/coredump to /run/host/var/lib/systemd/coredump"
fedora-37 | #   level=debug msg="Creating directory /var/log/journal"
fedora-37 | #   level=debug msg="Binding /var/log/journal to /run/host/var/log/journal"
fedora-37 | #   level=debug msg="Creating directory /sys/fs/selinux"
fedora-37 | #   level=debug msg="Binding /sys/fs/selinux to /usr/share/empty"
fedora-37 | #   level=debug msg="Looking up group for sudo"
fedora-37 | #   level=debug msg="Group for sudo is wheel"
fedora-37 | #   level=debug msg="Modifying user zuul-worker with UID 1000:"
fedora-37 | #   level=debug msg=usermod
fedora-37 | #   level=debug msg=--append
fedora-37 | #   level=debug msg=--groups
fedora-37 | #   level=debug msg=wheel
fedora-37 | #   level=debug msg=--home
fedora-37 | #   level=debug msg=/home/zuul-worker
fedora-37 | #   level=debug msg=--password
fedora-37 | #   level=debug
fedora-37 | #   level=debug msg=--shell
fedora-37 | #   level=debug msg=/bin/bash
fedora-37 | #   level=debug msg=--uid
fedora-37 | #   level=debug msg=1000
fedora-37 | #   level=debug msg=zuul-worker
fedora-37 | #   level=debug msg="Removing password for user root"
fedora-37 | #   passwd: Note: deleting a password also unlocks the password.

The log messages from the entry point of the Toolbx container do look truncated. It mysteriously doesn't proceed to set up Kerberos and RPM inside the container, but there's no apparent error.

I also can't reproduce this on a Fedora 37 host.

We can hand wave this away because F37 has now reached End of Life, but I am apprehensive that this could be a symptom of a real problem somewhere.

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/97c0ea54b3384b33a1a9a512d78b32f8

:heavy_check_mark: unit-test SUCCESS in 8m 39s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 20s :heavy_check_mark: unit-test-restricted SUCCESS in 7m 49s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 30m 22s :heavy_check_mark: system-test-fedora-39 SUCCESS in 29m 00s :heavy_check_mark: system-test-fedora-38 SUCCESS in 29m 32s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/da947bebc82b4a399f76ac8c8dccbe42

:heavy_check_mark: unit-test SUCCESS in 8m 34s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 24s :heavy_check_mark: unit-test-restricted SUCCESS in 8m 10s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 30m 27s :heavy_check_mark: system-test-fedora-39 SUCCESS in 29m 41s :heavy_check_mark: system-test-fedora-38 SUCCESS in 29m 38s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/fb2d5084c40949ebac047098b2251093

:heavy_check_mark: unit-test SUCCESS in 9m 27s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 4m 29s :heavy_check_mark: unit-test-restricted SUCCESS in 8m 12s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 38m 36s :heavy_check_mark: system-test-fedora-39 SUCCESS in 34m 24s :heavy_check_mark: system-test-fedora-38 SUCCESS in 35m 37s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/82970e48ef8a45298b5926199222d112

:heavy_check_mark: unit-test SUCCESS in 8m 25s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 17s :heavy_check_mark: unit-test-restricted SUCCESS in 7m 26s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 30m 36s :heavy_check_mark: system-test-fedora-39 SUCCESS in 28m 47s :heavy_check_mark: system-test-fedora-38 SUCCESS in 29m 03s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/c748a116879a45e0861842d64afdf07d

:heavy_check_mark: unit-test SUCCESS in 8m 51s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 4m 16s :heavy_check_mark: unit-test-restricted SUCCESS in 7m 53s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 34m 03s :heavy_check_mark: system-test-fedora-39 SUCCESS in 32m 52s :heavy_check_mark: system-test-fedora-38 SUCCESS in 32m 50s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/7e198fc0e6d844afaae01b988732a488

:heavy_check_mark: unit-test SUCCESS in 9m 26s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 4m 14s :heavy_check_mark: unit-test-restricted SUCCESS in 8m 34s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 37m 50s :heavy_check_mark: system-test-fedora-39 SUCCESS in 34m 33s :heavy_check_mark: system-test-fedora-38 SUCCESS in 35m 13s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/0a03e3c49cc94f8abe250ba6b2277fc4

:heavy_check_mark: unit-test SUCCESS in 9m 07s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 4m 33s :heavy_check_mark: unit-test-restricted SUCCESS in 8m 08s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 33m 58s :heavy_check_mark: system-test-fedora-39 SUCCESS in 29m 05s :heavy_check_mark: system-test-fedora-38 SUCCESS in 31m 58s

softwarefactory-project-zuul[bot] commented 7 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/731bd84204bc4af885abcb6b5d98f747

:heavy_check_mark: unit-test SUCCESS in 8m 55s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 24s :heavy_check_mark: unit-test-restricted SUCCESS in 8m 16s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 36m 36s :heavy_check_mark: system-test-fedora-39 SUCCESS in 33m 14s :heavy_check_mark: system-test-fedora-38 SUCCESS in 32m 59s

debarshiray commented 6 months ago

Other than removing and installing skopeo(1) on my host, I have been instrumenting the code with something like this to test some of the races and possibilities:

diff --git a/src/cmd/create.go b/src/cmd/create.go
index a9643bf62a22..ca5d4ca876f1 100644
--- a/src/cmd/create.go
+++ b/src/cmd/create.go
@@ -597,6 +597,7 @@ func getImageSizeFromRegistry(ctx context.Context, imageFull string) (string, er
                }
        }

+       //imageSizeFloat = 1
        imageSizeHuman := units.HumanSize(imageSizeFloat)
        return imageSizeHuman, nil
 }
@@ -872,6 +873,7 @@ func showPromptForDownloadSecond(imageFull string, errFirst *promptForDownloadEr
        }

        fmt.Printf("\r")
+       shell.Run("sleep", nil, nil, nil, "2")

        askCtx, askCancel := context.WithCancelCause(parentCtx)
        defer askCancel(errors.New("clean-up"))
@@ -925,6 +927,7 @@ func showPromptForDownloadSecond(imageFull string, errFirst *promptForDownloadEr
                fmt.Printf("\033[K")

                fmt.Printf("...\n")
+               shell.Run("sleep", nil, nil, nil, "2")
                return errContinue
        }

@@ -945,12 +948,15 @@ func showPromptForDownloadSecond(imageFull string, errFirst *promptForDownloadEr

 func showPromptForDownload(imageFull string) bool {
        fmt.Println("Image required to create toolbox container.")
+       shell.Run("sleep", nil, nil, nil, "2")

        shouldPullImage, err := showPromptForDownloadFirst(imageFull)
        if err == nil {
                return shouldPullImage
        }

+       shell.Run("sleep", nil, nil, nil, "2")
+
        var errPromptForDownload *promptForDownloadError
        if !errors.As(err, &errPromptForDownload) {
                panicMsg := fmt.Sprintf("unexpected %T: %s", err, err)

ie., image sizes of different lengths, skopeo(1) being present or absent, the user's typing racing with our updates to the prompt, etc..

softwarefactory-project-zuul[bot] commented 6 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/fceb2e56454d49f1b14c503a701dff80

:heavy_check_mark: unit-test SUCCESS in 7m 02s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 33s :heavy_check_mark: unit-test-restricted SUCCESS in 6m 14s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 29m 44s :heavy_check_mark: system-test-fedora-39 SUCCESS in 28m 05s :heavy_check_mark: system-test-fedora-38 SUCCESS in 30m 19s

softwarefactory-project-zuul[bot] commented 6 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/7ce2156fcbe942d3908c62afb2562fed

:heavy_check_mark: unit-test SUCCESS in 6m 59s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 33s :heavy_check_mark: unit-test-restricted SUCCESS in 5m 52s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 28m 20s :heavy_check_mark: system-test-fedora-39 SUCCESS in 29m 18s :heavy_check_mark: system-test-fedora-38 SUCCESS in 27m 00s

softwarefactory-project-zuul[bot] commented 6 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/6f7bd937d6f24a0186a8cab9e978fee9

:heavy_check_mark: unit-test SUCCESS in 6m 55s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 12s :heavy_check_mark: unit-test-restricted SUCCESS in 5m 55s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 31m 06s :heavy_check_mark: system-test-fedora-39 SUCCESS in 26m 03s :heavy_check_mark: system-test-fedora-38 SUCCESS in 26m 19s

softwarefactory-project-zuul[bot] commented 6 months ago

Build succeeded. https://softwarefactory-project.io/zuul/t/local/buildset/39e9225fa5914a9abc585589c90bc171

:heavy_check_mark: unit-test SUCCESS in 7m 07s :heavy_check_mark: unit-test-migration-path-for-coreos-toolbox SUCCESS in 3m 10s :heavy_check_mark: unit-test-restricted SUCCESS in 6m 13s :heavy_check_mark: system-test-fedora-rawhide SUCCESS in 28m 49s :heavy_check_mark: system-test-fedora-39 SUCCESS in 26m 28s :heavy_check_mark: system-test-fedora-38 SUCCESS in 26m 37s