Commit Graph
1504 Commits
Author SHA1 Message Date
Travis Nielsen 62a9debceb core: update all docs and examples to v20.2.1
With the default version now being v20.2.1, also update
all of the examples, documentation, and default CI to run
with that version

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-04-28 14:09:17 -06:00
Travis Nielsen d256138023 Merge pull request #17432 from OdedViner/nvmeof_scc_upstream
security: grant scc to rook-ceph-nvmeof service account
2026-04-27 09:49:47 -06:00
Oded Viner 7f3e2ace27 security: grant scc to rook-ceph-nvmeof service account
the rook-ceph-nvmeof service account is not listed in the
securitycontextconstraints users, causing cephnvmeofgateway
pods to fail on openshift. add the service account to the
scc in the helm charts, go scc builder, and test namespace
substitution.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-04-27 16:28:15 +03:00
Oded Viner 2cb714dabd object: migrate s3agent object methods to aws sdk v2
migrate PutObjectInBucket, GetObjectInBucket, and
DeleteObjectInBucket to use aws sdk v2 client.
replace v1 awserr error handling in DeleteObjectInBucket
with v2 typed errors (errors.As).
remove unused v1 awserr import.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-04-23 17:40:15 +03:00
Joshua Hoblitt 0139637e34 test: add integration tests for CephObjectStoreUser capabilities
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-04-02 09:44:28 -07:00
Travis Nielsen 5e8396dee9 Merge pull request #17259 from jhoblitt/plumbing/factor-out-new-objectsuite-cephobjectstore
test: factor out shared object store creation from ns'd object suite tests
2026-04-01 11:59:21 -06:00
Oded Viner 86c920fa79 object: add support for aws sdk v2 in s3agent createbucket
initialize both aws sdk v1 and v2 clients in s3agent.
update createbucket to use sdk v2 while keeping all
other methods on sdk v1.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-03-31 17:41:51 +03:00
Joshua Hoblitt 92f6d3fb67 test: factor out shared object store creation from ns'd object suite tests
This factors out the creation of a single CephObjectStore instance to be
shared between the individually namespaced object suite packages.

This reduces the object suite runtime by the cost of starting up and
tearing down an object store three times.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-03-27 14:42:51 -07:00
Oded Viner ebfbb49f15 nvmeof: add csi operator support for nvmeof canary test
update the nvmeof minikube canary test to use the
ceph-csi operator instead of manually deploying
the provisioner and node-plugin.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-03-24 12:18:45 +01:00
Artem Torubarov 91086e5803 rgw: fix integration test to detect new zone pools
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2026-03-11 16:39:53 +01:00
Artem Torubarov 3c0bfd8572 rgw: integration test to check new pools in zone.json
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2026-03-09 15:11:28 +01:00
Travis Nielsen 24053d04d3 Merge pull request #17017 from parth-gr/test-mirror-ec
ci: add ec pool mirroring in our ci
2026-03-03 10:24:26 -07:00
parth-gr 50f5eec61d ci: add ec pool mirroring in our ci
we do support ec pool mirroring too
Add a test for that

Signed-off-by: parth-gr <partharora1010@gmail.com>
2026-03-03 11:35:05 +05:30
Praveen M 6b55092abf csi: update CSI sidecars to latest versions available
Updated the following csi sidecars to their latest available versions:
- csi-attacher: v4.11.0
- csi-snapshotter: v8.5.0
- csi-resizer: v2.1.0
- csi-provisioner: v6.1.1
- csi-node-driver-registrar: v2.16.0

Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-02-26 10:25:49 +05:30
Oded Viner 2ebb5d968a nvmeof: add nvmeof minikube canary test without csi operator
adds a new nvmeof minikube canary job for ceph v20.
the test deploys rook with csi operator disabled for nvmeof flow.
it validates pvc and pod io, gateway restart, and data persistence.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-02-18 13:22:50 +02:00
Joshua Hoblitt 3ef0c90ef8 object: add ObjectStoreUserSpec.OpMask field
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-02-10 15:10:28 -07:00
subham rai fa4557a93b Merge pull request #16922 from subhamkrai/remove-fencing-obsolete-code
csi: remove automated node fencing code
2026-02-05 13:22:07 +05:30
Satoru Takeuchi 0137274b58 test: create iscsi disk if extra disk does not exist
We found a new github runner that doesn't have an extra
disk mounted on /mnt and it causes massive amounts
of CI failures. We can overcome this circumstance
by creating an iSCSI disk as an extra disk.

