-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
show progress bar for downloading kic base image #7012
Comments
This would be nice to have for all containers (e.g. cache), even though the kindest is the biggest... There's some discussion upstream, in google/go-containerregistry#670 - it adds a lot of complexity |
@medyagh : are you planning to load kic from a tarball too, similar to the preload ? Or maybe just run |
yeah I meant that wherever we download the ISO, for kic drivers we just do a docker or podman pull |
As workaround, we could load the kicbase image from a tarball that we download ?
That way, cache would also work with the non-daemon drivers (such as podman). |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Unfortunately progress is only implemented for But that API only supports running Docker anyway, so it is obsolete-by-design. if cc.Driver != "docker" {
// TODO: driver == "podman"
klog.Info("Driver isn't docker, skipping base image download")
return
}
if image.ExistsImageInDaemon(cc.KicBaseImage) {
klog.Infof("%s exists in daemon, skipping pull", cc.KicBaseImage)
return
} // ExistsImageInDaemon if img exist in local docker daemon
func ExistsImageInDaemon(img string) bool {
// Check if image exists locally
cmd := exec.Command("docker", "images", "--format", "{{.Repository}}:{{.Tag}}@{{.Digest}}")
if output, err := cmd.Output(); err == nil {
if strings.Contains(string(output), img) {
klog.Infof("Found %s in local docker daemon, skipping pull", img)
return true
}
}
// Else, pull it
return false
} |
Turns out that go-containerregistry doesn't do pull, but uses load from archive internally... |
yes @medyagh , I thought it was stuck and I just gonna ctrl+c, should upgrade this pulling feature. |
we need to treat the kic base image same as VM ISO in the UI
1- download kic base image before creating container (in the same step that we download iso for VM)
2- show progress bar for docker pull (if proress bar not possible, we should show some sort of animation so the user dont be bored and they also know they are waiting on the base image be pulled.
The text was updated successfully, but these errors were encountered: