Commit Graph
13598 Commits
Author SHA1 Message Date
subhamkrai 4eefad42e8 csi: move csi management to admin
Going forward, admin will manage the csi operator
CR's and rook will only manage Ceph Connection cr
and client Profile cr.

The old csi driver is completely removed from Rook
and can no longer be used starting in Rook v1.20.

The upgrade guide will contain the needed transition steps
for managing the csi operator settings.

Signed-off-by: subhamkrai <srai@redhat.com>
2026-04-29 14:24:26 -06:00
subhamkrai b50f1a3d60 ci: fix some minor canary test issues
The canary test was waiting for replicapool
instead of replicapool2, and a more reliable
wait for the toolbox pod start is added.

Signed-off-by: subhamkrai <srai@redhat.com>
2026-04-29 14:01:42 -06:00
Travis Nielsen 07fce20daf Merge pull request #17451 from rohan47/exporterDnsPolicy
exporter: set correct DNSPolicy for rook-ceph-exporter
2026-04-29 12:11:23 -06:00
Travis Nielsen 33210d3d54 Merge pull request #17455 from travisn/upgrade-from-1.19
ci: Upgrade tests from v1.19 to master
2026-04-29 10:42:54 -06:00
Santosh Pillai 60fe0ff1df Merge pull request #17444 from OdedViner/aws_sdk_upgrade_provisioner
object: migrate bucket provisioner to aws sdk v2
2026-04-29 21:50:42 +05:30
Travis Nielsen 9e7a19ad24 Merge pull request #17445 from obnoxxx/build-linting-target-taxonomy
Build: introduce  a linting target naming taxonomy
2026-04-29 10:14:17 -06:00
Michael AdamandCopilot Autofix powered by AI 74c41f16cc build: introduce a linting target name taxonomy
The linting targets used to mostly have ad-hoc names usually reflecting
the linting tool used (like shellcheck, yamllint, and checkmake).

This change systematizes the names of the linting targets to follow a
pattern of lint.foo where foo usually reflects *what* is linted rather
than *how*.

so, more idiomatically, the pattern can be described as "action.thing"
to indicacte that "action" is to be performed on a "thing".

This systematization is achieved by renaming a couple of targets:

- shellcheck -> lint.shell
- yamllint -> lint.yaml
- checkmake -> lint.make
0 helm.lint -> lint.helm
- pylint -> lint.python
fmt  -> lint.fmt

Additionally, a new target go.lint is introduced that runs
several go linting tools.

Finally, two fixing targets are renamed for consistency:

* fmt-fix -> fix.fmt
* markdownlint.fix -> fix/markdown

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-29 17:27:18 +02:00
Travis Nielsen 1f205c4be4 ci: upgrade tests from v1.19 to master
The upgrade integration tests for the v1.20 release need to
validate the upgrade starting from v1.19 to the latest.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-04-29 09:19:40 -06:00
Oded Viner 5ba3e1a2c0 object: migrate bucket provisioner to aws sdk v2
migrate bucket provisioner from aws sdk v1 to v2.

replace awserr.Error type assertions with smithy.APIError
using errors.As for v2-style error handling.

switch setBucketPolicy and setBucketLifecycle to use
the v2 s3 client (ClientV2) directly with context.

replace v1 s3 types (BucketLifecycleConfiguration,
GetBucketLifecycleConfigurationOutput) with v2 equivalents
from s3types and s3v2 packages.

add cmpopts.IgnoreUnexported to cmp.Diff calls to handle
unexported noSmithyDocumentSerde fields in v2 sdk types.

add nil guard on lifecycle output before accessing rules
to prevent nil dereference when get returns an error.

depends on #17414

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-04-29 16:34:22 +03:00
Rohan Gupta 17873d3af2 exporter: set correct DNSPolicy for rook-ceph-exporter
rook-ceph-exporter should use DNSPolicy ClusterFirstWithHostNet when
hostNetwork is enabled

