Commit Graph
4949 Commits
Author SHA1 Message Date
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
Travis Nielsen d34eeee786 Merge pull request #16669 from YiteGu/use-sync-map-for-monitoringRoutines
core: use sync.Map for cluster.monitoringRoutines
2025-11-06 11:18:35 -07:00
Travis Nielsen a5180adb92 Merge pull request #16617 from Nordix/Sunnatillo/add-networkHost-field-cephMgr
mgr: add hostNetwork field to Manager spec
2025-11-06 09:28:19 -07:00
Yite Gu bf6c295d02 core: use sync.Map for cluster.monitoringRoutines
`cluster.monitoringRoutines` stores three types of
daemon health: "mon", "osd", and "status". These are
used by three goroutines respectively, resulting in:
fatal error: concurrent map reads and map writes.

Signed-off-by: Yite Gu <guyite@bytedance.com>
2025-11-06 19:36:40 +08:00
Sunnatillo b9a4685f65 mgr: add hostNetwork field to Manager spec
Add optinal hostnetwork field for Ceph Mgr to control whether the
mgr pods to run in host network. If unset, this defaults to
cluster level Network.HostNetwork value. This particulary useful
when user wants to restrict ceph mgr pod from exposing metrics
port in all host interfaces.

Signed-off-by: Sunnatillo <sunnat.samadov@est.tech>
2025-11-05 21:52:49 +02:00
Joshua Hoblitt 43f26534ed osd: add CephCluster.spec.storage.OSDMaxUpdatesInParallel
Configures the maximum number of OSDs to update in parallel.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-11-03 12:10:28 -07:00
Blaine Gardner c08a7742b0 Merge pull request #14821 from sp98/rgw-hpa
rgw: add scale subresource to CephObjectStore CR
2025-10-27 09:54:11 -06:00
Travis Nielsen e8e013d88b Merge pull request #16619 from sp98/mon-canary-deletion
mon: wait for the canary pods to be terminated
2025-10-23 10:38:19 -06:00
Travis Nielsen 66ca290f98 Merge pull request #16614 from travisn/osd-resources-device-class
osd: Set osd resources for specific device class
2025-10-23 09:55:09 -06:00
Santosh Pillai 3137a857df mon: wait for the canary pods to be terminated
Wait for the mon-canary pods to be terminated before starting the actual
mons. When topology spread constraints are added to evenly spread the
mons, then pod-anti affinity does not allow mons to be created on the
same node where other mons are running, this also includes the
mon-canary pods. We delete the mon-canary pods and then start the actual
mon pods. Sometimes the termination of the canary pods might take more
time, so schedular won't schedular mon pods on that node.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-10-23 21:11:13 +05:30
Travis Nielsen 48b70500fa mon: trap the sigterm in the mon canary
The mon canary should quickly shut down after the pod is
deleted, since it has no purpose to continue running.
Since the sleep does not catch the SIGTERM as pid 1,
use a bash trap to exit quickly.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-10-22 15:37:13 -06:00
Travis NielsenandMatthias Osthues d3c0bacd88 osd: set osd resources for specific device class
The OSDs may require different resources based on their device
class. The overall osd resources were only being used, rather
than properly looking up the specific device class resources.
Now the expected resources will take affect per device class.

Co-authored-by: Matthias Osthues <osthues.matthias@gmail.com>
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-10-22 10:21:40 -06:00
Parth Arora 21536e496e Merge pull request #16610 from parth-gr/fix-v2-v1-mix
external: update rook ceph mon endpoint cm to use v2
2025-10-22 15:39:45 +05:30
parth-gr 3ba911e79e external: update rook ceph mon endpoint cm to use v2
if v2 is enabled update the rook ceph mon endpoint cm
with v2 ports

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-10-21 18:31:55 +05:30
subham rai 3b8155bc88 Merge pull request #16618 from subhamkrai/add-missing-endpointslice-label
mgr: add required k8s label for endpointSlice
2025-10-17 21:45:18 +05:30
subhamkrai 7004213f92 mgr: add required k8s label for endpointSlice
k8s requires the endpointSlice must have label
`kubernetes.io/service-name` to be associated with
service. Without this label, the k8s service controller
can't link the EndpointSlice to the service.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-10-17 15:50:55 +05:30
Travis Nielsen 8cf183ac51 Merge pull request #16609 from travisn/empty-target-size-ratio
pool: Skip setting the target size ratio to 0 by default
2025-10-16 11:00:22 -06:00
Travis Nielsen 938380734d pool: skip setting the target size ratio to 0 by default
The target size ratio is currently always being set to 0, when
neither the legacy targetSizeRatio nor the parameter for
target_size_ratio are set. In this case, we should not set it to 0,
but rather should skip the command to set the target size ratio.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-10-15 11:58:36 -06:00
Parth Arora 9277c4f13b Merge pull request #16594 from parth-gr/fix-osd-create-upgrade-loops
osd: add a timeout for osd create and update process
2025-10-15 14:52:20 +05:30
Blaine Gardner 038638e5bc Merge pull request #16603 from BlaineEXE/osd-make-key-pull-best-effort
osd: allow OSD init keyring update to be best-effort
2025-10-14 13:00:24 -06:00
Travis Nielsen 96dda041ee Merge pull request #16595 from parth-gr/fix-status-check
core: fix ceph health check up status check
2025-10-14 10:37:46 -06:00
Blaine Gardner d9d31fe527 osd: allow OSD init keyring update to be best-effort
When OSDs start, init containers attempt to get the latest CephX key for
the OSD to allow OSDs to potentially continue working after key rotation.

