Commit Graph
5011 Commits
Author SHA1 Message Date
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
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
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
dependabot[bot] 6642d761ae build(deps): bump github.com/csi-addons/kubernetes-csi-addons
Bumps the github-dependencies group with 1 update: [github.com/csi-addons/kubernetes-csi-addons](https://github.com/csi-addons/kubernetes-csi-addons).

Updates `github.com/csi-addons/kubernetes-csi-addons` from 0.13.0 to 0.14.0
- [Release notes](https://github.com/csi-addons/kubernetes-csi-addons/releases)
- [Commits](https://github.com/csi-addons/kubernetes-csi-addons/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: github.com/csi-addons/kubernetes-csi-addons
  dependency-version: 0.14.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-01-19 22:56:28 +05:30
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
Blaine Gardner 3890ef5503 Merge pull request #16804 from cobaltcore-dev/fix-s3-notification-crd
rgw: support all S3 notification events in CRD validation
2025-12-08 10:51:03 -05: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
Artem Torubarov 7ee062bc06 rgw: support all S3 notification events in CRD validation
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2025-12-08 11:08:24 +01:00
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
Travis Nielsen 8c44980040 Merge pull request #16751 from subhamkrai/add-go-1.25
build: Update CI to Go 1.25 using go-version-file
2025-12-01 08:55:06 -07:00
subhamkrai 73d2541b3d build: update codegen code generator to 0.34.2
this commit update the codegen to latest version
v0.34.2 to support golang 1.25

Signed-off-by: subhamkrai <srai@redhat.com>
2025-12-01 17:02:59 +05:30
subhamkrai de4f96769a build: update CI to Go 1.25
Update go.mod to 1.25 while having both 1.24 and 1.25
version in build.yaml for supporting 1.24 longer.

Also, updating golangci-lint version 2.6.2.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-12-01 17:01:47 +05:30
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
Travis Nielsen c50a3eebbe Merge pull request #16723 from travisn/namespace-logging
core: Include namespace more consistently in cluster logging
2025-11-21 10:48:46 -07:00
Travis Nielsen 93adc5dd6b core: include namespace more consistently in logging
When writing to the operator log, where possible
the namespace of the resource on which the operator
is working will be logged as a standard prefix
to more easily troubleshoot what resource is being reconciled

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-11-20 15:49:43 -07:00
dependabot[bot] 0775356522 build(deps): bump golang.org/x/crypto from 0.42.0 to 0.45.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.42.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.42.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-20 15:23:44 -07:00
Travis Nielsen 8782e9183d Merge pull request #16719 from travisn/concurrent-reconcile
cluster: Support concurrent reconcile when there are multiple cephcluster CRs
2025-11-19 11:34:00 -07:00
Travis Nielsen a1c87c6188 mds: remove mds standby if disabled
The activeStandby property was being ignored when deciding
how many mds daemons to start. 2x the active count of mds
daemons were always being created. If the standby is not
desired, the standby can be removed, and it was unexpected
that it was not removed.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-11-19 10:55:12 -07:00
subham rai e3341a4649 Merge pull request #16735 from swills/fix-container-resources
un-reverse ControllerPlugin/NodePlugin resource settings
2025-11-18 15:20:39 +05:30
Steve Wills 604226770e csi: un-reverse resources
Correct the names used for controller plugin and node plugin resource
setting

Signed-off-by: Steve Wills <steve@mouf.net>
2025-11-17 17:27:11 -05:00
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
Travis Nielsen b1ce9f226e operator: allow setting concurrent cluster reconciles
The cephcluster controller allows setting concurrent reconciles
with a setting in the operator configmap.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-11-17 11:46:33 -07:00
Travis Nielsen f252bf68af Merge pull request #16713 from sp98/allow-snaptrim-wait-pg-for-PDBs
osd: support snaptrimp and snaptrip_wait pgs
2025-11-17 10:10:20 -07:00
dependabot[bot] bc3ec2547b 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.1` | `0.34.2` |
| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.34.1` | `0.34.2` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.34.1` | `0.34.2` |
| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.34.1` | `0.34.2` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.1` | `0.34.2` |
| [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) | `0.34.1` | `0.34.2` |

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

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

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

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

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

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

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-version: 0.34.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-version: 0.34.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-version: 0.34.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cli-runtime
  dependency-version: 0.34.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/client-go
  dependency-version: 0.34.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cloud-provider
  dependency-version: 0.34.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>
2025-11-17 21:25:26 +05:30
Santosh Pillai c0eb34815f osd: support snaptrimp and snaptrip_wait pgs
If the ceph status is "active+lean+snaptrimp" or
"ative+clean+snatrip_wait" , the the PDB controller should treat this
ceph staus as healthy and don't block the node drain

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-11-14 11:07:06 +05:30
Travis Nielsen 9a79a48f9e Merge pull request #16661 from subhamkrai/fix-rns-race-condition
namespace: add retryOnConflict when updating status
2025-11-13 10:38:17 -07:00
Travis Nielsen c7dc2439f8 Merge pull request #16505 from elias-dbx/cleanup_preprovision_jobs
osd: cleanup orphaned osd provision jobs
2025-11-13 09:44:59 -07:00