ref. https://github.com/rook/rook/issues/16978#issue-3862612835

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2026-02-02 16:29:44 +00:00
subhamkrai 20f350a71a csi: remove automated node fencing code
since node fencing is disabled in rook for sometime
and this feature is implemented in csi. So, this
commits remove obsolete code related to node loss

Signed-off-by: subhamkrai <srai@redhat.com>
2026-01-22 15:19:12 +05:30
Blaine Gardner 526acaf868 ci: add initial kube-api-linter support to CI
Kubernetes has begun releasing a kube-api-linter application for linting
Kubernetes APIs to match against common best-practices. (a.k.a., KAL).
Of note: KAL is still new and has no semver releases.

I believe this linter is helpful in encouraging Rook devs to think
deeply about how end-users consume the API. It ensures that new APIs
account for set/unset status, zero values, upper/lower bounds, and
possibly others in the future.

This commit adds initial support to Rook, without making the results a
requirement. Maintainers still need to evaluate rule configuration and
determine how tightly Rook wants to hold to the results.

As of this commit, I observe around 650  "issues" with the current Rook APIs.
This doesn't mean that Rook is in danger of breaking. Issues with API
types are often just indications that upper/lower bounds are missing, or
that there is ambiguity between set-empty and unset-empty values.

This commit uses `--new` in CI to ensure only new API issues are
flagged.

Also of note, KAL is a golangci-lint plugin. It is possible to locally
build KAL (from source) into golangci-lint to run both at the same time.
However, this is time-consuming, and it's harder to coordinate tool
binary caching this way when it's related to 2 different versions.
Treating KAL as a standalone binary allows for simpler make scripting
and maintenance.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2026-01-21 11:34:22 -07:00
Praveen M 8ebf07bbfe csi: update csi-addons to v0.14.0
Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-01-16 11:50:18 +05:30
Praveen M 31c7592d03 csi: update external sidecar images
Below sidecars are updated with latest available versions

csi-attacher: v4.10.0
csi-snapshotter: v8.4.0
csi-resizer: v2.0.0
csi-provisioner: v6.0.0
csi-node-driver-registrar: v2.15.0

Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-01-14 14:47:11 +05:30
subhamkrai 6c4d8205b6 ci: use minikube github action instead script
using github action for minikube will avoid
unwanted errors and probably will be more stable
than manual install. But both script and action
both uses almost same time for installation so
there we don't have preference.

Signed-off-by: subhamkrai <srai@redhat.com>
2026-01-13 15:24:01 +05:30
Travis Nielsen 94e9e2ba91 ci: test rook upgrade from 1.18
The upgrade test is expected to check from the previous minor
release to the current master or latest release. With the
release of 1.19 coming soon, the upgrade test will now
check from v1.18.x.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-12-15 11:44:38 -07:00
subhamkrai a62a1392f8 ci: run daily nightly job in with gh arm runner
let's run daily nightly canary job with github action
arm runner as self-hosted runners is shutting down which
was provided by upstream user.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-12-08 21:20:37 +05:30
subhamkrai 304cdc8c83 core: remove support for reef v18 in Rook v1.19
For Rook v1.19,removing support for Ceph Reef. It is at end of life.
Users on Reef can continue to use Rook v1.18.x or older.
The latest two Ceph versions Squid and Tentacle are supported.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-12-04 13:11:35 +05:30
Travis Nielsen 83047a17d1 operator: fix concurrency issues in the cluster controller
Use a sync map for the clusterMap in the cluster controller
and fix other issues to allow for concurrent cluster
reconcile.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-11-17 11:46:33 -07:00
Joshua Hoblitt 61cbe4fc23 object: fix user quotas being overwritten when obc bucketOwner is set
Resolves https://github.com/rook/rook/issues/16417

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-11-06 16:31:12 -07:00
Erik Sundell e7a704ccf1 helm: remove legacy PodSecurityPolicy resource
The helm charts allowed rendering a PodSecurityPolicy resource via the
configuration `pspEnable`. This option is removed and all references to
psp, PodSecurityPolicy, and Pod Security Policy have been cleaned up.