Signed-off-by: Rohan Gupta <rohgupta@redhat.com>
2026-04-29 15:07:21 +05:30
Travis Nielsen eaddeb514b Merge pull request #17442 from travisn/tentacle-default-docs
core: Update all docs and examples default to v20.2.1
2026-04-28 16:24:32 -06:00
Travis Nielsen 62a9debceb 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>
2026-04-28 14:09:17 -06:00
Santosh Pillai 05f1b00b81 Merge pull request #17395 from sp98/rgw-account-quota
doc: rgw account quotas
2026-04-28 22:02:44 +05:30
Joshua Hoblitt 03789475f9 Merge pull request #17414 from OdedViner/policy_aws_sdk_v2
object: migrate bucket policy methods to aws sdk v2
2026-04-28 07:45:36 -04:00
Travis Nielsen dfed786816 Merge pull request #17440 from obnoxxx/build-fix-helm-lint-self-contained
build: make make helm.lint truly self-contained
2026-04-27 11:45:51 -06:00
subham rai 17f326f3be Merge pull request #17434 from rook/dependabot/go_modules/github-dependencies-456e44f28d
build(deps): bump the github-dependencies group with 2 updates
2026-04-27 23:01:35 +05:30
Michael Adam 953fae17c9 build: make make helm.lint truly self-contained
PR #17306 intended to make the helm.lint target self-contained
so that it would not require tools to be installed in the system.
But it missed the fact that ct requires helm to be available
in the path. So make helm.lint would still fail when helm was not
installed.

This change fixes this by creating a symlink to the cached versioned
helm tool and rewriting PATH for the ct invocation.

This renders the helm.lint target truly self-contained.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-04-27 18:42:40 +02:00
Travis Nielsen d256138023 Merge pull request #17432 from OdedViner/nvmeof_scc_upstream
security: grant scc to rook-ceph-nvmeof service account
2026-04-27 09:49:47 -06:00
Santosh Pillai 8cf245059c Merge pull request #17342 from OdedViner/aws_v2_upgrade_obj
object: migrate s3agent object methods to aws sdk v2
2026-04-27 21:18:32 +05:30
dependabot[bot] 7af79920dd build(deps): bump the github-dependencies group with 2 updates
Bumps the github-dependencies group with 2 updates: [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) and [github.com/aws/smithy-go](https://github.com/aws/smithy-go).


Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.99.1 to 1.100.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.99.1...service/s3/v1.100.0)

