Commit Graph
5056 Commits
Author SHA1 Message Date
Travis Nielsen 84298df435 Merge pull request #17161 from parth-gr/external-user-fix
rgw: cephobjectstoreuser should create correct ipv6 formatted secret
2026-03-06 13:14:13 -07:00
Travis Nielsen 13ddabd990 Merge pull request #17143 from parth-gr/ec-disable-mirror
pool: skip miroring if the pool is ec
2026-03-06 07:41:20 -07:00
parth-gr aa12b5c00c 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>
2026-03-06 16:01:41 +05:30
parth-gr 9f932d477e 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>
2026-03-06 13:31:58 +05:30
Blaine Gardner 129b0f9524 Merge pull request #17116 from OdedViner/rgw_mon_param
exporter: add configurable port for ceph exporter
2026-03-05 10:11:10 -07:00
Travis Nielsen 96f4320a34 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>
2026-03-04 15:43:32 -07:00
dependabot[bot] cb3b98d686 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.35.1` | `0.35.2` |
| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.35.1` | `0.35.2` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.35.1` | `0.35.2` |
| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.35.1` | `0.35.2` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.35.1` | `0.35.2` |
| [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) | `0.35.1` | `0.35.2` |

Updates `k8s.io/api` from 0.35.1 to 0.35.2
- [Commits](https://github.com/kubernetes/api/compare/v0.35.1...v0.35.2)

Updates `k8s.io/apiextensions-apiserver` from 0.35.1 to 0.35.2
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.35.1...v0.35.2)

Updates `k8s.io/apimachinery` from 0.35.1 to 0.35.2
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.35.1...v0.35.2)

Updates `k8s.io/cli-runtime` from 0.35.1 to 0.35.2
- [Commits](https://github.com/kubernetes/cli-runtime/compare/v0.35.1...v0.35.2)

Updates `k8s.io/client-go` from 0.35.1 to 0.35.2
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.35.1...v0.35.2)

Updates `k8s.io/cloud-provider` from 0.35.1 to 0.35.2
- [Commits](https://github.com/kubernetes/cloud-provider/compare/v0.35.1...v0.35.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2026-03-02 21:17:11 +05:30
Satoru Takeuchi b2def4c4d6 Merge pull request #17123 from sp98/fix-forceful-osd-deletion
osd: check devlinks while cleaning osd disks
2026-02-27 18:01:19 +09:00
Travis Nielsen f1d2cf7a2b Merge pull request #17119 from iPraveenParihar/upgrade-sidecar-versions
deploy: update CSI sidecars to latest versions available
2026-02-26 10:50:49 -07:00
Travis Nielsen 74a502b3cb Merge pull request #17101 from cobaltcore-dev/pr1-race-condition-fix
rgw: force objectStore controller to wait until zone and sharedPools are
2026-02-26 10:49:27 -07:00
Blaine Gardner 72e03bed49 Merge pull request #17112 from BlaineEXE/update-osd-lockbox-key-rotation-init
osd: update lockbox key rotation for encrypted OSDs
2026-02-26 08:41:20 -07:00
Santosh 475fc7c7a6 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>
2026-02-26 20:07:10 +05:30
Artem Torubarov a7f176b366 rgw: skip non-raw commands on object deletion path when pools not exists
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2026-02-26 09:48:15 +01:00
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 c2a2fc4241 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>
2026-02-25 16:06:02 +02:00
Satoru Takeuchi dac71d9edd 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>
2026-02-25 08:29:55 +00:00
Blaine Gardner 931006fb91 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>
2026-02-24 13:52:22 -07:00
Travis Nielsen fbd9a450f2 Merge pull request #17084 from iPraveenParihar/csi/update-imagepullpolicy
csi: update imagePullPolicy in operatorconfig and driver CR
2026-02-24 09:52:42 -07:00
subham rai c1a892396a Merge pull request #17083 from cybozu-go/osd-fix-prepare-for-mpath-with-metadata-device
osd: fix osd on multipath device with metadata device
2026-02-24 20:49:52 +05:30
Artem Torubarov b47d2c2f79 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>
2026-02-24 11:43:57 +01:00
Oded Viner bc6e5fbc86 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>
2026-02-18 19:59:34 +02:00
Praveen M 67c4203531 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>
2026-02-18 16:26:54 +05:30
Satoru Takeuchi 6f8b2aee94 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>
2026-02-18 08:03:08 +00:00
subham rai 1c12c1cc72 Merge pull request #17076 from rook/dependabot/go_modules/github-dependencies-a4184b45b8
build(deps): bump github.com/ceph/go-ceph from 0.37.0 to 0.38.0 in the github-dependencies group
2026-02-16 21:41:15 +05:30
dependabot[bot] 3af7aa7eea build(deps): bump the k8s-dependencies group with 7 updates
Bumps the k8s-dependencies group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.35.0` | `0.35.1` |
| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.35.0` | `0.35.1` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.35.0` | `0.35.1` |
| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.35.0` | `0.35.1` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.35.0` | `0.35.1` |
| [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) | `0.35.0` | `0.35.1` |
| [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) | `0.23.0` | `0.23.1` |

Updates `k8s.io/api` from 0.35.0 to 0.35.1
- [Commits](https://github.com/kubernetes/api/compare/v0.35.0...v0.35.1)

Updates `k8s.io/apiextensions-apiserver` from 0.35.0 to 0.35.1
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.35.0...v0.35.1)

