Commit Graph
5052 Commits
Author SHA1 Message Date
Travis Nielsen 89ead2f314 Merge pull request #17299 from rook/mergify/bp/release-1.19/pr-17160
test: add integration tests for CephObjectStoreUser capabilities (backport #17160)
2026-04-08 13:09:00 -06:00
Travis Nielsen 99c90c6d8e osd: add logging when detecting osd versions
When osd versions are being detected, log more info
about the versions to understand better if the
require-osd-version release is being set as
expected.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit a80ca49855)
2026-04-08 17:07:28 +00:00
Joshua Hoblitt 01eeb21aeb test: add integration tests for CephObjectStoreUser capabilities
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 0139637e34)
2026-04-02 20:41:07 +00:00
hjk068 ff79144fef object: call generateUserCaps after AdminOpsClient calls
This prevents overwriting the user-specified capabilities
and correctly copies the Capabilities into UserCapabilities
after the AdminOpsClient calls.

Signed-off-by: hjk068 <hello.hyunjin@gmail.com>
(cherry picked from commit b113e37dae)
2026-04-02 15:15:22 +00:00
Tarun Gupta Akirala 89129f03cd cosi: update default sidecar image version
Encountered this bug in current image kubernetes-sigs/container-object-storage-interface#173
which is fixed in recent release via kubernetes-sigs/container-object-storage-interface#197

Signed-off-by: Tarun Gupta Akirala <tarun.akirala@nutanix.com>
(cherry picked from commit 9803964d03)
2026-04-01 11:28:33 -06:00
majiayu000 c9e0bca7ff object: add labels field to CephObjectStore RGW service spec
Allow users to configure custom labels on CephObjectStore RGW services
by adding a Labels field to the RGWServiceSpec, following the existing
pattern used for Annotations. This enables use cases such as service
mesh integration and monitoring discovery that require specific labels
on Kubernetes services.

Fixes: #17235
Signed-off-by: majiayu000 <1835304752@qq.com>
(cherry picked from commit ac6ec79865)
2026-03-30 16:38:49 +00:00
Santosh 00b127ceb4 osd: zap disks for forceful OSD installation
When cephCluster is resinstalled and WipeDevicesFromOtherClusters is set
to true, then Rook cleans up the OSD disks using ceph-volum lvm zap, so
that new OSD can created on this disk. This PR removes the dependencies
of the "ceph-volume lvm zap" and provides implements the entry disk
"ceph-volume lvm zap" logic within rook

Signed-off-by: Santosh <sapillai@redhat.com>
(cherry picked from commit 92324588ba)
2026-03-26 18:46:25 +00:00
Oded Viner 7ec6cb6aef pool: clean up erasure code profile on pool deletion
deleting an erasure coded CephBlockPool left the ec profile
orphaned. recreating with different settings failed because
the old profile could not be overridden.
- delete ec profile during CephBlockPool deletion
- disable --format json on ec profile set command
- fix ec profile name mismatch in CephObjectStore deletion

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit b88648d10f)
2026-03-19 16:05:04 +00:00
Oded Viner 5e62a9bedd pool: set ec pool status to ready after reconcile
ec pools skip the mirroring configuration path where
the status is set to ready, leaving them stuck in
progressing state forever. add status update to ready
in the else branch when mirroring is skipped.

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit ba9fad77a0)
2026-03-17 21:34:56 +00:00
Niraj Yadav 333904ac0a csi: update ceph-csi image to v3.16.2
This patch updates the ceph-csi image version
to v3.16.2

Signed-off-by: Niraj Yadav <niryadav@redhat.com>
(cherry picked from commit c5613a3320)
2026-03-13 15:50:47 +00:00
Artem Torubarov 4a33f52954 rgw: fix integration test to detect new zone pools
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
(cherry picked from commit 91086e5803)
2026-03-11 22:13:44 +00:00
Artem Torubarov 5b5cc0e234 rgw: integration test to check new pools in zone.json
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
(cherry picked from commit 3c0bfd8572)
2026-03-11 22:13:44 +00:00
Artem Torubarov eb17bb490f rgw: not update shared pools if prev pool is not empty
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
(cherry picked from commit 845293c3cd)
2026-03-11 22:13:43 +00:00
Artem Torubarov e2ce1ea2b0 rgw: support new RGW pools in shared pools zone json config
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
(cherry picked from commit a134643352)
2026-03-11 22:13:42 +00:00
Muhammad Adil Ghaffar ee5eb68223 exporter: delete orphaned ceph-exporter deployments on reconcile
Clean up stale exporter deployments whose target node no longer exists.
This handles the case where the operator was down when a node was deleted,
so the deletion event was missed and the stale deployment was never removed.