Updates `github.com/aws/smithy-go` from 1.25.0 to 1.25.1
- [Release notes](https://github.com/aws/smithy-go/releases)
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/smithy-go/compare/v1.25.0...v1.25.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-27 15:25:33 +00:00
Oded Viner 7f3e2ace27 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>
2026-04-27 16:28:15 +03:00
Travis Nielsen e6560ad18c Merge pull request #17282 from officialasishkumar/pool-crush-rule-cleanup
pool: clean up unused crush rules
2026-04-24 16:31:59 -06:00
Travis Nielsen afc7f5913d Merge pull request #17312 from obnoxxx/build-yamllint-self-contained
build: make the yamllint target  self-contained
2026-04-24 13:28:16 -06:00
Michael Adam 12cf909acd docs: clean linting part of contributing guide of yamllint
The development flow guide mentioned several tools that needed to be
installed in the PATH to run make lint.

This change removes yamllint from that list now that makeyamllint has
been made self-contained.

With pylint the only remaining requirement, this also rewords the
corresponding section for clarity.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-04-24 21:04:49 +02:00
Michael AdamandBlaine Gardner f5d7004d22 build: make the yamllint target self-contained
The yamllint make target required yamllint to be installed
in the PATH.

This change renders it self-contained
by using a container image instead.

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
2026-04-24 21:04:49 +02:00
Asish Kumar 24a35e4e74 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>
2026-04-24 23:57:40 +05:30
Travis Nielsen b23981a035 Merge pull request #17365 from BlaineEXE/ai-contrib-guidelines
doc: add AI guidelines
2026-04-24 11:52:54 -06:00
Blaine Gardner ebf4656481 doc: add AI guidelines
Add AI guidelines based on discussions from the most recent community
meeting.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2026-04-24 11:49:22 -06:00
Travis Nielsen d06edb76d0 Merge pull request #17426 from obnoxxx/build-fix-checkmake-generate-docs-crds-phony
build: declare generate-docs-crds PHONY to fix local checkmake
2026-04-24 11:49:21 -06:00
Michael Adam c6ab030cd4 build: declare generate-docs-crds PHONY to fix local checkmake
Locally, checkmake complained that the target generate-docs-crds
should be declared PHONY.

And it should in fact be PHONY as it is a target without recipe
depending on another PHONY target.

This change fixes the local xheckmake run by declaring
generate-docs-crds PHONY as desired.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-04-24 18:30:20 +02:00
Travis Nielsen 4ffe8ac9ec Merge pull request #17422 from obnoxxx/docs-clean-linting-contrib-guide
docs: clean linting part of the contributing guide
2026-04-24 09:07:19 -06:00
Travis Nielsen 0e6e89dc27 Merge pull request #17381 from gaganhr94/fix/token-permissions
fix: adding required permissions to top level and jobs in the workflow
2026-04-24 08:02:09 -06:00
Santosh Pillai 8d34eea8a9 Merge pull request #17420 from sp98/remove-new-line
core:remove newlines from liveness probe scripts
2026-04-24 19:14:08 +05:30
Michael Adam b0a9a1f149 docs: clean linting part of the contributing guide
The section about nake lint in the contributing guide
mentions several tools that need to be installed locally to run
the linters.

with PR #17311 which has made the shellcheck target self-contained,
the requirement is now gone for shellcheck.

This change simlifies the guide by removing the mention of shellcheck
as required to be installed.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-04-24 14:55:54 +02:00
Santosh 925acb3e92 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>
2026-04-24 14:24:51 +05:30
Santosh Pillai b87c434ff9 Merge pull request #17411 from taraasrita10/fix-osdkms-log-error
osd: fix KMS log error format specifier
2026-04-24 14:09:17 +05:30
Travis Nielsen 0fc8852cc1 Merge pull request #17417 from BlaineEXE/upgrade-guides-for-1.20
docs: update upgrade docs for v1.20
2026-04-23 15:53:22 -06:00
Blaine Gardner cb60ec5ae2 docs: update upgrade docs for v1.20
Update upgrade docs to reflect v1.20 changes.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2026-04-23 14:35:32 -06:00
Travis Nielsen 0160ba5bd0 Merge pull request #17288 from lumir-sliva/relax-stretch-crush-weight-check
mon: relax balanced CRUSH weight check for stretch mode
2026-04-23 12:05:12 -06:00
Oded Viner 88e0047d9b object: migrate bucket policy methods to aws sdk v2
migrate PutBucketPolicy and GetBucketPolicy to use aws sdk v2
client.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-04-23 18:54:48 +03:00
Travis Nielsen 40f24638bc Merge pull request #17311 from obnoxxx/build-shellcheck-self-contained
build:  make the shellcheck target  self-contained
2026-04-23 08:45:36 -06:00
Oded Viner 2cb714dabd 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>
2026-04-23 17:40:15 +03:00
Prabhala Tara Aasrita 85ee8631cf 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>
2026-04-23 16:19:33 +05:30
Michael AdamandCopilot ffc87c674e build: make the shellcheck target self-contained
running make shellcheck required shellcheck to be
installed locally in the $PATH.

This change renders make shellcheck self-contained
by installing shellcheck in the local tools cache directory
likeit is already done  with other tools.

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-23 11:15:08 +02:00
Santosh 83c8ddb3c8 doc: rgw account quotas
design doc for management of rgw account level quotas.

Signed-off-by: Santosh <sapillai@redhat.com>
2026-04-23 10:16:27 +05:30
Lumir Sliva 27f95f2feb 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>
2026-04-22 19:14:48 +02:00
Parth Arora c250b47c4f Merge pull request #17382 from taraasrita10/setenv_rook_unreachablenode
mon: fix floating mon validation in TNF deployments
2026-04-22 21:06:39 +05:30
subham rai 6b33abfbfb Merge pull request #17403 from taraasrita10/update-k8s-version
ci: remove K8s 1.30 and use latest patch versions
2026-04-22 16:09:56 +05:30
Prabhala Tara Aasrita b7ea6f488f 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>
2026-04-22 14:01:06 +05:30
Prabhala Tara Aasrita 8e205b194c 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>
2026-04-21 18:45:17 +05:30