Commit Graph
3904 Commits
Author SHA1 Message Date
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
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
Travis Nielsen 561438d241 Merge pull request #15550 from Nordix/fix-update-ca-trust-for-most-os/sunnat
object: Simplify passing SSL certificate to RGW pod via CURL_CA_BUNDLE var
2026-01-16 07:44:38 -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
Sunnatillo a97233102d object: use ceph version aware CA bundle handling for RGW
Add ceph version check to determine CA bundle configuration method.
Ceph Tentacle+ supports CURL_CA_BUNDLE environment variable, while older
versions require system CA trust update via init container.

Signed-off-by: Sunnatillo <sunnat.samadov@est.tech>
2026-01-15 22:20:05 +02:00
Sunnatillo 0189e2fd9a object: simplify passing SSL certificate to RGW pod via CURL_CA_BUNDLE var
This mounts custom CA bundle directly to the RGW container at
/etc/ceph/rgw-ca-bundle/ and CURL_CA_BUNDLE points to the certificate
file. Ceph changes regarding CURL_CA_BUNDLE variable is in this PR:
https://github.com/ceph/ceph/pull/44283

This change simplifies the CA bundle handling by:
- Removing the update-ca-trust init container and related volumes
- Mounting the CA bundle secret directly to the RGW pod

Signed-off-by: Sunnatillo <sunnat.samadov@est.tech>
2026-01-15 17:16:29 +02:00
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
Praveen M e30d1f7649 csi: update ceph-csi image to 3.16.0
Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-01-14 14:39:44 +05:30
Travis Nielsen 76e9c04b36 csi: disable read affinity for ceph v20.2.0
Read affinity in Ceph v20.2.0 can cause corruption.
Disable this feature for this version of Ceph to
avoid hitting any corruption in this case. When the next
patch release is out for tentacle, this issue will be
resolved and when upgrading to it, read affinity would
automatically be re-enabled if needed.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-01-12 13:46:43 -07:00
Parth Arora 06ee0db7a2 Merge pull request #16882 from parth-gr/fix-external-admin
external: if admin creds is provided stop creating csi secret
2026-01-12 19:53:06 +05:30
parth-gr 3b07adcd1f external: if admin creds is provided dont stop creating csi secret
if admin secret is created stop creating csi secret from
the rook operator

the csi creds and secret will still be created by the python and
the import script

Signed-off-by: parth-gr <partharora1010@gmail.com>
2026-01-12 19:43:26 +05:30
Travis Nielsen 59e8c41319 Merge pull request #16874 from OdedViner/allow_skipping_reconcile
core: allow skipping cephcluster reconcile via do-not-reconcile label
2026-01-09 12:06:24 -07:00
Oded Viner 5be726b386 core: allow skipping cephcluster reconcile via do-not-reconcile label
add support for ceph.rook.io/do-not-reconcile on cephcluster crs
skip reconcile early and emit a normal reconcile-skipped event
avoid reloadmanager on updates for labeled cephclusters
add unit test for skip behavior

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-01-09 16:29:10 +02:00
Travis Nielsen dfa1a35ddf osd: always mount udev during cleanup
The udev is required for cleanup in both host-based clusters
and pvc-based clusters since the tentacle release.
The cleanup jobs were failing in pvc-based clusters
with tentacle where we skipped adding the udev mount.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-01-08 13:33:07 -07:00
dependabot[bot] 3c51e808f2 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>
2026-01-07 07:59:21 -07:00
Jongwoo Han d59b4dcb84 core: replace custom contains() with slices.Contains()
Signed-off-by: Jongwoo Han <jongwooo.han@gmail.com>
2025-12-24 13:28:05 +09:00
Travis Nielsen b5b488bbba Merge pull request #16837 from subhamkrai/support-multiple-fs-kernalmount
csi: add fix to support multiple fs mount option
2025-12-17 07:51:18 -07:00
subhamkrai acf9ad8995 csi: add fix to support multiple fs mount option
previously, if multiple mount option was passed it was
handing it wrong. For example,
```
ms_mode=prefer-secure,recover_session=clean
```
 was treated as
```
ms_mode: prefer-secure,recover_sessio
```

With current fix it handles it correctly. Example,
```
ms_mode: prefer-secure,
recover_session=clean,
```

Signed-off-by: subhamkrai <srai@redhat.com>
2025-12-17 12:32:18 +05:30
Travis Nielsen ac73b87256 Merge pull request #16786 from cyanidium/feat/reconcile-secret-config
operator: watch cephConfigFromSecret changes
2025-12-09 09:55:12 -07:00
Parth Arora c1247b19d7 Merge pull request #16792 from parth-gr/fix-mgr-external
external: fix endpoint slice type for ipv6 clusters
2025-12-08 16:29:06 +05:30
parth-gr 0a3d9b8517 external: fix endpoint slice type for ipv6 clusters
in endpoint slice for the mgr and rgw service
it was harcoded to use the ipv4,
now dynamically assign the type based on the endpoint
ip adrress type

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-12-08 15:52:50 +05:30
Travis Nielsen 023608e6fd core: enhance logging with namespaced names
For all of the controllers besides the cluster controller,
the logging now includes the namespaced name of the resource
that is being reconciled. This will help with log troubleshooting
to help analyze logs consistently for the resource being
reconciled.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-12-04 12:00:42 -07:00
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
Martin Rowe 816c67847d operator: watch cephConfigFromSecret changes
Add a resource watch to reconcile clusters when any referenced Secrets
in cephConfigFromSecret are updated. This matches the behaviour of
reconciling clusters when cephConfig changes. Without this change, if a
Secret that is referenced by cephConfigFromSecret is updated, then the
cluster is not immediately updated, so the cluster state will not match
the configuration until something else triggers a reconcile.

Resolves #16371

Signed-off-by: Martin Rowe <martin.p.rowe@gmail.com>
2025-12-04 10:49:05 +10:00
Travis Nielsen f08c5cea27 Merge pull request #16750 from subhamkrai/ceph-tentacle
core: make Ceph Tentacle default version in test clusters
2025-12-01 10:51:16 -07:00
subhamkrai ae41dafb0b core: rename ceph urchin to umbrella
Renaming urchin to umbrella as ceph name for
v21 has been changed from urchin to umbrella.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-12-01 13:41:50 +05:30
Travis Nielsen ac1fa3a4c3 core: shorten the logger names
The logger names are seen on each line of logging. As
long as they are unique, they really don't need to be
long and descriptive, so let's make them a bit more
concise, and independent from controller names.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-11-21 13:12:56 -07:00