Signed-off-by: Muhammad Adil Ghaffar <muhammad.adil.ghaffar@est.tech>
(cherry picked from commit 0b8ed65749)
2026-03-10 21:26:06 +00:00
Travis Nielsen 9ca5560d22 exporter: continue reconciling all clusters when disabled in the first
When reconciling the crash collectors and exporters, if one cluster
has disabled them, they will be deleted, then the reconcile
will complete, thus skipping reconcile of the crash collectors
and exporters for the remaining clusters.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 71e1dbffa4)
2026-03-10 17:56:41 +00:00
Travis Nielsen 46d9c79f8a exporter: remove exporter resources as best effort
Remove the exporter deployment when needed as best effort
in case the removal fails, there is no need to block other
reconcile.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 256a338c14)
2026-03-10 17:56:41 +00:00
Travis Nielsen 0cce6bac21 exporter: remove obsolete version checking for ceph v18
Rook no longer supports earlier than Ceph v18, so remove the
obsolete version checking in the ceph exporter reconcile.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 733406b175)
2026-03-10 17:56:41 +00:00
mergify[bot] 5de7b5423e Merge pull request #17163 from rook/mergify/bp/release-1.19/pr-17161
rgw: cephobjectstoreuser should create correct ipv6 formatted secret (backport #17161)
2026-03-06 21:14:11 +00:00
parth-gr cee051da5c rgw: cephobjectstoreuser should create correct ipv6 formatted secret
currently the ipv6 parsing was not done right,
so the ipv6 endpoint was skewed,
It was happening at multiple places for external mode
1) cephobjectstore status
2) cephobjectstoreuser secret
3) and more places where GetAdvertiseEndpointUrl is called

so fixed the GetAdvertiseEndpointUrl func to make use of ipv6 address

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit aa12b5c00c)
2026-03-06 20:15:08 +00:00
parth-gr 379f313e97 pool: skip miroring if the pool is ec
the ec pool doesnt support mirroring from ceph end
so skip if the mirroring spec is set on the ec pools

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 9f932d477e)
2026-03-06 14:41:49 +00:00
mergify[bot] dd72e9917a Merge pull request #17158 from rook/mergify/bp/release-1.19/pr-17116
exporter: add configurable port for ceph exporter (backport #17116)
2026-03-05 19:22:51 +00:00
Oded Viner b3f26bc27a exporter: add configurable port for ceph exporter
the ceph exporter port was hardcoded to 9926, preventing
co-location of exporters from different ceph clusters on
the same node. add a port field to cephexporterspec so
users can override it via spec.monitoring.exporter.port.

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit c2a2fc4241)
2026-03-05 17:11:45 +00:00
Travis Nielsen 0e21503455 test: increase osd reconcile wait timeout
The osd unit tests periodically fail with a timing issue
when canceling an orchestration. Attempt to stabilize
the test with a longer timeout before canceling the
test.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 96f4320a34)
2026-03-05 16:24:34 +00:00
Santosh 744ea9faf5 osd: check devlinks while cleaning osd disks
In getOSDDiskToBeWiped(), when the RealPath doesn't match the device path reported by ceph-volume, also check each entry in the space-separated DevLinks string. This handles the case where ceph-volume raw list reports an LVM symlink (e.g. /dev/rhel/ceph-data) that differs from the resolved RealPath (e.g. /dev/mapper/rhel-ceph--data).

