Commit Graph

4414 Commits

Author SHA1 Message Date
Niels de Vos
9267210da4 rebase: use the go-ceph master branch
The main change that is useful, is the new rbd.ErrExist error.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-10-04 09:00:23 +00:00
Niels de Vos
10076ca11f rbd: use the new go-ceph rbd.ErrExist for checking rbd.GroupCreate()
The go-ceph rbd.GroupCreate() now returns ErrExist in case the group
that is created, already exists. The previous check only ever matched
the string comparison, which is prone to errors in case the contents is
modified by go-ceph.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-10-04 09:00:23 +00:00
Madhu Rajanna
88b964fe18 rbd: consider ErrPermissionDenied for vol
Incase of RDR with restricted access the
ceph user will not have access to all the objects
or all the pools where mapping exists

This commits add a check to continue to get
the volume if there is a permission error

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-10-03 08:40:07 +00:00
Nikhil-Ladha
44368bfeb4 ci: use private retest github action
use private retest github action instead of pinning
to a single branch/commit hash.

Signed-off-by: Nikhil-Ladha <nikhilladha1999@gmail.com>
2024-10-02 09:11:19 +00:00
Madhu Rajanna
6c942d5030 ci: enable more tests for rbd
enabling multipods, RWOP and ROX
tests for rbd.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-10-01 15:47:39 +00:00
Madhu Rajanna
b679981f24 e2e: update rbd driver name in external test
updating rbd driver name and the storageclass
name to match the functionality and other
drivers.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-10-01 15:47:39 +00:00
Madhu Rajanna
1494f9bf95 e2e: rename rbd file name for external test
renamed rbd file name to match other
file names for external test

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-10-01 15:47:39 +00:00
dependabot[bot]
5aec13d7e6 rebase: bump actions/checkout from 4.1.7 to 4.2.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](692973e3d9...d632683dd7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 09:37:48 +00:00
dependabot[bot]
b18f5b4654 rebase: bump github/codeql-action from 3.26.8 to 3.26.10
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.8 to 3.26.10.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](294a9d9291...e2b3eafc8d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 09:16:31 +00:00
dependabot[bot]
39a4984207 rebase: bump github.com/aws/aws-sdk-go-v2/service/sts
Bumps the github-dependencies group with 1 update: [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2).


Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.31.1 to 1.31.3
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.31.1...service/s3/v1.31.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 09:10:18 +00:00
Madhu Rajanna
961c0a8d85 e2e: enable more k8s storage tests
enable more rbd specific storage
tests

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-30 17:41:45 +00:00
Niels de Vos
2d82cebfeb rbd: move repairImageID() from rbdVolume struct to rbdImage
The `repairImageID()` function is useful for the `rbdSnapshot` objects
as well. Move it to the `rbdImage` struct that is the base for both
`rbdVolume` and `rbdSnapshot`.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-09-26 18:02:22 +00:00
Madhu Rajanna
9c567fd8a0 doc: add cephfs vsg to readme
added cephfs vsg feature to the readme
https://docs.ceph.com/en/latest/
cephfs/fs-volumes/#subvolume-quiesce

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-26 14:26:28 +00:00
Niels de Vos
f2bc1c674b rbd: replace Manager.DeleteVolumeGroup() by VolumeGroup.Delete()
There is no need for the `Manager.DeleteVolumeGroup()` function as
`VolumeGroup.Delete()` should cover everything too.

By moving the `.Delete()` functionality of removing the group from the
journal to the shared `commonVolumeGroup` type, a volume group snaphot
can use it as well.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-09-26 13:59:21 +00:00
Nikhil-Ladha
01a0ec2d8c util: use protobuf encoding for core k8s apis
For core K8s API objects like Pods, Nodes, etc., we
can use protobuf encoding which reduces CPU consumption
related to (de)serialization, reduces overall latency
of the API call, reduces memory footprint, reduces the
amount of work performed by the GC and results in quicker
propagation of objects to event handlers of shared informers.

Signed-off-by: Nikhil-Ladha <nikhilladha1999@gmail.com>
2024-09-26 11:52:21 +00:00
Niels de Vos
8c252d58ea rbd: prevent re-use of destroyed resources
When an `.Destroy()` is called on an rbdImage (or rbdVolume or
rbdSnapshot), the IOContext, Connection and other attributes are
invalid. When using a destroyed resource that points to an object that
was allocated through librbd, the process most likely ends with a panic.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-09-26 09:37:21 +00:00
Madhu Rajanna
f1379e4cc4 rebase: update kube dep to x.31.1
updating all kubernetes dependency
to latest release.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-25 13:17:36 +00:00
dependabot[bot]
77f8c3f8f3 rebase: bump google.golang.org/grpc from 1.66.2 to 1.67.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.66.2 to 1.67.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.66.2...v1.67.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-25 10:36:07 +00:00
dependabot[bot]
ecf25038f2 rebase: bump github/codeql-action from 3.26.7 to 3.26.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.7 to 3.26.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](8214744c54...294a9d9291)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-25 07:43:09 +00:00
dependabot[bot]
40ad4163cb rebase: bump the github-dependencies group with 2 updates
Bumps the github-dependencies group with 2 updates: [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) and [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang).


Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.30.7 to 1.31.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/s3/v1.31.1/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/mgn/v1.30.7...service/s3/v1.31.1)

