Commit Graph
13557 Commits
Author SHA1 Message Date
Travis Nielsen 82e9c4de51 core: update all docs and examples to v20.2.1
With the default version now being v20.2.1, also update
all of the examples, documentation, and default CI to run
with that version

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 62a9debceb)
2026-04-28 22:24:53 +00:00
Travis Nielsen 03b9b8b1b0 Merge pull request #17427 from rook/mergify/bp/release-1.20/pr-17282
pool: clean up unused crush rules (backport #17282)
2026-04-27 13:32:01 -06:00
Travis Nielsen e23819428e Merge pull request #17435 from rook/mergify/bp/release-1.20/pr-17342
object: migrate s3agent object methods to aws sdk v2 (backport #17342)
2026-04-27 10:27:59 -06:00
mergify[bot] 00ecf80de1 Merge pull request #17437 from rook/mergify/bp/release-1.20/pr-17432
security: grant scc to rook-ceph-nvmeof service account (backport #17432)
2026-04-27 16:23:11 +00:00
Oded Viner 1332e79115 security: grant scc to rook-ceph-nvmeof service account
the rook-ceph-nvmeof service account is not listed in the
securitycontextconstraints users, causing cephnvmeofgateway
pods to fail on openshift. add the service account to the
scc in the helm charts, go scc builder, and test namespace
substitution.

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit 7f3e2ace27)
2026-04-27 15:50:44 +00:00
Oded Viner 9341b3dcfa object: migrate s3agent object methods to aws sdk v2
migrate PutObjectInBucket, GetObjectInBucket, and
DeleteObjectInBucket to use aws sdk v2 client.
replace v1 awserr error handling in DeleteObjectInBucket
with v2 typed errors (errors.As).
remove unused v1 awserr import.

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit 2cb714dabd)
2026-04-27 15:48:57 +00:00
Asish Kumar 0b3605dd84 pool: clean up unused crush rules
Clean up stale CRUSH rules after the Ceph mgr starts so rules left behind by pool failure-domain or device-class changes do not accumulate indefinitely.

The cleanup is guarded by a package-level RWMutex. Pool create and update paths hold the read lock while creating and assigning CRUSH rules, while cluster-wide cleanup holds the write lock before listing pools and deleting unused rules. This keeps pool reconciles parallel with each other while preventing cleanup from deleting a rule that another reconcile has just created but not yet attached to a pool.

Keep direct pool-delete cleanup for the pool's current CRUSH rule, make the cluster-wide cleanup best-effort across all unused rules, and add an operator-level ROOK_DELETE_UNUSED_CRUSH_RULES setting for clusters that need to leave unused custom rules in place.

Document the operator and Helm settings, regenerate the Helm chart docs, and add a pending release note for the default cleanup behavior.

Signed-off-by: Asish Kumar <officialasishkumar@gmail.com>
(cherry picked from commit 24a35e4e74)
2026-04-24 22:32:15 +00:00
mergify[bot] cf34dce04f Merge pull request #17425 from rook/mergify/bp/release-1.20/pr-17420
core:remove newlines from liveness probe scripts (backport #17420)
2026-04-24 14:13:07 +00:00
Santosh cbe544ec21 core: remove newlines from liveness probe scripts
Strip unnecessary leading and trailing newlines from osdLivenessProbeScript and livenessProbeScript raw string literals in spec.go

Signed-off-by: Santosh <sapillai@redhat.com>
(cherry picked from commit 925acb3e92)
2026-04-24 13:44:46 +00:00
subham rai e28407401d Merge pull request #17419 from rook/mergify/bp/release-1.20/pr-17411
osd: fix KMS log error format specifier (backport #17411)
2026-04-24 18:12:52 +05:30
Prabhala Tara Aasrita f1be5f1a1c osd: fix KMS log error format specifier
During OSD provisioning, the KMS error log incorrectly uses logger.Error() instead of logger.Errorf(), causing the format specifier %q to appear in the logs. Changed logger.Error to logger.Errorf to fix the same.

Signed-off-by: Prabhala Tara Aasrita <taraasrita@ibm.com>
(cherry picked from commit 85ee8631cf)
2026-04-24 08:39:55 +00:00
Travis Nielsen 9e4d249fcf Merge pull request #17418 from rook/mergify/bp/release-1.20/pr-17417
docs: update upgrade docs for v1.20 (backport #17417)
2026-04-23 17:04:45 -06:00
Travis Nielsen 9d0586d277 Merge pull request #17408 from rook/mergify/bp/release-1.20/pr-17382
mon: fix floating mon validation in TNF deployments (backport #17382)
2026-04-23 16:01:34 -06:00
Travis Nielsen d007d46c7c Merge pull request #17416 from rook/mergify/bp/release-1.20/pr-17288
mon: relax balanced CRUSH weight check for stretch mode (backport #17288)
2026-04-23 16:01:10 -06:00
Blaine Gardner d1e7dac4a7 docs: update upgrade docs for v1.20
Update upgrade docs to reflect v1.20 changes.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit cb60ec5ae2)
2026-04-23 15:59:38 -06:00
Lumir Sliva 396ef531e1 mon: relax balanced CRUSH weight check for stretch mode
Ceph relaxed the stretch mode CRUSH weight check in ceph/ceph#66580 to
allow weights within 10 percent of each other. This change is available
in Ceph Umbrella and was backported to tentacle v20.2.2 via ceph/ceph
number 67790. The squid backport is still pending.

Signed-off-by: Lumir Sliva <61183145+lumir-sliva@users.noreply.github.com>
(cherry picked from commit 27f95f2feb)
2026-04-23 18:05:50 +00:00
mergify[bot] 75b9e9a19a Merge pull request #17404 from rook/mergify/bp/release-1.20/pr-17403
ci: remove K8s 1.30 and use latest patch versions (backport #17403)
2026-04-22 17:11:16 +00:00
Prabhala Tara Aasrita 7db4af9796 ci: remove K8s 1.30 and use latest patch versions
Remove Kubernetes 1.30 from k8s workflows and update supported
versions to their latest patches (1.31.14, 1.32.13, 1.33.11, 1.35.4)

Closes #17399

Signed-off-by: Prabhala Tara Aasrita <taraasrita@ibm.com>
(cherry picked from commit b7ea6f488f)
2026-04-22 10:40:38 -06:00
Prabhala Tara Aasrita 5af4ecc44f mon: fix floating mon validation in TNF deployments
The floating mon in a TNF cluster is designed to share a node with a pinned mon. Fixed the pre-cluster start evaluation logic to allow the same when allowMultiplePerNode is set to false.

Signed-off-by: Prabhala Tara Aasrita <taraasrita@ibm.com>
(cherry picked from commit 8e205b194c)
2026-04-22 15:37:03 +00:00
mergify[bot] ef3871fb76 Merge pull request #17397 from rook/mergify/bp/release-1.20/pr-17228
osd: fix CRUSH device class not applied during OSD re-discovery (backport #17228)
2026-04-21 13:08:27 +00:00
David Orman 31722a2041 osd: fix CRUSH device class not applied during OSD re-discovery
When an OSD is purged and reprovisioned, it comes back without the
correct CRUSH device class. NVMe devices configured with
deviceClass: nvme in the CR end up as ssd.

Root cause: the operator sets ROOK_OSD_CRUSH_DEVICE_CLASS on prepare
jobs but not on OSD deployments. During re-discovery
(GetCephVolumeRawOSDs), the daemon reads this env var, finds it
absent, and falls back to auto-detected deviceType which returns ssd
for NVMe.

Fix: add crushDeviceClassEnvVar(osd.DeviceClass) to the OSD
deployment spec in spec.go, alongside the existing
dataDeviceClassEnvVar. Existing deployments pick up the new env var
on operator reconciliation without manual intervention.

Fixes #17227
Signed-off-by: David Orman <ormandj@corenode.com>
(cherry picked from commit 1357d71177)
2026-04-21 12:21:15 +00:00
subham rai 8656c96d08 Merge pull request #17393 from rook/mergify/bp/release-1.20/pr-17373
mds: fix incorrect behaviour for CephFS when no active standby (backport #17373)
2026-04-21 09:25:08 +05:30
subham rai 6c95740730 Merge pull request #17391 from rook/mergify/bp/release-1.20/pr-17376
doc: fix out of date references to default PgHealthyRegex (backport #17376)
2026-04-21 09:24:01 +05:30
Denis Egorenko f06748de33 mds: fix incorrect behaviour for CephFS health state when no active standby
Set expected standby mds daemons, when changing activeStandby mds parameter.

Resolves #17372

Signed-Off-By: Denis Egorenko <degorenko@mirantis.com>
(cherry picked from commit b3ffac9e0d)
2026-04-20 20:16:24 +00:00
Elias Carter 6e978043d7 doc: fix out of date references to default PgHealthyRegex
Signed-off-by: Elias Carter <elias@dropbox.com>
(cherry picked from commit 5a065948e2)
2026-04-20 17:53:03 +00:00
Travis Nielsen 535729bc92 Merge pull request #17371 from rook/mergify/bp/release-1.20/pr-17344
mon: mute MON_NETSPLIT health warning in stretch clusters (backport #17344)
2026-04-17 15:19:44 -06:00
mergify[bot] 2edc0f74f7 Merge pull request #17377 from rook/mergify/bp/release-1.20/pr-17359
mon: Prevent mon drains more reliably when mons are down (backport #17359)
2026-04-17 19:38:45 +00:00
Travis Nielsen ddb2590a5f mon: prevent mon drains more reliably when mons are down
The mon PDB was previously only being adjusted
during mon failover, where the maxunavailable was set to 0
before failover, then reset to 1 after failover. This allowed
for a race condition where one mon had been drained and is
not fully back in quorum before the next mon is allowed to drain.
This is now prevented by disallowing drains until a mon
is fully back in quorum. Anytime a mon falls out of quorum,
the mon pdb will be adjusted to prevent further drains
from causing a mon quorum outage.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 80b50969b2)
2026-04-17 18:19:55 +00:00
Prabhala Tara Aasrita 952d86e27b mon: mute MON_NETSPLIT health warning in stretch clusters
Ceph incorrectly raises the MON_NETSPLIT health warning in stretch cluster configurations. Added a call to MuteHealthWarning() in postMonStartupActions() which runs `ceph health mute MON_NETSPLIT --sticky` to suppress the warning during reconcile. All errors are logged as warnings and the reconcile proceeds.

Signed-off-by: Prabhala Tara Aasrita <taraasrita@ibm.com>
(cherry picked from commit eccc8128af)
2026-04-17 16:25:30 +00:00
Travis Nielsen ecfc847570 Merge pull request #17370 from obnoxxx/prep-v1.20.0-beta.0
build: set the release version to v1.20.0-beta.0
v1.20.0-beta.0
2026-04-17 10:21:55 -06:00
Michael Adam 407d152879 build: set the release version to v1.20.0-beta.0
For the new 1.20 branch, update the examples and docs
to the v1.20.0-beta.0 tag.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-04-17 17:21:34 +02:00
Travis Nielsen d3dd9f77dc Merge pull request #17352 from taraasrita10/setenv_rook_unreachablenode
helm: set ROOK_UNREACHABLE_NODE_TOLERATION_SECONDS from chart values
v1.20.0-alpha.0
2026-04-17 08:22:32 -06:00
Travis Nielsen 49e9782884 Merge pull request #17356 from obnoxxx/build-reduce-build-runtime
Build: reduce build runtime
2026-04-17 07:23:13 -06:00
Michael Adam 5c755b8c20 build: reduce build time
Commit 8a80743bf has led to a significant increase runtime for
make build. More precisely, the runtime of
make build.common was increased.

The reason for this was that the prerequisite build.common target
implicitly ran crd docs generation where it shouldn't and originally
didn't.

This additional opertion caused the extra time consumption.

This change re-establishes old behavior and build time
by ensuring that crd docs generationhappens only when desired.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-04-17 12:17:09 +02:00
Michael AdamandCopilot c970221299 build: fix malformed definition of newline
The definition of a newline withe name '\n' was invalid and broke
introduced commands-before-first-target syntax errors in the
Makefile.

This change fixes the poblem by changing the name to the valid name
NEWLINE.

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-17 12:17:09 +02:00
Michael Adam e65d81a73a build: combine LC_ALL variable and export statement
The separate definition and export of LC_ALL caused
commands-before-first-target errors with some changes to the
Makefile

This change combines the definition and export to a single line
which makes those other changes possible without breaking syntax.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-04-17 12:17:09 +02:00
Michael Adam d673b528d8 build: make build.version target phony
The build.version target does not refe to a timestamped file.
So it should be declared PHONY.
This change does that.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-04-17 12:17:09 +02:00
subham rai e126a2d1ab Merge pull request #17361 from sonnysasaka/swap-plugins
Fix swapped provisionerPriorityClassName with pluginPriorityClassName
2026-04-17 10:06:26 +05:30
Sonny Sasaka dff04494fe csi: fix swapped provisionerPriorityClassName with pluginPriorityClassName
Previously provisionerPriorityClassName config is applied to node plugin
but pluginPriorityClassName is applied to controller plugin. This causes
a misconfiguration since the default values for
provisionerPriorityClassName is system-cluster-critical and
pluginPriorityClassName is system-node-critical.

The default priority for node plugin ought to be system-node-critical so
we can leverage this information to kill the pods in this priority last,
allowing other pods that may mount RBD-backed volume to unmount cleanly
first, otherwise the shutdown sequence may hang due to failure
unmounting RBD-backed volume when the node plugin pod is already killed.

Signed-off-by: Sonny Sasaka <sonnysasaka@gmail.com>
2026-04-16 08:30:28 -07:00
Travis Nielsen e74fed5b28 Merge pull request #17351 from ein-stein-chen/add-csimetadataradosnamespace-parameter-to-cephfilesystemsubvolumegroup-crd
Add 'CSIMetadataRadosNamespace' parameter to CephFilesystemSubVolumeGroup
2026-04-15 17:14:03 -06:00
Alexander Degenhart 17b98da89e csi: add 'CSIMetadataRadosNamespace' parameter to CephFilesystemSubVolumeGroup
This parameter is written to .spec.cephFS.radosNamespace of the generated
ClientProfile.

The parameter is called 'CSIMetadataRadosNamespace' to clarify that it is used
for CSI metadata and unrelated to the actual CephFS (meta)data.

Context:

The ceph-csi CephFS plugin stores additional metadata related to PV(C)s
in RADOS objects in the metadata pool of the CephFS.
By default those objects are stored in the 'csi' RADOS namespace.

For a multi-tenant CephFS setup (that is used by multiple K8s Clusters/
ceph-csi drivers) segregating those additional objects into separate RADOS
namespaces is desireable so the clusters can not modify the metadata of other
clusters (enforced by appropriate ceph client capabilities).

'ceph-csi' implemented this via the `cephFS.radosNamespace` config option for
cluster entries in the `ceph-csi-config` ConfigMap with https://github.com/ceph/ceph-csi/pull/4661.

The `ceph-csi-operator` added support for that config entry by adding
'radosNamespace' to the 'CephFsConfigSpec' of the 'ClientProfile' with
https://github.com/ceph/ceph-csi-operator/pull/165.

Signed-off-by: Alexander Degenhart <degenhart@fim.uni-passau.de>
2026-04-16 00:31:29 +02:00
Travis Nielsen 6d7fa333c3 Merge pull request #17307 from obnoxxx/build-markdownlint-self-contained
build: make  markdownlint targets  self-contained
2026-04-15 14:14:00 -06:00
d4c3f36bba build: make markdownlint targets self-contained
the markdownlint and markdownlint.fix make targets
required markdownlint-cli2 to be installed locally
in the $PATH.

This change renders them self-contained by running
markdownlint from the official markdownlint-cli2
docker image.

Also clean the development-flow guide for linting tools

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
2026-04-15 21:27:15 +02:00
Travis Nielsen 9e15c6fe2d Merge pull request #16823 from travisn/canary-tentacle
ci: Run canary tests against tentacle
2026-04-15 10:11:45 -06:00
Prabhala Tara Aasrita dcb501de56 helm: set ROOK_UNREACHABLE_NODE_TOLERATION_SECONDS from chart values
Previously the unreachable node toleration on the operator pod was hardcoded to 5 seconds in the Helm chart and the ROOK_UNREACHABLE_NODE_TOLERATION_SECONDS env var was notset up at all. This change reads both from .Values.unreachableNodeTolerationSeconds (defaulting to 5).

Fixes #17303

Signed-off-by: Prabhala Tara Aasrita <taraasrita@ibm.com>
2026-04-14 21:25:04 +05:30
Travis Nielsen 7d352fd528 test: run canary tests against tentacle
Update the canary tests to run against tentacle with each
PR instead of squid. the daily tests will still cover squid.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-04-13 15:18:34 -06:00
subham rai 7ba58b6926 Merge pull request #17349 from rook/dependabot/go_modules/github-dependencies-4d0cf4febe
build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.98.0 to 1.99.0 in the github-dependencies group
2026-04-13 21:52:57 +05:30
subham rai 5b4d8ecb23 Merge pull request #17347 from rook/dependabot/github_actions/aws-actions/configure-aws-credentials-6.1.0
build(deps): bump aws-actions/configure-aws-credentials from 6.0.0 to 6.1.0
2026-04-13 21:34:47 +05:30
subham rai 5a0fbf9b21 Merge pull request #17348 from rook/dependabot/github_actions/actions/upload-artifact-7.0.1
build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1
2026-04-13 21:34:07 +05:30
dependabot[bot] ee5e5b58ab build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3
Bumps the github-dependencies group with 1 update: [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2).


Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.98.0 to 1.99.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.98.0...service/s3/v1.99.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-version: 1.99.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 13:29:48 +00:00