diff options
| author | Viktor Kuzmin <kvaster@gmail.com> | 2023-08-08 10:05:04 +0300 |
|---|---|---|
| committer | Chris Lu <chrislusf@users.noreply.github.com> | 2023-08-08 05:45:18 -0700 |
| commit | aed2235cdf7edc8e48157f8aff4871569b8bcffa (patch) | |
| tree | b93055667e54958ddc6390bafca83e1c9fc29d87 /cmd | |
| parent | f29462754aedfd3c590675cbd09d77a41f566fad (diff) | |
| download | seaweedfs-csi-driver-aed2235cdf7edc8e48157f8aff4871569b8bcffa.tar.xz seaweedfs-csi-driver-aed2235cdf7edc8e48157f8aff4871569b8bcffa.zip | |
Refactor options to be backward compatible, fixes #133
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/seaweedfs-csi-driver/main.go | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/cmd/seaweedfs-csi-driver/main.go b/cmd/seaweedfs-csi-driver/main.go index eac42ec..7ace8a1 100644 --- a/cmd/seaweedfs-csi-driver/main.go +++ b/cmd/seaweedfs-csi-driver/main.go @@ -4,6 +4,7 @@ import ( "fmt" "log" "os" + "strings" "github.com/seaweedfs/seaweedfs-csi-driver/pkg/datalocality" "github.com/seaweedfs/seaweedfs-csi-driver/pkg/driver" @@ -12,9 +13,8 @@ import ( ) var ( - runNode = flag.Bool("node", false, "run node server") - runController = flag.Bool("controller", false, "run controller server") - enableAttacher = flag.Bool("attacher", false, "enable attacher") + components = flag.String("components", "controller,node", "components to run, by default both controller and node") + enableAttacher = flag.Bool("attacher", true, "enable attacher, by default enabled for backward compatibility") filer = flag.String("filer", "localhost:8888", "filer server") endpoint = flag.String("endpoint", "unix://tmp/seaweedfs-csi.sock", "CSI endpoint to accept gRPC calls") @@ -55,12 +55,32 @@ func main() { os.Exit(1) } + runNode := false + runController := false + for _, c := range strings.Split(*components, ",") { + switch c { + case "controller": + runController = true + case "node": + runNode = true + default: + glog.Errorf("invalid component: %s", c) + os.Exit(1) + } + } + + glog.Infof("will run node: %v, controller: %v, attacher: %v", runNode, runController, *enableAttacher) + if !runNode && !runController { + glog.Errorf("at least one component should be enabled: either controller or node (use --components=...)") + os.Exit(1) + } + glog.Infof("connect to filer %s", *filer) drv := driver.NewSeaweedFsDriver(*filer, *nodeID, *endpoint, *enableAttacher) - drv.RunNode = *runNode - drv.RunController = *runController + drv.RunNode = runNode + drv.RunController = runController drv.ConcurrentWriters = *concurrentWriters drv.CacheCapacityMB = *cacheCapacityMB |
