Commit bfba0874 authored by Vitaliy Filippov's avatar Vitaliy Filippov
Browse files

Implement support for running geesefs OUTSIDE of the container using systemd...

Implement support for running geesefs OUTSIDE of the container using systemd to not crash mountpoints when csi-s3 is upgraded or restarted
parent e8d63dfc
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ metadata:
provisioner: ru.yandex.s3.csi
parameters:
  mounter: geesefs
  options: "--memory-limit 1000 --dir-mode 0777 --file-mode 0666"
  bucket: some-existing-bucket-name
```

@@ -124,6 +125,10 @@ You can check POSIX compatibility matrix here: https://github.com/yandex-cloud/g
* Almost full POSIX compatibility
* Good performance for both small and big files
* Does not store file permissions and custom modification times
* By default runs **outside** of the csi-s3 container using systemd, to not crash
  mountpoints with "Transport endpoint is not connected" when csi-s3 is upgraded
  or restarted. Add `--no-systemd` to `parameters.options` of the `StorageClass`
  to disable this behaviour.

#### s3fs

+6 −0
Original line number Diff line number Diff line
@@ -108,6 +108,8 @@ spec:
              mountPropagation: "Bidirectional"
            - name: fuse-device
              mountPath: /dev/fuse
            - name: systemd-control
              mountPath: /run/systemd
      volumes:
        - name: registration-dir
          hostPath:
@@ -124,3 +126,7 @@ spec:
        - name: fuse-device
          hostPath:
            path: /dev/fuse
        - name: systemd-control
          hostPath:
            path: /run/systemd
            type: DirectoryOrCreate
+2 −0
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@ go 1.15

require (
	github.com/container-storage-interface/spec v1.1.0
	github.com/coreos/go-systemd/v22 v22.5.0 // indirect
	github.com/godbus/dbus/v5 v5.0.4 // indirect
	github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
	github.com/golang/protobuf v1.1.0 // indirect
	github.com/kubernetes-csi/csi-lib-utils v0.6.1 // indirect
+4 −0
+1 −1
Original line number Diff line number Diff line
@@ -110,7 +110,7 @@ func (ns *nodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePublis
	if err != nil {
		return nil, err
	}
	if err := mounter.Mount(stagingTargetPath, targetPath); err != nil {
	if err := mounter.Mount(stagingTargetPath, targetPath, volumeID); err != nil {
		return nil, err
	}

Loading