Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.5.0 content (post 2.5.0-beta2) #367

Merged
merged 43 commits into from
Oct 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
67ad940
chore: autopublish 2024-10-06T08:46:26Z
wekabot Oct 6, 2024
47e677f
fix(CSI-275): remove rdirplus from mountoptions
sergeyberezansky Oct 8, 2024
47d43e4
fix(CSI-273): remove rdirplus from mountoptions (#355)
sergeyberezansky Oct 8, 2024
932a7d8
chore: autopublish 2024-10-08T15:39:45Z
wekabot Oct 8, 2024
3479775
fix(CSI-275): version of NFS is only set to V4 during NFS permission …
sergeyberezansky Oct 8, 2024
00e37ba
fix(CSI-275): match NFS permissions by subset of protocols
sergeyberezansky Oct 8, 2024
1c19ef1
fix(CSI-275): version of NFS is only set to V4 during NFS permission …
sergeyberezansky Oct 8, 2024
4a4150f
chore: autopublish 2024-10-08T16:02:52Z
wekabot Oct 8, 2024
5dd547a
fix(CSI-276): allow unpublish even if publish failed with stale file …
sergeyberezansky Oct 8, 2024
cf3a1bc
fix(CSI-276): allow unpublish even if publish failed with stale file …
sergeyberezansky Oct 8, 2024
635d7ca
chore: autopublish 2024-10-08T16:27:48Z
wekabot Oct 8, 2024
2e3c048
fix(CSI-274): add sleep before mount if nfs was reconfigured
sergeyberezansky Oct 8, 2024
2e71a83
fix(CSI-274): add sleep before mount if nfs was reconfigured (#353)
sergeyberezansky Oct 8, 2024
8b8dc8a
chore: autopublish 2024-10-08T16:50:50Z
wekabot Oct 8, 2024
90ba728
chore(deps): update Go dependencies to latest
sergeyberezansky Oct 8, 2024
9df33c8
chore(deps): update Go dependencies to latest (#357)
sergeyberezansky Oct 8, 2024
5f38b6d
chore: autopublish 2024-10-08T17:14:59Z
wekabot Oct 8, 2024
6ce96bd
fix(docs): comments for caCertificate and nfsTargetIPs are messed up …
sergeyberezansky Oct 9, 2024
f7fedd3
fix(docs): comments for caCertificate and nfsTargetIPs are messed up …
sergeyberezansky Oct 10, 2024
aa14ee0
chore: autopublish 2024-10-10T14:23:02Z
wekabot Oct 10, 2024
864d588
fix(CSI-283): add OTEL tracing and trace logging for GRPC calls E2E
sergeyberezansky Oct 10, 2024
5e45be0
chore(deps): add OTEL tracing and span logging for GRPC server (#361)
sergeyberezansky Oct 10, 2024
f39655f
chore: autopublish 2024-10-10T16:28:52Z
wekabot Oct 10, 2024
66a75f5
feat(CSI-282): make async default for NFS mounts
sergeyberezansky Oct 10, 2024
c7dfcc3
feat(CSI-282): make async default for NFS mounts (#362)
sergeyberezansky Oct 10, 2024
c75f5c5
chore: autopublish 2024-10-10T16:52:29Z
wekabot Oct 10, 2024
18bdf89
feat(CSI-288): validate API user role prior to performing ops
sergeyberezansky Oct 13, 2024
d7e6fdc
docs(CSI-288): add limitation for NFS on Root organization only
sergeyberezansky Oct 13, 2024
ebf66d0
feat(CSI-288): validate API user role prior to performing ops (#365)
sergeyberezansky Oct 13, 2024
1f47973
feat(CSI-286): new line is not trimmed for localContainerName in CSI …
sergeyberezansky Oct 10, 2024
d6eb898
chore: autopublish 2024-10-13T12:32:32Z
wekabot Oct 13, 2024
630f103
feat(CSI-286): whitespace not trimmed for localContainerName in CSI s…
sergeyberezansky Oct 13, 2024
ee1bd04
chore: autopublish 2024-10-13T13:53:57Z
wekabot Oct 13, 2024
ac0dec1
chore: remove semicolon_delimited_script
sergeyberezansky Oct 13, 2024
a837334
chore: autopublish 2024-10-13T14:20:43Z
wekabot Oct 13, 2024
4f668e9
chore: logGRPC: ensure trace_id in request and response
sergeyberezansky Oct 13, 2024
374b8b4
chore: improve wording for CSI permissions error
sergeyberezansky Oct 13, 2024
a361d16
chore: autopublish 2024-10-13T15:08:14Z
wekabot Oct 13, 2024
3b958be
chore: ensure sufficient permission before fetching cluster info
sergeyberezansky Oct 13, 2024
5e13bfa
chore: autopublish 2024-10-13T15:17:12Z
wekabot Oct 13, 2024
29f5f0e
feat(CSI-289): add default nfs option for rdirplus
sergeyberezansky Oct 14, 2024
35c0016
feat(CSI-289): add default nfs option for rdirplus (#368)
sergeyberezansky Oct 14, 2024
4912560
chore: autopublish 2024-10-14T18:39:08Z
wekabot Oct 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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