Skip to content

Commit fa779ce

Browse files
committed
feature: allow additional mfsmount options
Allow additional mfsmount options to be passwd to CSI driver.
1 parent 9ee51e9 commit fa779ce

File tree

9 files changed

+477
-37
lines changed

9 files changed

+477
-37
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
MFS3VER=3.0.117
1616
MFS4VER=4.44.4
17-
DRIVER_VERSION ?= 0.9.5
17+
DRIVER_VERSION ?= 0.9.6
1818
MFS3TAGCE=$(DRIVER_VERSION)-$(MFS3VER)
1919
MFS3TAGPRO=$(DRIVER_VERSION)-$(MFS3VER)-pro
2020
MFS4TAGPRO=$(DRIVER_VERSION)-$(MFS4VER)-pro

cmd/moosefs-csi-plugin/main.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ func main() {
3333
rootDir = flag.String("root-dir", "/", "")
3434
pluginDataDir = flag.String("plugin-data-dir", "/", "")
3535
mountPointsCount = flag.Int("mount-points-count", 1, "")
36+
mfsMountOptions = flag.String("mfs-mount-options", "", "extra options passed to mfsmount command for example mfsmd5pass=MD5")
3637
sanityTestRun = flag.Bool("sanity-test-run", false, "")
3738
logLevel = flag.Int("log-level", 5, "")
3839
mfsLog = flag.Bool("mfs-logging", true, "")
@@ -45,30 +46,30 @@ func main() {
4546
log.Infof("=============== SANITY TEST ===============")
4647
}
4748
// this won't be logged to mfs log file
48-
log.Infof("Starting new service (mode: %s; master-host: %s; master-port: %d; node-id: %s; root-dir: %s; plugin-data-dir: %s)",
49-
*mode, *mfsmaster, *mfsmaster_port, *nodeId, *rootDir, *pluginDataDir)
49+
log.Infof("Starting new service (mode: %s; master-host: %s; master-port: %d; mfs-mount-options %s; node-id: %s; root-dir: %s; plugin-data-dir: %s)",
50+
*mode, *mfsmaster, *mfsmaster_port, *mfsMountOptions, *nodeId, *rootDir, *pluginDataDir)
5051

5152
var srv driver.Service
5253
var err error
5354
switch *mode {
5455
case "node":
55-
srv, err = driver.NewNodeService(*mfsmaster, *mfsmaster_port, *rootDir, *pluginDataDir, *nodeId, *mountPointsCount)
56+
srv, err = driver.NewNodeService(*mfsmaster, *mfsmaster_port, *rootDir, *pluginDataDir, *nodeId, *mfsMountOptions, *mountPointsCount)
5657
if err != nil {
57-
log.Error("main - couldn't create node service. Error: %s", err.Error())
58+
log.Errorf("main - couldn't create node service. Error: %s", err.Error())
5859
return
5960
}
6061
case "controller":
61-
srv, err = driver.NewControllerService(*mfsmaster, *mfsmaster_port, *rootDir, *pluginDataDir)
62+
srv, err = driver.NewControllerService(*mfsmaster, *mfsmaster_port, *rootDir, *pluginDataDir, *mfsMountOptions)
6263
if err != nil {
63-
log.Error("main - couldn't create controller service. Error: %s", err.Error())
64+
log.Errorf("main - couldn't create controller service. Error: %s", err.Error())
6465
return
6566
}
6667
default:
67-
log.Error("main - unrecognized mode = %s", *mode)
68+
log.Errorf("main - unrecognized mode = %s", *mode)
6869
return
6970
}
7071

7172
if err = driver.StartService(&srv, *mode, *csiEndpoint); err != nil {
72-
log.Error("main - couldn't start service %s", err.Error())
73+
log.Errorf("main - couldn't start service %s", err.Error())
7374
}
7475
}

deploy/kubernetes/csi-moosefs-config.yaml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@ metadata:
44
namespace: kube-system
55
name: csi-moosefs-config
66
data:
7-
master_host: "192.168.40.0" # domain name is recommended, this IP is only an example
8-
master_port: "19421"
9-
# master_host: "172.17.2.80"
10-
# master_port: "9421"
11-
k8s_root_dir: "/" # MooseFS root directory for all claims within this Kubernetes cluster
12-
driver_working_dir: "pv_data" # MooseFS directory (relative to csi_root_dir) for all driver data
13-
# (effective working dir will be calculated as k8s_root_dir/driver_working_dir)
14-
mount_count: "1" # Number of pre-created MooseFS mounts on each node
15-
mfs_logging: "true" # Should driver log to k8s_root_dir/driver_working_dir/logs directory
7+
# MooseFS master hostname or IP
8+
master_host: "mfsmaster"
9+
# MooseFS master port
10+
master_port: "9421"
11+
# MooseFS root directory for all claims within this Kubernetes cluster
12+
k8s_root_dir: "/"
13+
# MooseFS directory (relative to csi_root_dir) for all driver data.
14+
# Effective working dir will be mapped to k8s_root_dir/driver_working_dir
15+
driver_working_dir: "pv_data"
16+
# Number of pre-created MooseFS mounts on each node
17+
mount_count: "1"
18+
# Should driver log to k8s_root_dir/driver_working_dir/logs directory
19+
mfs_logging: "true"
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
namespace: kube-system
5+
name: csi-moosefs-config
6+
data:
7+
# MooseFS master hostname or IP
8+
master_host: "mfsmaster"
9+
# MooseFS master port
10+
master_port: "9421"
11+
# MooseFS root directory for all claims within this Kubernetes cluster
12+
k8s_root_dir: "/"
13+
# MooseFS directory (relative to csi_root_dir) for all driver data
14+
# (effective working dir will be calculated as k8s_root_dir/driver_working_dir)
15+
driver_working_dir: "pv_data"
16+
# Number of pre-created MooseFS mounts on each node
17+
mount_count: "1"
18+
# Should driver log to k8s_root_dir/driver_working_dir/logs directory
19+
mfs_logging: "true"
20+
# Additional mfsmount options
21+
mfs_mount_options: "mfsmd5pass=[MD5 hash]"

0 commit comments

Comments
 (0)