From aed2235cdf7edc8e48157f8aff4871569b8bcffa Mon Sep 17 00:00:00 2001 From: Viktor Kuzmin Date: Tue, 8 Aug 2023 10:05:04 +0300 Subject: Refactor options to be backward compatible, fixes #133 --- cmd/seaweedfs-csi-driver/main.go | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'cmd') 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 -- cgit v1.2.3 From 4ff5838eb9fdf4f10a77f54ae4fdb8f274be7341 Mon Sep 17 00:00:00 2001 From: duanhongyi Date: Fri, 20 Oct 2023 10:55:27 +0800 Subject: Feat: add driver name support --- cmd/seaweedfs-csi-driver/main.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'cmd') diff --git a/cmd/seaweedfs-csi-driver/main.go b/cmd/seaweedfs-csi-driver/main.go index 7ace8a1..f749db6 100644 --- a/cmd/seaweedfs-csi-driver/main.go +++ b/cmd/seaweedfs-csi-driver/main.go @@ -15,6 +15,7 @@ import ( var ( 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") + driverName = flag.String("driverName", "seaweedfs-csi-driver", "CSI driver name, used by CSIDriver and StorageClass") filer = flag.String("filer", "localhost:8888", "filer server") endpoint = flag.String("endpoint", "unix://tmp/seaweedfs-csi.sock", "CSI endpoint to accept gRPC calls") @@ -77,7 +78,7 @@ func main() { glog.Infof("connect to filer %s", *filer) - drv := driver.NewSeaweedFsDriver(*filer, *nodeID, *endpoint, *enableAttacher) + drv := driver.NewSeaweedFsDriver(*driverName, *filer, *nodeID, *endpoint, *enableAttacher) drv.RunNode = runNode drv.RunController = runController -- cgit v1.2.3