Signed-off-by: Santosh <sapillai@redhat.com>
(cherry picked from commit 475fc7c7a6)
2026-03-02 18:22:50 +00:00
mergify[bot] 1d243854d4 Merge pull request #17127 from rook/mergify/bp/release-1.19/pr-17119
deploy: update CSI sidecars to latest versions available (backport #17119)
2026-02-26 19:02:19 +00:00
Travis Nielsen 9c1100abc7 Merge pull request #17125 from rook/mergify/bp/release-1.19/pr-17112
osd: update lockbox key rotation for encrypted OSDs (backport #17112)
2026-02-26 11:45:15 -07:00
Praveen M 95e4a8a082 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>
(cherry picked from commit 6b55092abf)
2026-02-26 17:51:03 +00:00
Artem Torubarov 7dd938b222 rgw: skip non-raw commands on object deletion path when pools not exists
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
(cherry picked from commit a7f176b366)
2026-02-26 17:50:08 +00:00
Artem Torubarov 16ea704cb6 rgw: force objectStore controller to wait until zone and sharedPools are ready
Fixes race condition for rgw multisite deployments caused by ObjectStore
and Zone controllers calling period commit concurrently. See: https://github.com/rook/rook/issues/17013

Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
(cherry picked from commit b47d2c2f79)
2026-02-26 17:50:08 +00:00
Blaine Gardner ef9e8be357 osd: update lockbox key rotation for encrypted OSDs
Update `lockbox.keyring` rotation for encrypted OSDs to ensure the key
is not lost if the init container fails but continues assuming
(reasonably) that the key is likely still relevant.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 931006fb91)
2026-02-26 15:41:51 +00:00
Satoru Takeuchi ec6008e2ea osd: set device-type label on update
We should set OSDInfo.DeviceType if "device-type" label is
set on the corresponding Deployment. Otherwise, Rook
deletes this label on Update.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
(cherry picked from commit dac71d9edd)
2026-02-25 12:27:01 +00:00
Praveen M 08985245ad csi: update imagePullPolicy in operatorconfig and driver CR
Adds ImagePullPolicy configuration to CSI node plugin and controller
plugin specs in both the operator config and driver CR generation functions.
This ensures the CSI driver components use the configured pull policy
from CSIParam.ImagePullPolicy.

Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 67c4203531)
2026-02-24 16:52:57 +00:00
Satoru Takeuchi 33b937a1cb osd: fix osd on multipath device with metadata device
OSDs are created with `ceph-volume lvm batch` if `metadataDevice`
field is specified in CephCluster CR. Since this command does not
support kernel names (e.g. `/dev/dm-X`) for multipath devices,
we should use real names (e.g. `/dev/mapper/mpathX`) instead.

NOTE:
I intentionally keep raw mode OSD creation code as is
because `ceph-volume raw prepare` supports kernel names
for any devices.

Closes: https://github.com/rook/rook/issues/17057

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
(cherry picked from commit 6f8b2aee94)
2026-02-24 15:20:36 +00:00
Oded Viner 27a3576407 nvmeof: add default gateway pod spreading
ensure each gw pod runs on a different node when possible.
add default pod anti-affinity and topology spread constraints.
keep user placement overrides by merging defaults with spec placement.
add tests for default spread and user override behavior.

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit bc6e5fbc86)
2026-02-18 18:43:15 +00:00
Santosh c9b4e2d60b rgw: fix status info when http is disabled
When http is disabled, the spec.status.info.insecure will keep on
showing the insecure endpoint. This PR makes sure that the
spec.status.info.insecure is empty when http is disabled