The PSP resource was only rendered if k8s version was lower than 1.25
when it was still supported. It has been deprecated since k8s 1.21.

Signed-off-by: Erik Sundell <erik@sundellopensource.se>
2025-09-30 18:25:35 +02:00
Travis Nielsen 270d4d4c65 Merge pull request #16501 from subhamkrai/update-ceph-to-tentacle
core: add support for ceph tentacle
2025-09-19 07:09:40 -06:00
subhamkrai 11fac627b0 core: add support for ceph tentacle
we are now adding tentacle to the supported versions and add the
upgrade test from squid to tentacle. Also, clean some unused code.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-09-19 12:03:45 +05:30
Michael Adam 605e820fc8 ci: move minikube to a better location
In the deb package's location of /usr/bin/minilube, a wrong version seems to be
reported but from /usr/local/bin it reports correctly.

Signed-off-by: Michael Adam <obnox@samba.org>
2025-09-16 18:24:18 +02:00
Michael AdamandTravis Nielsen 40427d5c0d ci: update latest k8s version to 1.34
this change updates the k8s version to 1.34 and also updates
the  cri-ctl version for minikube.

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
2025-09-16 17:57:28 +02:00
subham rai 90804fd61a Merge pull request #16449 from parth-gr/fix-vault
ci: fix the ci canary vault tests
2025-09-10 14:32:17 +05:30
parth-gr b4fa906202 ci: fix the ci canary valut test
use the official way for helm installation
and not use the cdn installation

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-09-10 12:16:11 +05:30
Elias Carter 3ed0d928b8 test: fix create-dev-cluster.sh hanging since v1.18
Currently create-dev-cluster.sh will hang as the rook operator gets stuck like so:
```
2025-09-08 20:29:58.093909 E | ceph-cluster-controller: failed to reconcile CephCluster "rook-ceph/my-cluster". failed to reconcile cluster "my-cluster": failed to configure local ceph cluster: failed to create cluster: failed to start ceph monitors: failed to initialize ceph cluster info: failed to save mons: failed to create/update cephConnection: failed to get ceph connection CR: no matches for kind "CephConnection" in version "csi.ceph.io/v1"
```

Reconciling the mons is blocked until the new CephConnection CRD is available, and that CRD is new as of v1.18.

The simple fix is to simply install those CRDs in create-dev-cluster.sh. After doing this, the dev cluster bootstraps fine.

Signed-off-by: Elias Carter <elias@dropbox.com>
2025-09-08 13:36:22 -07:00
subhamkraiandTravis Nielsen c57a47f774 ci: run csi-operator only in canary and upgrade suite
this commit add check to only run the csi-operator in
all the canary tests and upgrade suite only, other suite
like smoke and object will still test csi-driver.

Also, adding changes to make CI happy.