Updates `github.com/prometheus/client_golang` from 1.20.3 to 1.20.4
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.20.3...v1.20.4)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-25 07:11:32 +00:00
yati1998
dbd8462bcc cephfs: correct error code for volumegroupsnapshot
this commit corrects the error code used by
groupvolumelocks to acquire snapshots

Signed-off-by: yati1998 <ypadia@redhat.com>
2024-09-24 15:13:12 +00:00
yati padia
29aecd345f cephfs: return correct error msg
return SnapshotOperationAlreadyExistsFmt instead of
VolumeOperationAlreadyExistsFmt incase of delete snapshot
operation.

Signed-off-by: yati1998 <ypadia@redhat.com>
2024-09-23 14:36:19 +00:00
Madhu Rajanna
1edceebffa doc: reset PendingReleaseNotes.md
reset PendingReleaseNotes.md for next release

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-23 05:24:35 +00:00
Robert Vasek
c76338c889 doc: add a release note about "Slow GRPC" logs
Signed-off-by: Robert Vasek <robert.vasek@clyso.com>
2024-09-20 08:55:17 +00:00
Robert Vasek
ed3c916771 doc: added notes about --logslowopinterval cmd arg
Signed-off-by: Robert Vasek <robert.vasek@clyso.com>
2024-09-20 08:55:17 +00:00
Robert Vasek
d250be4c39 helm: added logSlowOperationInterval value to cephfs and rbd charts
Signed-off-by: Robert Vasek <robert.vasek@clyso.com>
2024-09-20 08:55:17 +00:00
Robert Vasek
7a727c2a43 util: added logs for slow gRPC calls
This commit adds a gRPC middleware that logs calls that
keep running after their deadline.

Adds --logslowopinterval cmdline argument to pass the log rate.

