diff --git a/pkg/drivers/kic/kic.go b/pkg/drivers/kic/kic.go index e1bd28359d..290aab0722 100644 --- a/pkg/drivers/kic/kic.go +++ b/pkg/drivers/kic/kic.go @@ -122,22 +122,27 @@ func (d *Driver) Create() error { } var waitForPreload sync.WaitGroup - waitForPreload.Add(1) - go func() { - defer waitForPreload.Done() - // If preload doesn't exist, don't bother extracting tarball to volume - if !download.PreloadExists(d.NodeConfig.KubernetesVersion, d.NodeConfig.ContainerRuntime) { - return - } - t := time.Now() - glog.Infof("Starting extracting preloaded images to volume ...") - // Extract preloaded images to container - if err := oci.ExtractTarballToVolume(d.NodeConfig.OCIBinary, download.TarballPath(d.NodeConfig.KubernetesVersion, d.NodeConfig.ContainerRuntime), params.Name, BaseImage); err != nil { - glog.Infof("Unable to extract preloaded tarball to volume: %v", err) - } else { - glog.Infof("duration metric: took %f seconds to extract preloaded images to volume", time.Since(t).Seconds()) - } - }() + if d.NodeConfig.OCIBinary == oci.Docker { + waitForPreload.Add(1) + go func() { + defer waitForPreload.Done() + // If preload doesn't exist, don't bother extracting tarball to volume + if !download.PreloadExists(d.NodeConfig.KubernetesVersion, d.NodeConfig.ContainerRuntime) { + return + } + t := time.Now() + glog.Infof("Starting extracting preloaded images to volume ...") + // Extract preloaded images to container + if err := oci.ExtractTarballToVolume(d.NodeConfig.OCIBinary, download.TarballPath(d.NodeConfig.KubernetesVersion, d.NodeConfig.ContainerRuntime), params.Name, BaseImage); err != nil { + glog.Infof("Unable to extract preloaded tarball to volume: %v", err) + } else { + glog.Infof("duration metric: took %f seconds to extract preloaded images to volume", time.Since(t).Seconds()) + } + }() + } else { + // driver == "podman" + glog.Info("Driver isn't docker, skipping extracting preloaded images") + } if err := oci.CreateContainerNode(params); err != nil { return errors.Wrap(err, "create kic node")