Signed-off-by: Santosh <sapillai@redhat.com>
(cherry picked from commit 6b9b0231b7)
2026-02-12 15:48:38 +00:00
Joshua Hoblitt 0e25b2089f object: add ObjectStoreUserSpec.OpMask field
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 3ef0c90ef8)
2026-02-11 17:11:07 +00:00
subham rai 7be1e02dca Merge pull request #17062 from rook/mergify/bp/release-1.19/pr-16584
exporter: add log collector for ceph exporter pod (backport #16584)
2026-02-11 11:34:05 +05:30
subhamkrai 3a83cbbe71 exporter: add log collector for ceph exporter pod
similar to other ceph pods like osd,mon,mgr,mirror
pod this commit add log collector container to the
main exporter pod to rotate the logs of exporter pod.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 201f6ae104)
2026-02-10 15:52:04 +00:00
Praveen M 642fb754db csi: update ceph-csi image to 3.16.1
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 1ad4c04f14)
2026-02-10 15:40:42 +00:00
subham rai ceca56d37a Merge pull request #17055 from rook/mergify/bp/release-1.19/pr-16963
build(deps): bump sigs.k8s.io/controller-runtime from 0.22.4 to 0.23.0 in the k8s-dependencies group (backport #16963)
2026-02-10 16:24:51 +05:30
subhamkrai 334bc5a1fb test: fix unit test code to remove extra comma
this commit fix regression comming from another pr
which was merged and since github was down ci were
not running.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit f98dd9f9f0)
2026-02-10 13:51:47 +05:30
subhamkrai 6c3759322f build: update deprecated api GetEventRecorderFor
with controller runtime latest version vO.23.0, golangci lint
is complaining about deprecated api deprecated.
This commit updates the api and adds the requried rbacs

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 08344f39f6)
2026-02-09 19:53:23 +00:00
Blaine Gardner cba8cefabb osd: in cephx key init, don't overwrite key on failure
Previously, if the OSD cephx-keyring-update init container couldn't
contact the mons, the output redirect would overwrite the on-disk
keyring file with no text, removing the on-disk keyring.

Modify the init container to only overwrite the keyring file when the
ceph command to get the latest key suceeds, to avoid removing the
on-disk key.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit d69ffdfd2c)
2026-02-09 19:22:49 +00:00
Jan Breitkopf 1665c96eb0 operator: fix OSD info
This fixes OSD info being incomplete when a sidecar container is first
in the .spec.Template.Spec.Containers list.
I added a small helper function to find a container named "osd" instead
of always assuming the first one.

Signed-off-by: Jan Breitkopf <jan.breitkopf@prorocketeers.com>
(cherry picked from commit 1ff6f70311)
2026-02-05 19:55:16 +00:00
dependabot[bot] 06bb7a5abe build(deps): bump the k8s-dependencies group with 6 updates
Bumps the k8s-dependencies group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.34.2` | `0.34.3` |
| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.34.2` | `0.34.3` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.34.2` | `0.34.3` |
| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.34.2` | `0.34.3` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.2` | `0.34.3` |
| [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) | `0.34.2` | `0.34.3` |

Updates `k8s.io/api` from 0.34.2 to 0.34.3
- [Commits](https://github.com/kubernetes/api/compare/v0.34.2...v0.34.3)

Updates `k8s.io/apiextensions-apiserver` from 0.34.2 to 0.34.3
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.34.2...v0.34.3)

Updates `k8s.io/apimachinery` from 0.34.2 to 0.34.3
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.34.2...v0.34.3)

Updates `k8s.io/cli-runtime` from 0.34.2 to 0.34.3
- [Commits](https://github.com/kubernetes/cli-runtime/compare/v0.34.2...v0.34.3)

Updates `k8s.io/client-go` from 0.34.2 to 0.34.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.34.2...v0.34.3)

Updates `k8s.io/cloud-provider` from 0.34.2 to 0.34.3
- [Commits](https://github.com/kubernetes/cloud-provider/compare/v0.34.2...v0.34.3)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cli-runtime
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/client-go
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cloud-provider
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit 3c51e808f2)
2026-02-05 11:33:57 -07:00
Travis Nielsen bc424790c8 Merge pull request #17026 from rook/mergify/bp/release-1.19/pr-16922
csi: remove automated node fencing code (backport #16922)
2026-02-05 11:28:49 -07:00
subhamkrai 617abc0202 csi: remove rbd wording from node loss doc
since ceph-csi driver now handles both rbd and cephfs
volume node loss case, let's remove rbd specific
wording from the node loss doc in rook.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit ae33d23053)
2026-02-05 10:54:01 -07:00
Santosh 0907016010 osd: fix update OSDs logic for cancelled context
`updateExistingOSDs` should not wait and retry if the golang context got
cancelled. Else it would keep on retrying for 20 minutes before
exciting.

Signed-off-by: Santosh <sapillai@redhat.com>
(cherry picked from commit 33046734b3)
2026-02-05 15:50:44 +00:00
subhamkrai 617a347d97 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>
(cherry picked from commit 20f350a71a)

# Conflicts:
#	pkg/operator/ceph/cluster/watcher_test.go
2026-02-05 14:47:26 +00:00