Signed-off-by: Robert Vasek <robert.vasek@clyso.com>
2024-09-20 08:55:17 +00:00
StepSecurity Bot
56d08e1b4d ci: Harden GitHub Actions
Update GitHub actions to use full length commit ids for
third-party actions to reduce security risk in case of vulnerabilities.

Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
Co-authored-by: Nikhil-Ladha <nikhilladha1999@gmail.com>
2024-09-19 11:00:39 +00:00
dependabot[bot]
25d4186265 rebase: bump google.golang.org/grpc from 1.66.0 to 1.66.2
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.66.0 to 1.66.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.66.0...v1.66.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-19 09:26:19 +00:00
dependabot[bot]
a6d89542b6 rebase: bump github.com/hashicorp/vault/api
Bumps the github-dependencies group with 1 update: [github.com/hashicorp/vault/api](https://github.com/hashicorp/vault).


Updates `github.com/hashicorp/vault/api` from 1.14.0 to 1.15.0
- [Release notes](https://github.com/hashicorp/vault/releases)
- [Changelog](https://github.com/hashicorp/vault/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/vault/compare/v1.14.0...v1.15.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/vault/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 10:08:26 +00:00
Praveen M
28dc64dcae rebase: run go mod tidy
Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-09-18 07:52:28 +00:00
dependabot[bot]
1db1f04f62 rebase: bump k8s.io/api in /api in the k8s-dependencies group
Bumps the k8s-dependencies group in /api with 1 update: [k8s.io/api](https://github.com/kubernetes/api).


Updates `k8s.io/api` from 0.31.0 to 0.31.1
- [Commits](https://github.com/kubernetes/api/compare/v0.31.0...v0.31.1)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 07:52:28 +00:00
Niels de Vos
05d501a728 rbd: prevent panic when using rbdImage that is not connected
When an `rbdVolume` or `rbdSnapshot` is not connected with credentials
to the Ceph cluster, operations may try to get the IOContext which then
causes a panic.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-09-18 07:09:12 +00:00
Madhu Rajanna
c2cbb25489 doc: remove contacts from Readme
The twitter and google forum is
not maintained and doesnt have
any updates, This is the good
chance to remove the same from
the cephcsi readme as well.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-18 07:02:50 +00:00
Niels de Vos
8de667af1c ci: update to Minikube v1.34.0
Minikube v1.34.0 has been released adding some improvements and
bugfixes.

See-also: https://github.com/kubernetes/minikube/releases/tag/v1.34.0
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-09-12 16:12:47 +00:00
Madhu Rajanna
d2ddd52151 e2e: add framework for volumegroupsnapshot
adding a framework to test the volumegroupsnapshot
for both cephfs and rbd and added a test case
for cephfs.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-12 13:07:13 +00:00
Madhu Rajanna
744b8e1c1c ci: log pvc events
incase if the pvc is not bound
yet, log the pvc events to
check what is happening.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-12 13:07:13 +00:00
Madhu Rajanna
5c621d2e82 e2e: set log level to 5 in csi pods
all the sidecar log level is not set
to 5 by default, without debug logs
we cannot understand what is wrong
in the tests, this commits sets the
log level to 5 for csi pods.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-12 13:07:13 +00:00
Madhu Rajanna
c48f5bff37 rebase: update external-snapshotter to v8
updating external-snapshotter to v8
release.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-12 13:07:13 +00:00
Niels de Vos
42fc0b6bce rbd: rename setImageOptions() to constructImageOptions()
A function called `setImageOptions()` is expected to set the passed
options on the volume. However, the passed options parameter is only
filled with the options that should get set on the RBD-image at the time
of creation.

The naming of the function, and it's parameter is confusing. Rename the
function to `constructImageOptions()` and return the ImageOptions to
make it easier to understand.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-09-12 10:31:49 +00:00
Rakshith R
61c23dd4d2 rbd: fail DisableVolumeReplication() if image is not mirror disabled
This commit modifies DisableVolumeReplication() to fail
if the image is not in mirror disabled state

Signed-off-by: Rakshith R <rar@redhat.com>
2024-09-11 16:22:29 +00:00
zjx20
49926446f9 ci: make minikube.sh work on macOS M1 with the qemu2 driver
To utilize minikube on macOS M1, the qemu2 VM driver is currently the
only viable option. Therefore, the following modifications have been
implemented:
* the RESOLV_CONF variable has been made configurable because it needs
to be overridden as /etc/resolv.conf when using the qemu2 driver.
* adding additional disks when using the qemu2 driver.

Signed-off-by: zjx20 <zhoujianxiong2@gmail.com>
2024-09-10 13:33:22 +00:00
dependabot[bot]
d3733a0e6a rebase: bump golang.org/x/oauth2 in /actions/retest
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-10 10:51:36 +00:00
dependabot[bot]
226864dd1a rebase: bump the github-dependencies group with 2 updates
Bumps the github-dependencies group with 2 updates: [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) and [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang).


Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.30.5 to 1.30.7
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.30.5...service/sts/v1.30.7)

Updates `github.com/prometheus/client_golang` from 1.20.2 to 1.20.3
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/v1.20.3/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.20.2...v1.20.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-10 10:18:39 +00:00
dependabot[bot]
52f39a36c3 rebase: bump the golang-dependencies group with 3 updates
Bumps the golang-dependencies group with 3 updates: [golang.org/x/crypto](https://github.com/golang/crypto), [golang.org/x/net](https://github.com/golang/net) and [golang.org/x/sys](https://github.com/golang/sys).


Updates `golang.org/x/crypto` from 0.26.0 to 0.27.0
- [Commits](https://github.com/golang/crypto/compare/v0.26.0...v0.27.0)

Updates `golang.org/x/net` from 0.28.0 to 0.29.0
- [Commits](https://github.com/golang/net/compare/v0.28.0...v0.29.0)

Updates `golang.org/x/sys` from 0.24.0 to 0.25.0
- [Commits](https://github.com/golang/sys/compare/v0.24.0...v0.25.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golang-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golang-dependencies
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golang-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-10 08:51:07 +00:00
Niraj Yadav
6c704bcd89 cephfs: Fix Removal of IPs from blocklist
While dealing with CephFS fencing we evict the
clients and block the IPs from the CIDR range
that do not have any active clients individually.

While Unfencing, the IP is removed via the
CIDR range which fails to remove the individual
IPs from Ceph's blacklist.

This PR fetches the blocklist from ceph and
removes the IPs in blocklist that lie inside
the CIDR range along with their unique nonces.

Signed-off-by: Niraj Yadav <niryadav@redhat.com>
2024-09-09 09:18:02 +00:00
Madhu Rajanna
bdd4c077ce doc: fix codespell problem
fixed codespell problems found
in the CI run

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-04 10:13:47 +00:00
dependabot[bot]
56cf915dff rebase: bump google.golang.org/grpc from 1.65.0 to 1.66.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.65.0 to 1.66.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.65.0...v1.66.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-04 07:50:02 +00:00
dependabot[bot]
89da94cfd0 rebase: bump the github-dependencies group with 2 updates
Bumps the github-dependencies group with 2 updates: [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) and [github.com/onsi/gomega](https://github.com/onsi/gomega).


Updates `github.com/onsi/ginkgo/v2` from 2.20.1 to 2.20.2
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/ginkgo/compare/v2.20.1...v2.20.2)

Updates `github.com/onsi/gomega` from 1.34.1 to 1.34.2
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.34.1...v1.34.2)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-03 13:07:00 +00:00
Madhu Rajanna
88ce2c625b helm: remove kube version check
kubernetes 1.25 is EOL and we dont
support it in cephcsi anymore, Removing
the checks for the same.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-02 13:57:11 +00:00