mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Don’t stop daemon on migration hard failure
Also changes missing storage layer for container
RWLayer to a soft failure.
Fixes #20147
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 2798d7a6a6
)
This commit is contained in:
parent
50a498ea1c
commit
55080fc03b
3 changed files with 4 additions and 3 deletions
|
@ -760,7 +760,7 @@ func NewDaemon(config *Config, registryService *registry.Service) (daemon *Daemo
|
|||
|
||||
migrationStart := time.Now()
|
||||
if err := v1.Migrate(config.Root, graphDriver, d.layerStore, d.imageStore, referenceStore, distributionMetadataStore); err != nil {
|
||||
return nil, err
|
||||
logrus.Errorf("Graph migration failed: %q. Your old graph data was found to be too inconsistent for upgrading to content-addressable storage. Some of the old data was probably not upgraded. We recommend starting over with a clean storage directory if possible.", err)
|
||||
}
|
||||
logrus.Infof("Graph migration to content-addressability took %.2f seconds", time.Since(migrationStart).Seconds())
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ func (ls *layerStore) CreateRWLayerByGraphID(name string, graphID string, parent
|
|||
}
|
||||
|
||||
if !ls.driver.Exists(graphID) {
|
||||
return errors.New("graph ID does not exist")
|
||||
return fmt.Errorf("graph ID does not exist: %q", graphID)
|
||||
}
|
||||
|
||||
var p *roLayer
|
||||
|
|
|
@ -282,7 +282,8 @@ func migrateContainers(root string, ls graphIDMounter, is image.Store, imageMapp
|
|||
}
|
||||
|
||||
if err := ls.CreateRWLayerByGraphID(id, id, img.RootFS.ChainID()); err != nil {
|
||||
return err
|
||||
logrus.Errorf("migrate container error: %v", err)
|
||||
continue
|
||||
}
|
||||
|
||||
logrus.Infof("migrated container %s to point to %s", id, imageID)
|
||||
|
|
Loading…
Reference in a new issue