Commit Graph

4255 Commits

Author SHA1 Message Date
Madhu Rajanna
b939471ac2 cephfs: use os.Remove to remove directory
using os.RemoveAll will remove everything
in the director after the Umount we should
be using os.Remove only to remove the empty
directory

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit cd09266870)
2024-11-21 12:24:34 +00:00
Madhu Rajanna
e6292d8f90 cephfs: take lock on targetpath on node operation
We should not be dependent on the CO to ensure
that it will serialize the request instead of
that we need to have own internal locks to ensure
that we dont do concurrent operations for same
request.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 7cfeae579f)
2024-11-21 12:24:34 +00:00
Madhu Rajanna
2a7f6bbcb9 rbd: take lock on targetpath during node operation
We should not be dependent on the CO to ensure
that it will serialize the request instead of
that we need to have own internal locks to ensure
that we dont do concurrent operations for same
request.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit b6bd8ca71a)
2024-11-21 12:24:34 +00:00
Madhu Rajanna
20a317e5b3 revert: prepare for 3.12.2 release
This reverts the part of commit
c3313495a6
except the doc changes

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-06 15:22:49 +00:00
Madhu Rajanna
dcf14882dd doc: fix codespell problem
fixed codespell problems found
in the CI run

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit bdd4c077ce)
2024-09-06 12:13:46 +00:00
Madhu Rajanna
c3313495a6 build: prepare for 3.12.2 release
Updating the required template, docs
for release 3.12.2

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-09-06 12:13:46 +00:00
Madhu Rajanna
41bf40678d 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>
(cherry picked from commit 88ce2c625b)
2024-09-02 15:44:48 +00:00
Madhu Rajanna
799acf2d98 rbd: add a check for CSI pv
add a check for CSI as it can be
nil for non-csi PV.

fixes: #4807

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 3ac596840c)
2024-08-28 09:25:01 +00:00
Dmytro Alieksieiev
add317d87e helm: Always add nodes read permissions to provisioner ClusterRole
Signed-off-by: Dmytro Alieksieiev <1865999+dragoangel@users.noreply.github.com>
(cherry picked from commit 601c40b1d8)
2024-08-27 11:50:43 +00:00
Praveen M
07649bf54a revert: deploy: update templates to v3.12.1"
This reverts commit 5555156dd1.

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-08-26 08:57:44 +00:00
Madhu Rajanna
02a79943cb rbd: add image size in toSnapshot
we need to return the rbd image size
as a snapshot size in CreateSnapshot
Response.

fixes: #4788

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 38fd27a209)
2024-08-22 11:34:46 +00:00
Praveen M
043ec22aa9 helm: add immediate-topology flag to external-provisioner
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 9181d20d33)
2024-08-22 08:03:49 +00:00
Praveen M
bbfe06b3b9 deploy: add immediate-topology flag to external-provisioner
In csi-external-provisioner: v5.0.1, topology-aware
provisioning is enabled by default. As a result provisioner
now expects toologyKeys to be present in CSINode object which
must be passed by user via `--domainlabels` flag in RBD nodeplugin.

Issue: Users upgrading to v3.12.0 who were not previously using
topology-aware provisioning may encounter issues when provisionining
RBD PVCs, as the `--domainlabels` flag might not be set.

Fix: To address this, add `--immediate-topology=false` to disable
topology-aware provisioning. User requiring topology-aware
provisioning should provided the volumeBindingMode as
`WaitForFirstConsumer` and `TopologyConstrainedPools` as required in
the StorageClass and configure `--domainlabels` flag in RBD nodeplugin.

Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 55f221ff50)
2024-08-22 08:03:49 +00:00
Niraj Yadav
b18a809ed1 build: Use Go v1.22.5
Go versions 1.22.0 through 1.22.4 are affected
by CVE-2024-24791

Signed-off-by: Niraj Yadav <niryadav@redhat.com>
(cherry picked from commit cc6835eee8)
2024-08-21 10:39:23 +00:00
Rakshith R
5555156dd1 deploy: update templates to v3.12.1
This commit updates templates to new
v3.12.1 release.

Signed-off-by: Rakshith R <rar@redhat.com>
2024-08-20 10:43:44 +00:00
Mark Glines
99a7c359c0 helm: don't specify default topology domainlabels in rbd chart
Remove the bad default, add commented-out standard labels as a suggestion.

Fixes: #4775
Signed-off-by: Mark Glines <mark@glines.org>
(cherry picked from commit 2c0e65b828)
2024-08-19 12:12:23 +00:00
Madhu Rajanna
620d06dd15 revert: change image version to canary
updating the image version to push
canary images for the release 3.12
branch.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-08-16 13:24:05 +00:00
Madhu Rajanna
42797edd7e build: prepare of 3.12.0
updating the required templates
and document for the 3.12.0
release.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-08-16 08:30:36 +00:00
ShravaniVangur
0eabe32b76 deploy: setting RequiredDropCapabilities to ALL for ceph-csi scc
This commit sets the RequiredDropCapabilities of ceph-csi to "ALL".

