aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorViktor Kuzmin <kvaster@gmail.com>2023-08-08 10:05:04 +0300
committerChris Lu <chrislusf@users.noreply.github.com>2023-08-08 05:45:18 -0700
commitaed2235cdf7edc8e48157f8aff4871569b8bcffa (patch)
treeb93055667e54958ddc6390bafca83e1c9fc29d87 /cmd
parentf29462754aedfd3c590675cbd09d77a41f566fad (diff)
downloadseaweedfs-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.go30
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