aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@uber.com>2021-04-11 11:50:46 -0700
committerChris Lu <chris.lu@uber.com>2021-04-11 11:50:46 -0700
commit40fa2802ebf80edc05f022a457de7ce1b618ed43 (patch)
treec98d107e4fe0eacfb08373fd585a37db499ef56e
parent177fdf0ea07706e31043592990cf61b186bba653 (diff)
downloadseaweedfs-csi-driver-40fa2802ebf80edc05f022a457de7ce1b618ed43.tar.xz
seaweedfs-csi-driver-40fa2802ebf80edc05f022a457de7ce1b618ed43.zip
support configurable cache size
fix https://github.com/seaweedfs/seaweedfs-csi-driver/issues/20
-rw-r--r--cmd/seaweedfs-csi-driver/main.go2
-rw-r--r--deploy/kubernetes/seaweedfs-csi.yaml6
-rw-r--r--pkg/driver/driver.go1
-rw-r--r--pkg/driver/mounter_seaweedfs.go1
4 files changed, 10 insertions, 0 deletions
diff --git a/cmd/seaweedfs-csi-driver/main.go b/cmd/seaweedfs-csi-driver/main.go
index 58af0aa..e83b0b5 100644
--- a/cmd/seaweedfs-csi-driver/main.go
+++ b/cmd/seaweedfs-csi-driver/main.go
@@ -16,6 +16,7 @@ var (
nodeID = flag.String("nodeid", "", "node id")
version = flag.Bool("version", false, "Print the version and exit.")
concurrentWriters = flag.Int("concurrentWriters", 32, "limit concurrent goroutine writers if not 0")
+ cacheSizeMB = flag.Int64("cacheCapacityMB", 1000, "local file chunk cache capacity in MB (0 will disable cache)")
)
func main() {
@@ -35,5 +36,6 @@ func main() {
drv := driver.NewSeaweedFsDriver(*filer, *nodeID, *endpoint)
drv.ConcurrentWriters = *concurrentWriters
+ drv.CacheSizeMB = *cacheSizeMB
drv.Run()
}
diff --git a/deploy/kubernetes/seaweedfs-csi.yaml b/deploy/kubernetes/seaweedfs-csi.yaml
index 5ad1c01..2317fc4 100644
--- a/deploy/kubernetes/seaweedfs-csi.yaml
+++ b/deploy/kubernetes/seaweedfs-csi.yaml
@@ -297,6 +297,7 @@ spec:
- "--endpoint=$(CSI_ENDPOINT)"
- "--filer=$(SEAWEEDFS_FILER)"
- "--nodeid=$(NODE_ID)"
+ - "--cacheCapacityMB=$(SEAWEEDFS_CACHE_CAPACITY_MB)"
env:
- name: CSI_ENDPOINT
value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
@@ -306,6 +307,8 @@ spec:
valueFrom:
fieldRef:
fieldPath: spec.nodeName
+ - name: SEAWEEDFS_CACHE_CAPACITY_MB
+ value: "1000"
imagePullPolicy: "Always"
volumeMounts:
- name: socket-dir
@@ -365,6 +368,7 @@ spec:
- "--endpoint=$(CSI_ENDPOINT)"
- "--filer=$(SEAWEEDFS_FILER)"
- "--nodeid=$(NODE_ID)"
+ - "--cacheCapacityMB=$(SEAWEEDFS_CACHE_CAPACITY_MB)"
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
@@ -374,6 +378,8 @@ spec:
valueFrom:
fieldRef:
fieldPath: spec.nodeName
+ - name: SEAWEEDFS_CACHE_CAPACITY_MB
+ value: "1000"
imagePullPolicy: "IfNotPresent"
volumeMounts:
- name: plugin-dir
diff --git a/pkg/driver/driver.go b/pkg/driver/driver.go
index ad559d0..8307eb8 100644
--- a/pkg/driver/driver.go
+++ b/pkg/driver/driver.go
@@ -38,6 +38,7 @@ type SeaweedFsDriver struct {
filer string
grpcDialOption grpc.DialOption
ConcurrentWriters int
+ CacheSizeMB int64
}
func NewSeaweedFsDriver(filer, nodeID, endpoint string) *SeaweedFsDriver {
diff --git a/pkg/driver/mounter_seaweedfs.go b/pkg/driver/mounter_seaweedfs.go
index 9d34b5d..2ed1238 100644
--- a/pkg/driver/mounter_seaweedfs.go
+++ b/pkg/driver/mounter_seaweedfs.go
@@ -36,6 +36,7 @@ func (seaweedFs *seaweedFsMounter) Mount(target string) error {
fmt.Sprintf("-collection=%s", seaweedFs.bucketName),
fmt.Sprintf("-filer=%s", seaweedFs.driver.filer),
fmt.Sprintf("-filer.path=/buckets/%s", seaweedFs.bucketName),
+ fmt.Sprintf("-cacheCapacityMB=%d", seaweedFs.driver.CacheSizeMB),
}
for arg, value := range seaweedFs.volContext {