Explorar o código

Merge pull request #45607 from corhere/lock-in-snapshotter-setting

daemon: lock in snapshotter setting at daemon init
Sebastiaan van Stijn %!s(int64=2) %!d(string=hai) anos
pai
achega
91b976ba46
Modificáronse 1 ficheiros con 10 adicións e 10 borrados
  1. 10 10
      daemon/daemon.go

+ 10 - 10
daemon/daemon.go

@@ -129,6 +129,8 @@ type Daemon struct {
 	// It stores metadata for the content store (used for manifest caching)
 	// It stores metadata for the content store (used for manifest caching)
 	// This needs to be closed on daemon exit
 	// This needs to be closed on daemon exit
 	mdDB *bbolt.DB
 	mdDB *bbolt.DB
+
+	usesSnapshotter bool
 }
 }
 
 
 // ID returns the daemon id
 // ID returns the daemon id
@@ -158,16 +160,7 @@ func (daemon *Daemon) Features() *map[string]bool {
 
 
 // UsesSnapshotter returns true if feature flag to use containerd snapshotter is enabled
 // UsesSnapshotter returns true if feature flag to use containerd snapshotter is enabled
 func (daemon *Daemon) UsesSnapshotter() bool {
 func (daemon *Daemon) UsesSnapshotter() bool {
-	// TEST_INTEGRATION_USE_SNAPSHOTTER is used for integration tests only.
-	if os.Getenv("TEST_INTEGRATION_USE_SNAPSHOTTER") != "" {
-		return true
-	}
-	if daemon.configStore.Features != nil {
-		if b, ok := daemon.configStore.Features["containerd-snapshotter"]; ok {
-			return b
-		}
-	}
-	return false
+	return daemon.usesSnapshotter
 }
 }
 
 
 // RegistryHosts returns registry configuration in containerd resolvers format
 // RegistryHosts returns registry configuration in containerd resolvers format
@@ -801,6 +794,13 @@ func NewDaemon(ctx context.Context, config *config.Config, pluginStore *plugin.S
 		startupDone: make(chan struct{}),
 		startupDone: make(chan struct{}),
 	}
 	}
 
 
+	// TEST_INTEGRATION_USE_SNAPSHOTTER is used for integration tests only.
+	if os.Getenv("TEST_INTEGRATION_USE_SNAPSHOTTER") != "" {
+		d.usesSnapshotter = true
+	} else {
+		d.usesSnapshotter = config.Features["containerd-snapshotter"]
+	}
+
 	// Ensure the daemon is properly shutdown if there is a failure during
 	// Ensure the daemon is properly shutdown if there is a failure during
 	// initialization
 	// initialization
 	defer func() {
 	defer func() {