Skip to content

Commit

Permalink
Merge pull request #367 from weka/dev
Browse files Browse the repository at this point in the history
Release 2.5.0 content (post 2.5.0-beta2)
  • Loading branch information
sergeyberezansky authored Oct 15, 2024
2 parents 52e0bf0 + 4912560 commit 13e5c44
Show file tree
Hide file tree
Showing 19 changed files with 397 additions and 140 deletions.
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# CSI WekaFS Driver
Helm chart for Deployment of WekaIO Container Storage Interface (CSI) plugin for WekaFS - the world fastest filesystem

![Version: 2.5.0-beta2](https://img.shields.io/badge/Version-2.5.0--beta2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.5.0-beta2](https://img.shields.io/badge/AppVersion-v2.5.0--beta2-informational?style=flat-square)
![Version: 2.4.2-SNAPSHOT.175.35c0016](https://img.shields.io/badge/Version-2.4.2--SNAPSHOT.175.35c0016-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.4.2-SNAPSHOT.175.35c0016](https://img.shields.io/badge/AppVersion-v2.4.2--SNAPSHOT.175.35c0016-informational?style=flat-square)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/csi-wekafs)](https://artifacthub.io/packages/search?repo=csi-wekafs)

Expand Down Expand Up @@ -44,7 +44,7 @@ make build
|-----|------|---------|-------------|
| dynamicProvisionPath | string | `"csi-volumes"` | Directory in root of file system where dynamic volumes are provisioned |
| csiDriverName | string | `"csi.weka.io"` | Name of the driver (and provisioner) |
| csiDriverVersion | string | `"2.5.0-beta2"` | CSI driver version |
| csiDriverVersion | string | `"2.4.2-SNAPSHOT.175.35c0016"` | CSI driver version |
| images.livenessprobesidecar | string | `"registry.k8s.io/sig-storage/livenessprobe:v2.14.0"` | CSI liveness probe sidecar image URL |
| images.attachersidecar | string | `"registry.k8s.io/sig-storage/csi-attacher:v4.7.0"` | CSI attacher sidecar image URL |
| images.provisionersidecar | string | `"registry.k8s.io/sig-storage/csi-provisioner:v5.1.0"` | CSI provisioner sidecar image URL |
Expand All @@ -53,7 +53,7 @@ make build
| images.snapshottersidecar | string | `"registry.k8s.io/sig-storage/csi-snapshotter:v8.1.0"` | CSI snapshotter sidecar image URL |
| images.nodeinfo | string | `"quay.io/weka.io/csi-wekafs"` | CSI nodeinfo sidecar image URL, used for reading node metadata |
| images.csidriver | string | `"quay.io/weka.io/csi-wekafs"` | CSI driver main image URL |
| images.csidriverTag | string | `"2.5.0-beta2"` | CSI driver tag |
| images.csidriverTag | string | `"2.4.2-SNAPSHOT.175.35c0016"` | CSI driver tag |
| imagePullSecret | string | `""` | image pull secret required for image download. Must have permissions to access all images above. Should be used in case of private registry that requires authentication |
| globalPluginTolerations | list | `[{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"}]` | Tolerations for all CSI driver components |
| controllerPluginTolerations | list | `[{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"}]` | Tolerations for CSI controller component only (by default same as global) |
Expand Down Expand Up @@ -95,6 +95,7 @@ make build
| pluginConfig.allowedOperations.snapshotVolumesWithoutQuotaEnforcement | bool | `false` | Allow creation of snapshot-backed volumes even on unsupported Weka cluster versions, off by default Note: On versions of Weka < v4.2 snapshot-backed volume capacity cannot be enforced |
| pluginConfig.mutuallyExclusiveMountOptions[0] | string | `"readcache,writecache,coherent,forcedirect"` | |
| pluginConfig.mutuallyExclusiveMountOptions[1] | string | `"sync,async"` | |
| pluginConfig.mutuallyExclusiveMountOptions[2] | string | `"ro,rw"` | |
| pluginConfig.mountProtocol.useNfs | bool | `false` | Use NFS transport for mounting Weka filesystems, off by default |
| pluginConfig.mountProtocol.allowNfsFailback | bool | `false` | Allow Failback to NFS transport if Weka client fails to mount filesystem using native protocol |
| pluginConfig.mountProtocol.interfaceGroupName | string | `""` | Specify name of NFS interface group to use for mounting Weka filesystems. If not set, first NFS interface group will be used |
Expand Down
6 changes: 3 additions & 3 deletions charts/csi-wekafsplugin/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ maintainers:
email: csi@weka.io
url: https://weka.io
sources:
- https://github.com/weka/csi-wekafs/tree/v2.5.0-beta2
- https://github.com/weka/csi-wekafs/tree/v$CHART_VERSION/charts/csi-wekafsplugin
home: https://github.com/weka/csi-wekafs
icon: https://weka.github.io/csi-wekafs/logo.png
type: application
version: 2.5.0-beta2
appVersion: v2.5.0-beta2
version: 2.4.2-SNAPSHOT.175.35c0016
appVersion: v2.4.2-SNAPSHOT.175.35c0016
keywords: [storage, filesystem, HPC]
annotations:
artifacthub.io/category: "storage"
Expand Down
7 changes: 4 additions & 3 deletions charts/csi-wekafsplugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Helm chart for Deployment of WekaIO Container Storage Interface (CSI) plugin for

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/csi-wekafs)](https://artifacthub.io/packages/search?repo=csi-wekafs)
![Version: 2.5.0-beta2](https://img.shields.io/badge/Version-2.5.0--beta2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.5.0-beta2](https://img.shields.io/badge/AppVersion-v2.5.0--beta2-informational?style=flat-square)
![Version: 2.4.2-SNAPSHOT.175.35c0016](https://img.shields.io/badge/Version-2.4.2--SNAPSHOT.175.35c0016-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.4.2-SNAPSHOT.175.35c0016](https://img.shields.io/badge/AppVersion-v2.4.2--SNAPSHOT.175.35c0016-informational?style=flat-square)

## Homepage
https://github.com/weka/csi-wekafs
Expand Down Expand Up @@ -52,7 +52,7 @@ helm install csi-wekafsplugin csi-wekafs/csi-wekafsplugin --namespace csi-wekafs
|-----|------|---------|-------------|
| dynamicProvisionPath | string | `"csi-volumes"` | Directory in root of file system where dynamic volumes are provisioned |
| csiDriverName | string | `"csi.weka.io"` | Name of the driver (and provisioner) |
| csiDriverVersion | string | `"2.5.0-beta2"` | CSI driver version |
| csiDriverVersion | string | `"2.4.2-SNAPSHOT.175.35c0016"` | CSI driver version |
| images.livenessprobesidecar | string | `"registry.k8s.io/sig-storage/livenessprobe:v2.14.0"` | CSI liveness probe sidecar image URL |
| images.attachersidecar | string | `"registry.k8s.io/sig-storage/csi-attacher:v4.7.0"` | CSI attacher sidecar image URL |
| images.provisionersidecar | string | `"registry.k8s.io/sig-storage/csi-provisioner:v5.1.0"` | CSI provisioner sidecar image URL |
Expand All @@ -61,7 +61,7 @@ helm install csi-wekafsplugin csi-wekafs/csi-wekafsplugin --namespace csi-wekafs
| images.snapshottersidecar | string | `"registry.k8s.io/sig-storage/csi-snapshotter:v8.1.0"` | CSI snapshotter sidecar image URL |
| images.nodeinfo | string | `"quay.io/weka.io/csi-wekafs"` | CSI nodeinfo sidecar image URL, used for reading node metadata |
| images.csidriver | string | `"quay.io/weka.io/csi-wekafs"` | CSI driver main image URL |
| images.csidriverTag | string | `"2.5.0-beta2"` | CSI driver tag |
| images.csidriverTag | string | `"2.4.2-SNAPSHOT.175.35c0016"` | CSI driver tag |
| imagePullSecret | string | `""` | image pull secret required for image download. Must have permissions to access all images above. Should be used in case of private registry that requires authentication |
| globalPluginTolerations | list | `[{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"}]` | Tolerations for all CSI driver components |
| controllerPluginTolerations | list | `[{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"}]` | Tolerations for CSI controller component only (by default same as global) |
Expand Down Expand Up @@ -103,6 +103,7 @@ helm install csi-wekafsplugin csi-wekafs/csi-wekafsplugin --namespace csi-wekafs
| pluginConfig.allowedOperations.snapshotVolumesWithoutQuotaEnforcement | bool | `false` | Allow creation of snapshot-backed volumes even on unsupported Weka cluster versions, off by default Note: On versions of Weka < v4.2 snapshot-backed volume capacity cannot be enforced |
| pluginConfig.mutuallyExclusiveMountOptions[0] | string | `"readcache,writecache,coherent,forcedirect"` | |
| pluginConfig.mutuallyExclusiveMountOptions[1] | string | `"sync,async"` | |
| pluginConfig.mutuallyExclusiveMountOptions[2] | string | `"ro,rw"` | |
| pluginConfig.mountProtocol.useNfs | bool | `false` | Use NFS transport for mounting Weka filesystems, off by default |
| pluginConfig.mountProtocol.allowNfsFailback | bool | `false` | Allow Failback to NFS transport if Weka client fails to mount filesystem using native protocol |
| pluginConfig.mountProtocol.interfaceGroupName | string | `""` | Specify name of NFS interface group to use for mounting Weka filesystems. If not set, first NFS interface group will be used |
Expand Down
3 changes: 2 additions & 1 deletion charts/csi-wekafsplugin/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ dynamicProvisionPath: "csi-volumes"
# -- Name of the driver (and provisioner)
csiDriverName: "csi.weka.io"
# -- CSI driver version
csiDriverVersion: &csiDriverVersion 2.5.0-beta2
csiDriverVersion: &csiDriverVersion 2.4.2-SNAPSHOT.175.35c0016
images:
# -- CSI liveness probe sidecar image URL
livenessprobesidecar: registry.k8s.io/sig-storage/livenessprobe:v2.14.0
Expand Down Expand Up @@ -146,6 +146,7 @@ pluginConfig:
mutuallyExclusiveMountOptions:
- "readcache,writecache,coherent,forcedirect"
- "sync,async"
- "ro,rw"
mountProtocol:
# -- Use NFS transport for mounting Weka filesystems, off by default
useNfs: false
Expand Down
2 changes: 2 additions & 0 deletions docs/NFS.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ This allows you to use WekaFS as a storage backend for your Kubernetes cluster w
- **Network Configuration**: NFS interface group IP addresses must be accessible from the Kubernetes cluster nodes
- **Security**: NFS transport is less secure than the native WekaFS driver, and may require additional security considerations
- **QoS**: QoS is not supported for NFS transport
- **Organizations and Multitenancy**: NFS transport can be used only for filesystems in `Root` organization.
If you need to use a filesystem in a different organization, you must use the native WekaFS driver.

### Host Network Mode
Weka CSI Plugin will automatically install in `hostNetwork` mode when using NFS transport.
Expand Down
10 changes: 5 additions & 5 deletions examples/common/csi-wekafs-api-secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ data:
# It is recommended to configure at least 2 management endpoints (cluster backend nodes), or a load-balancer if used
# e.g. 172.31.15.113:14000,172.31.12.91:14000
endpoints: MTcyLjMxLjQxLjU0OjE0MDAwLDE3Mi4zMS40Ny4xNTI6MTQwMDAsMTcyLjMxLjM4LjI1MDoxNDAwMCwxNzIuMzEuNDcuMTU1OjE0MDAwLDE3Mi4zMS4zMy45MToxNDAwMCwxNzIuMzEuMzguMTU1OjE0MDAwCg==
# protocol to use for API connection (may be either http or https, base64-encoded. NOTE: since Weka 4.3.0, HTTPS is mandatory)
# protocol to use for API connection (either http or https, base64-encoded. NOTE: since Weka 4.3.0, HTTPS is mandatory)
scheme: aHR0cA==
# for multiple clusters setup, set specific container name rather than attempt to identify it automatically
localContainerName: ""
Expand All @@ -24,14 +24,14 @@ data:
# maybe either (true/false), base64-encoded
# NOTE: if a load balancer is used to access the cluster API, leave this setting as "false"
autoUpdateEndpoints: ZmFsc2U=
# When using HTTPS connection and self-signed or untrusted certificates, provide a CA certificate in PEM format, base64-encoded
# for cloud deployments or other scenarios where setting an NFS Group IP addresses is not possible,
# provide a comma-separated list of NFS target IP addresses in form of <IP> (base64-encoded)
# It is recommended to configure all NFS server IP addresses to better share the load/balance the traffic.
# NOTE: this setting is optional and should be used only when the NFS Group IP addresses are not set in the cluster
# WARNING: providing a load balancer IP address that uses NFS connection redirects to other servers is not supported.
# WARNING: providing a load balancer IP address that uses NFS connection redirects (also known as `referrals`) to other servers is not supported.
# e.g. 10.100.100.1,10.100.100.2
nfsTargetIps: ""
# When using HTTPS connection and self-signed or untrusted certificates, provide a CA certificate in PEM format, base64-encoded
# for cloud deployments or other scenarios where setting an NFS Group IP addresses is not possible,
# provide a comma-separated list of NFS target IP addresses in form of <IP> (base64-encoded)
# caCertificate: <base64-encoded-PEM>
caCertificate: ""

35 changes: 17 additions & 18 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,22 @@ require (
github.com/google/uuid v1.6.0
github.com/hashicorp/go-version v1.7.0
github.com/kubernetes-csi/csi-lib-utils v0.19.0
github.com/pkg/errors v0.9.1
github.com/pkg/xattr v0.4.10
github.com/prometheus/client_golang v1.20.4
github.com/rs/zerolog v1.33.0
github.com/showa-93/go-mask v0.6.2
github.com/stretchr/testify v1.9.0
go.opentelemetry.io/otel v1.29.0
go.opentelemetry.io/otel v1.30.0
go.opentelemetry.io/otel/exporters/jaeger v1.17.0
go.opentelemetry.io/otel/sdk v1.29.0
go.opentelemetry.io/otel/trace v1.29.0
golang.org/x/exp v0.0.0-20240823005443-9b4947da3948
go.opentelemetry.io/otel/sdk v1.30.0
go.opentelemetry.io/otel/trace v1.30.0
golang.org/x/exp v0.0.0-20241004190924-225e2abe05e6
golang.org/x/sync v0.8.0
google.golang.org/grpc v1.67.0
google.golang.org/protobuf v1.34.2
k8s.io/apimachinery v0.31.0
google.golang.org/grpc v1.67.1
google.golang.org/protobuf v1.35.1
k8s.io/apimachinery v0.31.1
k8s.io/helm v2.17.0+incompatible
k8s.io/mount-utils v0.31.0
k8s.io/mount-utils v0.31.1
)

require (
Expand All @@ -36,25 +35,25 @@ require (
github.com/go-logr/stdr v1.2.2 // indirect
github.com/godbus/dbus/v5 v5.1.0 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/klauspost/compress v1.17.9 // indirect
github.com/klauspost/compress v1.17.10 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/moby/sys/mountinfo v0.7.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/opencontainers/runc v1.1.13 // indirect
github.com/opencontainers/runc v1.1.15 // indirect
github.com/opencontainers/runtime-spec v1.2.0 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.57.0 // indirect
github.com/prometheus/common v0.60.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
go.opentelemetry.io/otel/metric v1.29.0 // indirect
golang.org/x/net v0.28.0 // indirect
golang.org/x/sys v0.24.0 // indirect
golang.org/x/text v0.17.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed // indirect
go.opentelemetry.io/otel/metric v1.30.0 // indirect
golang.org/x/net v0.30.0 // indirect
golang.org/x/sys v0.26.0 // indirect
golang.org/x/text v0.19.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/utils v0.0.0-20240821151609-f90d01438635 // indirect
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6 // indirect
)
Loading

0 comments on commit 13e5c44

Please sign in to comment.