1
0
mirror of https://github.com/rancher/os.git synced 2025-09-19 17:38:30 +00:00

Add more logs for preload-images action and elegant close some files (#2196)

This commit is contained in:
niusmallnan
2017-12-29 13:24:51 +08:00
committed by GitHub
parent 0a26e696ee
commit f458e0408d

View File

@@ -23,7 +23,11 @@ const (
) )
func preloadImagesAction(c *cli.Context) error { func preloadImagesAction(c *cli.Context) error {
return PreloadImages(docker.NewDefaultClient, userImagesPreloadDirectory) err := PreloadImages(docker.NewDefaultClient, userImagesPreloadDirectory)
if err != nil {
log.Errorf("Failed to preload user images: %v", err)
}
return err
} }
func shouldLoad(file string) bool { func shouldLoad(file string) bool {
@@ -56,6 +60,7 @@ func PreloadImages(clientFactory func() (dockerClient.APIClient, error), imagesD
for _, file := range files { for _, file := range files {
filename := path.Join(imagesDir, file.Name()) filename := path.Join(imagesDir, file.Name())
if !shouldLoad(filename) { if !shouldLoad(filename) {
log.Infof("Skipping to preload the file: %s", filename)
continue continue
} }
@@ -63,6 +68,7 @@ func PreloadImages(clientFactory func() (dockerClient.APIClient, error), imagesD
if err != nil { if err != nil {
return err return err
} }
defer image.Close()
var imageReader io.Reader var imageReader io.Reader
imageReader = image imageReader = image
match, err := regexp.MatchString(".t?gz$", file.Name()) match, err := regexp.MatchString(".t?gz$", file.Name())
@@ -88,18 +94,15 @@ func PreloadImages(clientFactory func() (dockerClient.APIClient, error), imagesD
if _, err = client.ImageLoad(context.Background(), imageReader, false); err != nil { if _, err = client.ImageLoad(context.Background(), imageReader, false); err != nil {
return err return err
} }
log.Infof("Finished to load image %s", filename)
if err = image.Close(); err != nil { log.Infof("Creating done stamp file for image %s", filename)
return err
}
doneStamp, err := os.Create(fmt.Sprintf("%s.done", filename)) doneStamp, err := os.Create(fmt.Sprintf("%s.done", filename))
if err != nil { if err != nil {
return err return err
} }
if err = doneStamp.Close(); err != nil { defer doneStamp.Close()
return err log.Infof("Finished to created the done stamp file for image %s", filename)
}
} }
return nil return nil