However, in Ceph corner cases, mons could be unavailable while OSDs
could still be viable with existing on-disk keys. Since key rotation is
a rare event, it's likely that the on-disk keys are still good.

The worst case scenario is that key updates were needed but didn't
succeed in init containers. In this case, instead of the init container
failing, the OSD startup will fail instead. Thus, this should introduce
no extra risk but merely shift the failure to a different container.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2025-10-14 10:19:21 -06:00
parth-gr 3f5ebe2f4f external: add cluster connected condition in case of external mode
external mode was dependednt on the ceph status to
update the cluster connected condition,
BUt as now the status check will only update the ceph status,
so we will explicitly update the ceph status condition in the
end of the reconcile

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-10-14 18:08:22 +05:30
dependabot[bot] 8dd4890445 build(deps): bump the github-dependencies group with 3 updates
Bumps the github-dependencies group with 3 updates: [github.com/gemalto/kmip-go](https://github.com/gemalto/kmip-go), [github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring](https://github.com/prometheus-operator/prometheus-operator) and [github.com/prometheus-operator/prometheus-operator/pkg/client](https://github.com/prometheus-operator/prometheus-operator).

Updates `github.com/gemalto/kmip-go` from 0.0.10 to 0.1.0
- [Release notes](https://github.com/gemalto/kmip-go/releases)
- [Commits](https://github.com/gemalto/kmip-go/compare/v0.0.10...v0.1.0)

Updates `github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring` from 0.85.0 to 0.86.0
- [Release notes](https://github.com/prometheus-operator/prometheus-operator/releases)
- [Changelog](https://github.com/prometheus-operator/prometheus-operator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus-operator/prometheus-operator/compare/v0.85.0...v0.86.0)

Updates `github.com/prometheus-operator/prometheus-operator/pkg/client` from 0.85.0 to 0.86.0
- [Release notes](https://github.com/prometheus-operator/prometheus-operator/releases)
- [Changelog](https://github.com/prometheus-operator/prometheus-operator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus-operator/prometheus-operator/compare/v0.85.0...v0.86.0)

---
updated-dependencies:
- dependency-name: github.com/gemalto/kmip-go
  dependency-version: 0.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring
  dependency-version: 0.86.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github.com/prometheus-operator/prometheus-operator/pkg/client
  dependency-version: 0.86.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>
2025-10-14 15:52:32 +05:30
parth-gr 454c221c53 core: fix cep health check up status check
currently the health checkup was reporting the
condition and reason to be always connected,
But which might not be the case,
So instead of that dont report the condition and
its phase during the health checkups

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-10-13 20:22:07 +05:30
parth-gr 4377823675 osd: add a timeout for osd create and update process
if there a bit long to update osds in parallel,
we need to timeout and abort the synchronous loop
and start the cluster reconcile again from the beginning

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-10-13 20:08:14 +05:30
subham rai 6fabf7f4d5 Merge pull request #16574 from rook/dependabot/go_modules/github-dependencies-6b83bdc7a0
build(deps): bump the github-dependencies group with 3 updates
2025-10-09 14:32:02 +05:30
dependabot[bot] 3401b91e64 build(deps): bump the github-dependencies group with 3 updates
Bumps the github-dependencies group with 3 updates: [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2), [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) and [github.com/hashicorp/vault/api](https://github.com/hashicorp/vault).

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.31.11 to 1.31.12
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.31.11...config/v1.31.12)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.18.15 to 1.18.16
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.15...config/v1.18.16)

Updates `github.com/hashicorp/vault/api` from 1.21.0 to 1.22.0
- [Release notes](https://github.com/hashicorp/vault/releases)
- [Changelog](https://github.com/hashicorp/vault/blob/main/CHANGELOG-v1.10-v1.15.md)
- [Commits](https://github.com/hashicorp/vault/compare/api/v1.21.0...api/v1.22.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-version: 1.31.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-version: 1.18.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/hashicorp/vault/api
  dependency-version: 1.22.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>
2025-10-09 12:49:12 +05:30
Parth Arora 71716647e0 Merge pull request #16540 from parth-gr/fix-v2-mon-external
mon: update the clusterinfo with v2 port
2025-10-08 23:49:18 +05:30
Travis Nielsen efd6213178 Merge pull request #16556 from timbuchwaldt/master
operator: Allow overriding MDS cache memory limit.
2025-10-08 09:56:53 -06:00
parth-gr 76a7132c56 mon: update the clusterinfo with v2 port
currently we are updating the mon endpoints
and using it with rook-ceph-csi cm,
But we need latest ports in the cluster info,
during the creation of the ceph connection cr
when csi operator is enabled,
so ceph connection cr can use the latest mons ports

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-10-08 19:47:24 +05:30
Tim Buchwaldt 8db5274703 operator: allow overriding MDS cache memory limit
This change introduces support for setting the ceph cache memory limit
ratios that were previously hardcoded.
Codegen was drivey-by updated as the current version errored.

Resolves #16551

Signed-off-by: Tim Buchwaldt <tim.buchwaldt@deepl.com>
2025-10-07 09:15:56 +02:00
Travis Nielsen 822513d85d Merge pull request #16573 from OdedViner/test_node_lables
osd: add detailed debug logs to checktopologyconflicts
2025-10-06 11:33:37 -06:00
Oded Viner 11d7eacdcb osd: add detailed debug logs to checktopologyconflicts
added comprehensive debug logs throughout CheckTopologyConflicts

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-10-05 22:10:19 +03:00
Travis Nielsen 7a515eb24a csi: convert csi operator volume settings
The csi volumes and volume mount settings are now
converted to the csi operator driver CR, for example
to allow nix os mounts to be applied to the csi
node plugins.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-10-01 10:37:22 -06:00
Travis Nielsen c069e73c91 Merge pull request #16520 from parth-gr/fix-rn-status
rbdmirror: fix mirroring monitoring settings for rn
2025-09-26 14:48:01 -05:00
Blaine Gardner 85dc50f66a Merge pull request #16542 from jhoblitt/feature/cephor-printcolumn-phase
core: add PHASE column to cephor
2025-09-26 12:21:25 -06:00
Blaine Gardner 2397e2b90d Merge pull request #16543 from jhoblitt/feature/cephnfs-printcolumn-phase
core: add PHASE column to cephnfs
2025-09-26 12:20:46 -06:00
Joshua Hoblitt 5ee982f1e1 core: add PHASE column to cephnfs
The current behavior does not print the PHASE column, as most other
CRDs do. E.g.:

```
 ~ $ k get cephnfs nfs1
NAME   AGE
nfs1   45d
```

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-09-26 09:39:32 -07:00
Joshua Hoblitt 8866d47d92 core: add PHASE column to cephbn
The current behavior does not print the PHASE column, as most other
CRDs do. E.g.:

```
~ $ k get cephbn chorus
NAME     AGE
chorus   10d
```

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-09-26 09:28:49 -07:00
Joshua Hoblitt 6d9c884259 core: add PHASE column to cephor
The current behavior does not print the PHASE column, as most other
CRDs do. E.g.:

```
 ~ $ k get cephor lfa
NAME   AGE
lfa    45d
```

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-09-26 09:27:15 -07:00
parth-gr 49c26dbfb0 rbdmirror: fix mirroring monitoring settings for rn
currently if we disable the monitoring for rn,
it doesnt reset the status

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-09-25 19:26:52 +05:30
Travis Nielsen 66ca9716b8 Merge pull request #16532 from Madhu-1/fix-16480
namespace: blocklist ip:nonce in cleanup job
2025-09-24 11:57:28 -05:00
Madhu Rajanna 5ae49cf7a0 namespace: blocklist ip:nonce in cleanup job
blocklisting IP can cause problems when the cleanup
job pod runs on the same host or gets the same ip
as that of the rbd client ip that is present in
the rbd status/watchers. instead of blocklisting
the whole ip of the node or the client blocklist
only the unique ip:nonce to allow the node to not
have any effect because of the cleanup job.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-09-24 12:47:48 +02:00
Travis Nielsen cbbe9b07b0 Merge pull request #16488 from sp98/fix-forceful-encrypted-osd-creation
osd: clean encrypted disks from other clusters
2025-09-23 15:02:39 -05:00
subham rai a08f3fb1d2 Merge pull request #16517 from rook/dependabot/go_modules/k8s-dependencies-ec6d767e1a
build(deps): bump the k8s-dependencies group with 6 updates
2025-09-23 15:39:45 +05:30
dependabot[bot] 4bfb5c2a74 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.0` | `0.34.1` |
| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.34.0` | `0.34.1` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.34.0` | `0.34.1` |
| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.34.0` | `0.34.1` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.0` | `0.34.1` |
| [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) | `0.34.0` | `0.34.1` |

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

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

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

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

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

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

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-version: 0.34.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-version: 0.34.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-version: 0.34.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cli-runtime
  dependency-version: 0.34.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/client-go
  dependency-version: 0.34.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cloud-provider
  dependency-version: 0.34.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>
2025-09-23 14:58:59 +05:30
Santosh Pillai ec271bdde3 osd: clean encrypted disks from other clusters
Clean encrypted disks from other clusters by checking the cephFSID in
the luks header.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-09-23 11:29:09 +05:30
subham rai 96d631168c Merge pull request #16516 from Madhu-1/csi-op-bugs
csi: Remove liveness probe setting from the csi-op
2025-09-23 10:48:02 +05:30
Blaine Gardner cad2be9f0e Merge pull request #16499 from jhoblitt/feature/cephbn-phase
object: add status.{phase,observedGeneration} to cephbn
2025-09-22 16:26:53 -06:00