Signed-off-by: subhamkrai <srai@redhat.com>
Co-Authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2025-08-19 11:23:14 +05:30
Niels de Vos 17d53ed16b csi: update Kubernetes CSI-Addons sidecar to version 0.13.0
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2025-08-12 17:56:37 +02:00
Travis Nielsen 86d30082ab tests: upgrade from 1.17 to master
For the integration tests, now we start upgrading from v1.17.x
to the master branch, to test that the upgrades are stable
to what will become the 1.18 release.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-08-06 15:02:50 -06:00
Travis Nielsen dc09e78ece Merge pull request #16224 from jhoblitt/maint/integration-ceph-admin-client
test: factor out util/admin package for setup of ceph admin client
2025-08-06 10:51:34 -06:00
Travis Nielsen 3137244409 ci: update min k8s version to v1.29
For Rook v1.18 the min supported version of K8s is
v1.29. With the pending release of K8s 1.34, this
will be the typical six most recent releases that
Rook tests against.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-08-04 16:51:00 -06:00
Joshua Hoblitt 36f1a3308f test: factor out util/admin package for setup of ceph admin client
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-08-01 14:44:58 -07:00
Joshua Hoblitt 1163133aec object: simplify CephObjectStoreUser deletion logic
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-08-01 12:41:10 -07:00
Travis Nielsen db2e547779 tests: skip bucket lifecycle policy removal test
In ceph v19.2.3 bucket lifecycle policy removal appears to
be broken, so skip this test for now.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-07-29 12:40:48 -06:00
Travis Nielsen 66a006b99c core: update ceph version to v19.2.3
With the new squid patch release, update the base
image, the docs, and the examples to all use the latest
stable Ceph release v19.2.3.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-07-29 11:51:11 -06:00
Santosh Pillai c615967fa8 Merge pull request #16040 from subhamkrai/rotate-csi-keyrings
csi: automate CSI cephx key rotation
2025-07-29 11:09:50 +05:30
subhamkrai 6d5401c50d csi: automate CSI cephx key rotation
This PR implements the CSI cephx key rotation feature,
which follows overlapping rotation for non-daemon keys.
Refer to the cephx rotation API from design PR 15915 for details.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-07-25 15:39:00 +05:30
parth-gr c592d36fc7 external: automate external users cephx key rotation
Ceph has a new ceph auth rotate command currently
present in ceph:main

Add a new flag `--cephx-key-rotate`  to rotate the
cephx keys genrated by external python script,
If we enable it, it will create a new user with suffix `.{x}`

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-07-24 14:41:51 +05:30
subhamkrai 8bd4b38399 test: add pathType with ingress dashboard host
Recentally, helm related ci started failing due to
```
testutil: failed to install chart. result=. walk.go:75: found symbolic link in path: /home/runner/work/rook/rook/deploy/charts/rook-ceph-cluster/charts/library resolves to /home/runner/work/rook/rook/deploy/charts/library. Contents of linked file included and used
I0714 09:44:18.963620   18291 warnings.go:110] "Warning: path /ceph-dashboard(/|$)(.*) cannot be used with pathType Prefix"
Error: INSTALLATION FAILED: 1 error occurred:
	* admission webhook "validate.nginx.ingress.kubernetes.io" denied the request: ingress contains invalid paths: path /ceph-dashboard(/|$)(.*) cannot be used with pathType Prefix, err=failed to run helm command on args [install --create-namespace rook-ceph-cluster /home/runner/work/rook/rook/deploy/charts/rook-ceph-cluster --namespace helm-ns -f values-test.yaml] : . walk.go:75: found symbolic link in path: /home/runner/work/rook/rook/deploy/charts/rook-ceph-cluster/charts/library resolves to /home/runner/work/rook/rook/deploy/charts/library. Contents of linked file included and used
I0714 09:44:18.963620   18291 warnings.go:110] "Warning: path /ceph-dashboard(/|$)(.*) cannot be used with pathType Prefix"
Error: INSTALLATION FAILED: 1 error occurred:
```
as default `pathType` is `Prefix`, we need to change it to
`pathType:ImplementationSpecific`.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-07-15 12:50:20 +05:30
Travis Nielsen 009e8eb254 Merge pull request #15666 from puskunalis/cleanup-fix-disk-shredding
osd: fix cleanup job disk shredding
2025-07-10 10:28:46 -06:00