Updates `k8s.io/apimachinery` from 0.35.0 to 0.35.1
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.35.0...v0.35.1)

Updates `k8s.io/cli-runtime` from 0.35.0 to 0.35.1
- [Commits](https://github.com/kubernetes/cli-runtime/compare/v0.35.0...v0.35.1)

Updates `k8s.io/client-go` from 0.35.0 to 0.35.1
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.35.0...v0.35.1)

Updates `k8s.io/cloud-provider` from 0.35.0 to 0.35.1
- [Commits](https://github.com/kubernetes/cloud-provider/compare/v0.35.0...v0.35.1)

Updates `sigs.k8s.io/controller-runtime` from 0.23.0 to 0.23.1
- [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.23.0...v0.23.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2026-02-16 21:09:03 +05:30
dependabot[bot] 66b3443bd6 build(deps): bump github.com/ceph/go-ceph
Bumps the github-dependencies group with 1 update: [github.com/ceph/go-ceph](https://github.com/ceph/go-ceph).

Updates `github.com/ceph/go-ceph` from 0.37.0 to 0.38.0
- [Release notes](https://github.com/ceph/go-ceph/releases)
- [Changelog](https://github.com/ceph/go-ceph/blob/master/docs/release-process.md)
- [Commits](https://github.com/ceph/go-ceph/compare/v0.37.0...v0.38.0)

---
updated-dependencies:
- dependency-name: github.com/ceph/go-ceph
  dependency-version: 0.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2026-02-16 21:05:58 +05:30
Blaine Gardner da1e109f63 Merge pull request #17050 from sp98/disable-rgw-http
rgw: fix status info when http is disabled
2026-02-12 08:47:53 -07:00
Santosh 6b9b0231b7 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>
2026-02-12 09:41:22 +05:30
Joshua Hoblitt 3ef0c90ef8 object: add ObjectStoreUserSpec.OpMask field
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-02-10 15:10:28 -07:00
Travis Nielsen d82f6dee97 Merge pull request #16584 from subhamkrai/ceph-exporter-logcollector
exporter: add log collector for ceph exporter pod
2026-02-10 08:51:43 -07:00
Praveen M 1ad4c04f14 csi: update ceph-csi image to 3.16.1
Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-02-10 20:11:44 +05:30
subhamkrai f98dd9f9f0 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>
2026-02-10 12:36:36 +05:30
Travis Nielsen ef7ca49281 Merge pull request #16963 from rook/dependabot/go_modules/k8s-dependencies-487114aae1
build(deps): bump sigs.k8s.io/controller-runtime from 0.22.4 to 0.23.0 in the k8s-dependencies group
2026-02-09 12:52:49 -07:00
Blaine Gardner 50ff29140a Merge pull request #17052 from BlaineEXE/osd-cephx-key-init-fix
osd: in cephx key init, don't overwrite key on failure
2026-02-09 12:21:54 -07:00
Blaine Gardner d69ffdfd2c 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>
2026-02-09 10:06:27 -07:00
subhamkrai 08344f39f6 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>
2026-02-09 21:48:02 +05:30
Travis Nielsen 14cb3bd7c2 Merge pull request #16969 from kyrbrbik/fix-osd-info
operator: fix OSD info
2026-02-05 12:54:20 -07:00
Blaine Gardner 654e57371a Merge pull request #17022 from sp98/fix-context-cancellation
osd: fix updateExistingOSDs function for cancelled context
2026-02-05 08:50:06 -07:00
subhamkrai 201f6ae104 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>
2026-02-05 16:18:05 +05:30
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
Santosh 33046734b3 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>
2026-02-05 12:37:43 +05:30
Madhu Rajanna 4416b5ce9d csi: run csi controller plugin on host network
When CSI_ENABLE_HOST_NETWORK is set run the
csi controller plugin pods on the host network

closes: #16960

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2026-02-05 10:38:55 +05:30
Joshua Hoblitt c994b4b6ac core: rm vestigial ceph reef version parsing
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-02-02 10:41:37 -07:00
Joshua Hoblitt 3a15255583 nfs: add CephNFS.spec.server.{image,imagePullPolicy} fields
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-01-29 13:18:05 -07:00
Jan Breitkopf 1ff6f70311 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>
2026-01-27 11:20:41 +01:00
Blaine Gardner 5e3f7f8bc0 rgw: update ca bundle mount perms to read-all
Update the CA bundle volume mount permissions to read-all (o444). RGW
runs as 'ceph', but the volume mount defaults to 'root'. o444 ensures
the RGW can read the bundle.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2026-01-26 09:23:15 -07: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
Travis Nielsen d315d0ce46 mon: change do not reconcile to be more granular
The do-not-reconcile label on the mon deployments was
causing the mon reconcile to be skipped for all mons,
even if the label was only on a single mon. Now, the
skipping of reconcile will only be scoped to a single
mon.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-01-20 14:47:19 -07:00
Travis Nielsen 219710f25d Merge pull request #16689 from OdedViner/nmveof_new2
nvmeof: add nvme-of gateway crd support
2026-01-20 08:38:29 -07:00
Oded Viner 88a9bf5c7f nvmeof: add nvme-of gateway crd support
adds CephNVMeOFGateway crd for managing ceph nvme-of gateways.
supports configurable instances, placement, resources,
and networking options.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-01-20 13:19:18 +02:00