Closed debarshiray closed 6 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
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
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.
...
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
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
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
recheck
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
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
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
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
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
I'm going through this at the moment. Will try not to take too long to comment.
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!
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
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
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
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
recheck
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
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.
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
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
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
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
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
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
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
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
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..
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
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
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
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
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: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:
... and then once the size is available:
If skopeo(1) is missing or too old, then the prompt can continue without the size, as it did before:
https://github.com/containers/toolbox/issues/752 https://github.com/containers/toolbox/issues/1263