Signed-off-by: ShravaniVangur <shravanivangur@gmail.com>
2024-08-15 12:00:02 +00:00
Madhu Rajanna
b0751cb06e ci: update rules for 3.12 release
updating release for 3.12 release

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-08-14 15:11:41 +00:00
Madhu Rajanna
50c202b5f8 doc: update the upgrade doc
updating the upgrade doc to
point to 3.12.0 doc for upgrades.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-08-14 15:11:41 +00:00
Madhu Rajanna
2241e8e074 doc: readme update for 3.12
readme update for 3.12.0 release

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-08-14 15:11:41 +00:00
Madhu Rajanna
dfa565525a ci: remove feature gates
Remove the feature gates as they
are not required anymore as they
are already in beta and few removed
in 1.31.0

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-08-14 14:40:36 +00:00
dependabot[bot]
fb9403e820 rebase: bump sigs.k8s.io/controller-runtime
Bumps the k8s-dependencies group with 1 update: [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime).


Updates `sigs.k8s.io/controller-runtime` from 0.18.4 to 0.18.5
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.18.4...v0.18.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-14 09:57:59 +00:00
dependabot[bot]
3db33b176b 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.25.0 to 0.26.0
- [Commits](https://github.com/golang/crypto/compare/v0.25.0...v0.26.0)

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

Updates `golang.org/x/sys` from 0.23.0 to 0.24.0
- [Commits](https://github.com/golang/sys/compare/v0.23.0...v0.24.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-08-13 18:12:03 +00:00
Nikhil-Ladha
71cbf3d7eb ci: add test for uncommitted changes in deploy directory
added test for uncommitted changes in deploy directory under go-test GH action.
Also, created a new make target named `make check-deploy-committed` that
can be used to verify the uncommitted changes.

Signed-off-by: Nikhil-Ladha <nikhilladha1999@gmail.com>
2024-08-13 12:17:43 +00:00
Praveen M
e150fd986b journal: fix empty csiCreationTimeKey value
This commit fixes the issue where the `csiCreationTimeKey`
field was missing during the rebuilding of the
`VolumeGroupJournalConfig` struct in the `Connect()` method,
which led to the `csi.creationtime` key not being stored in
the omap.

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-08-13 07:22:26 +00:00
Niels de Vos
869aaced7d rbd: convert rbdVolume to rbdSnapshot
After cloning the RBD snapshot, an rbdVolume is returned for the
CSI.Snapshot object. In order to use the rbdSnapshot.ToCSI() function,
the rbdVolume needs to be converted (back) to an rbdSnaphot.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-08-09 14:58:59 +00:00
Niels de Vos
503d10eb1a journal: store CreationTime for VolumeGroups
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-08-09 14:58:59 +00:00
Niels de Vos
6d1ab1b8d9 rbd: have GetCreationTime() return a time.Time struct
Do not use protobuf types when there is no need. Just use the standard
time.Time format instead.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-08-09 14:58:59 +00:00
Niels de Vos
2fd92573f4 ci: prevent incorrect pattern matching for skipping ci command
Mergify matches `body-raw` as regular expression, but that makes it
difficult (if not impossible) to match the `[` in a string.

Fixes: #4751
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-08-09 10:50:56 +00:00
Niels de Vos
d06497cf32 doc: add description of Mergify commands for merging a PR
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-08-09 10:06:28 +00:00
Niels de Vos
4a46ffd2b7 ci: detect [skip ci] in PR descriptions and prevent breakage
When Jenkins jobs are started by a comment, and if the PR contains
`[skip ci]` in the description, Jenkins does not run the requested job,
nor set a status for the job in the PR.

This causes Mergify to add the `ok-to-test` label again, instructing a
GitHub Action to add comments to start jobs in Jenkins. Once all
comments have been posted, the `ok-to-test` label is removed. Mergify
then notices that the jobs were not run, and adds the `ok-to-test` label
again.... Endlessly looping of adding the label, commenting and removing
the label as a result.

By reporting the brokenness of the PR description and marking the PR as
Draft, the looping is prevented.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-08-09 10:06:28 +00:00
dependabot[bot]
dabf3c4099 rebase: bump the github-dependencies group with 3 updates
Bumps the github-dependencies group with 3 updates: [github.com/IBM/keyprotect-go-client](https://github.com/IBM/keyprotect-go-client), [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) and [github.com/onsi/gomega](https://github.com/onsi/gomega).


Updates `github.com/IBM/keyprotect-go-client` from 0.14.3 to 0.15.1
- [Release notes](https://github.com/IBM/keyprotect-go-client/releases)
- [Changelog](https://github.com/IBM/keyprotect-go-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/IBM/keyprotect-go-client/compare/v0.14.3...v0.15.1)

Updates `github.com/aws/aws-sdk-go` from 1.55.4 to 1.55.5
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.55.4...v1.55.5)

Updates `github.com/onsi/gomega` from 1.34.0 to 1.34.1
- [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.0...v1.34.1)

---
updated-dependencies:
- dependency-name: github.com/IBM/keyprotect-go-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github.com/aws/aws-sdk-go
  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-08-06 22:41:49 +00:00
dependabot[bot]
ee503fae54 rebase: bump golang.org/x/sys in the golang-dependencies group
Bumps the golang-dependencies group with 1 update: [golang.org/x/sys](https://github.com/golang/sys).


Updates `golang.org/x/sys` from 0.22.0 to 0.23.0
- [Commits](https://github.com/golang/sys/compare/v0.22.0...v0.23.0)

---
updated-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-08-06 14:37:43 +00:00
Niels de Vos
130e8b42f2 cephfs: use conf.InstanceID instead of global variable
RBD does not have a global CSIInstanceID variable anymore, there is no
need for CephFS to use one either.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-08-05 17:04:52 +00:00
Niels de Vos
dfb48bac17 util: add CSIDriver.GetInstanceID()
There has been some confusion about using different variables for the
InstanceID of the RBD-driver. By removing the global variable
CSIInstanceID, there should be no confusion anymore what variable to
use.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-08-05 17:04:52 +00:00
Niraj Yadav
0092a47586 doc: Remove podSecurityPolicy from helm docs
Fixes: #4714

Signed-off-by: Niraj Yadav <niryadav@redhat.com>
2024-08-05 09:53:42 +00:00
Niels de Vos
db6f54f75d ci: disable seccomp when running podman with GitHub Actions
Fedora 40 builds seems to require disabling seccomp. When enabled,
installing Golang inside the container fails.

See-also: containers/podman#21012
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-08-01 08:31:12 +00:00
Niels de Vos
a8d1b9dfe5 ci: use latest Fedora container-image
GitHub had issues with Fedora 40 when it was released. Hopefully this is
not the case anymore.

Closes: #4585
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-08-01 08:31:12 +00:00
Niels de Vos
e3697f4d3e doc: inform users that the OS in the container-image is updated
The Squid container-image that is used as base for the Ceph-CSI
container-image uses CentOS Stream 9.

Closes: #4659
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-07-31 14:12:59 +00:00
Madhu Rajanna
3a8981a735 rbd: add support to get volumegroupID
updated GetIDFromReplication to return
volumeGroupID if its present.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-07-31 12:16:42 +00:00
Madhu Rajanna
f7c78ae4fe rbd: update group Stringer method
updated the group stringer method
to have pool and namespace for
proper debugging/logging and to
use it with CLI as agrument as well.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-07-31 12:16:42 +00:00
Madhu Rajanna
37970ae212 rbd: add context to mirror interface
adding required ctx to the mirror
interface as ctx is required for
the volumegroup operations.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-07-31 12:16:42 +00:00
Madhu Rajanna
8788e5ec08 rbd: adapt to GetVolumeByID error message
GetVolumeByID already returning detailed
error message, the caller just need to return
it. No need to add duplicate details to error
message.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-07-31 12:16:42 +00:00
Madhu Rajanna
7e2e5ba2e5 rbd: flatten image in ModifyVolumeGroupMembership
in ModifyVolumeGroupMembership RPC call,
flatten the required images before adding it
to the group or else if the parent is not
mirror enabled adding a child to the group
will fail.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-07-31 12:16:42 +00:00
Madhu Rajanna
88a5c8a0eb vendor: update csiaddons spec
updating csiaddons spec to the
latest main.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-07-31 12:16:42 +00:00
Madhu Rajanna
e682f2cc73 rbd: add struct to error
updating HandleParentImageExistence function
to return more details error which includes
the pool/namespace/image name

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-07-31 12:16:42 +00:00
Madhu Rajanna
c773c98408 rbd: flatten image in CreateVolumeGroup
This commit adds support for flattenMode option
for volumegroup.
If the flattenMode is set to "force" in
volumegroupreplicationclass parameters,
cephcsi will add a task to flatten the image
if it has parent before adding it to the group.
This enable cephcsi to then mirror such images
after flattening them.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-07-31 12:16:42 +00:00
Madhu Rajanna
b222b773aa rbd: implement journalledObject for volumes
implement journalledObject interface to
return the journal objects of the volume.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-07-31 12:16:42 +00:00