-
Notifications
You must be signed in to change notification settings - Fork 112
Closed
Description
It seems that the toml configuration file does not work. Because it is overwritten even the flags.Args is null in the ParseParameters function.
Here is a test:
diff --git a/config/config_test.go b/config/config_test.go
index ad47909..d123f45 100644
--- a/config/config_test.go
+++ b/config/config_test.go
@@ -10,6 +10,7 @@ import (
"testing"
"time"
+ "github.com/containerd/nydus-snapshotter/cmd/containerd-nydus-grpc/pkg/command"
"github.com/stretchr/testify/assert"
)
@@ -81,6 +82,13 @@ func TestLoadSnapshotterTOMLConfig(t *testing.T) {
A.EqualValues(cfg, &exampleConfig)
+ var args = command.Args{}
+ args.RootDir = "/var/lib/containerd/nydus"
+ exampleConfig.Root = "/var/lib/containerd/nydus"
+ err = ParseParameters(&args, cfg)
+ A.NoError(err)
+ A.EqualValues(cfg, &exampleConfig)
+
err = ProcessConfigurations(cfg)
A.NoError(err)--- FAIL: TestLoadSnapshotterTOMLConfig (0.00s)
/data00/home/tangbin.bin/test_code/nydus-snapshotter/config/config_test.go:90:
Error Trace: /data00/home/tangbin.bin/test_code/nydus-snapshotter/config/config_test.go:90
Error: Not equal:
expected: &config.SnapshotterConfig{Version:1, Root:"/var/lib/containerd/nydus", Address:"", DaemonMode:"", CleanupOnClose:false, SystemControllerConfig:config.SystemControllerConfig{Enable:true, Address:"/var/run/containerd-nydus/system.sock", DebugConfig:config.DebugConfig{ProfileDuration:5, PprofAddress:""}}, MetricsConfig:config.MetricsConfig{Address:":9110"}, DaemonConfig:config.DaemonConfig{NydusdPath:"/usr/local/bin/nydusd", NydusImagePath:"/usr/local/bin/nydus-image", NydusdConfigPath:"", RecoverPolicy:"restart", FsDriver:"", ThreadsNumber:4}, SnapshotsConfig:config.SnapshotConfig{EnableNydusOverlayFS:false, SyncRemove:false}, RemoteConfig:config.RemoteConfig{AuthConfig:config.AuthConfig{EnableKubeconfigKeychain:false, KubeconfigPath:"", EnableCRIKeychain:false, ImageServiceAddress:""}, ConvertVpcRegistry:false, MirrorsConfig:config.MirrorsConfig{Dir:"/etc/nydus/certs.d"}}, ImageConfig:config.ImageConfig{PublicKeyFile:"", ValidateSignature:false}, CacheManagerConfig:config.CacheManagerConfig{Disable:false, GCPeriod:"24h", CacheDir:""}, LoggingConfig:config.LoggingConfig{LogToStdout:false, LogLevel:"", LogDir:"", RotateLogMaxSize:1, RotateLogMaxBackups:5, RotateLogMaxAge:7, RotateLogLocalTime:true, RotateLogCompress:true}, Experimental:config.Experimental{EnableStargz:false}}
actual : &config.SnapshotterConfig{Version:1, Root:"/var/lib/containerd/nydus", Address:"/run/containerd-nydus/containerd-nydus-grpc.sock", DaemonMode:"multiple", CleanupOnClose:false, SystemControllerConfig:config.SystemControllerConfig{Enable:true, Address:"/var/run/containerd-nydus/system.sock", DebugConfig:config.DebugConfig{ProfileDuration:5, PprofAddress:""}}, MetricsConfig:config.MetricsConfig{Address:":9110"}, DaemonConfig:config.DaemonConfig{NydusdPath:"/usr/local/bin/nydusd", NydusImagePath:"/usr/local/bin/nydus-image", NydusdConfigPath:"/etc/nydus/nydusd-config.fusedev.json", RecoverPolicy:"restart", FsDriver:"fusedev", ThreadsNumber:4}, SnapshotsConfig:config.SnapshotConfig{EnableNydusOverlayFS:false, SyncRemove:false}, RemoteConfig:config.RemoteConfig{AuthConfig:config.AuthConfig{EnableKubeconfigKeychain:false, KubeconfigPath:"", EnableCRIKeychain:false, ImageServiceAddress:""}, ConvertVpcRegistry:false, MirrorsConfig:config.MirrorsConfig{Dir:"/etc/nydus/certs.d"}}, ImageConfig:config.ImageConfig{PublicKeyFile:"", ValidateSignature:false}, CacheManagerConfig:config.CacheManagerConfig{Disable:false, GCPeriod:"24h", CacheDir:""}, LoggingConfig:config.LoggingConfig{LogToStdout:false, LogLevel:"info", LogDir:"", RotateLogMaxSize:1, RotateLogMaxBackups:5, RotateLogMaxAge:7, RotateLogLocalTime:true, RotateLogCompress:true}, Experimental:config.Experimental{EnableStargz:false}}
Diff:
--- Expected
+++ Actual
@@ -3,4 +3,4 @@
Root: (string) (len=25) "/var/lib/containerd/nydus",
- Address: (string) "",
- DaemonMode: (string) "",
+ Address: (string) (len=48) "/run/containerd-nydus/containerd-nydus-grpc.sock",
+ DaemonMode: (string) (len=8) "multiple",
CleanupOnClose: (bool) false,
@@ -20,5 +20,5 @@
NydusImagePath: (string) (len=26) "/usr/local/bin/nydus-image",
- NydusdConfigPath: (string) "",
+ NydusdConfigPath: (string) (len=37) "/etc/nydus/nydusd-config.fusedev.json",
RecoverPolicy: (string) (len=7) "restart",
- FsDriver: (string) "",
+ FsDriver: (string) (len=7) "fusedev",
ThreadsNumber: (int) 4
@@ -52,3 +52,3 @@
LogToStdout: (bool) false,
- LogLevel: (string) "",
+ LogLevel: (string) (len=4) "info",
LogDir: (string) "",
Test: TestLoadSnapshotterTOMLConfig
/data00/home/tangbin.bin/test_code/nydus-snapshotter/config/config_test.go:93:
Error Trace: /data00/home/tangbin.bin/test_code/nydus-snapshotter/config/config_test.go:93
Error: Received unexpected error:
invalid argument
github.com/containerd/nydus-snapshotter/pkg/errdefs.init
/data00/home/tangbin.bin/test_code/nydus-snapshotter/pkg/errdefs/errors.go:20
runtime.doInit
/usr/local/go/src/runtime/proc.go:6222
runtime.doInit
/usr/local/go/src/runtime/proc.go:6199
runtime.doInit
/usr/local/go/src/runtime/proc.go:6199
runtime.main
/usr/local/go/src/runtime/proc.go:233
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1571
Test: TestLoadSnapshotterTOMLConfig
FAIL
FAIL github.com/containerd/nydus-snapshotter/config 0.011s
FAIL
Metadata
Metadata
Assignees
Labels
No labels