Commit Graph
13813 Commits
Author SHA1 Message Date
Travis Nielsen bb4fb438c4 Merge pull request #17742 from obnoxxx/ci-k8s-versions-prep-v1.36
CI: test k8s v1.34 instead of v1.33 for  rook releases
2026-06-16 07:42:41 -06:00
subham rai 5be5cd8f6a Merge pull request #17759 from rook/dependabot/go_modules/github-dependencies-8270579e47
build(deps): bump the github-dependencies group with 7 updates
2026-06-16 15:28:28 +05:30
Michael Adam fbbbf6f8ee ci: testk8s v1.34 instead of v1.33 for releases
Rook supports six versions of kubernetes but we only want to spend CI
resources for testing four of them.

In order to align with this commitment, this change lets rook run
integration test suites on kubernetes v1.34 instead of v1.33 for release
testing.

As a result, the latest patch releases of kubernetes v1.31, v1.32,
v1.34, and v1.35 are tested for rook releases.

In addition, k8s version specification is made more systematic to
use the pattern  v1.3X.Y instead of 1.3X.Y.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-06-15 21:37:29 +02:00
dependabot[bot] b85e01a4e5 build(deps): bump the github-dependencies group with 7 updates
Bumps the github-dependencies group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [github.com/IBM/keyprotect-go-client](https://github.com/IBM/keyprotect-go-client) | `0.16.0` | `0.17.2` |
| [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) | `1.41.12` | `1.42.0` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.32.23` | `1.32.25` |
| [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) | `1.19.22` | `1.19.24` |
| [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) | `1.103.2` | `1.103.3` |
| [github.com/aws/aws-sdk-go-v2/service/sns](https://github.com/aws/aws-sdk-go-v2) | `1.40.0` | `1.40.1` |
| [github.com/aws/smithy-go](https://github.com/aws/smithy-go) | `1.27.1` | `1.27.2` |


Updates `github.com/IBM/keyprotect-go-client` from 0.16.0 to 0.17.2
- [Release notes](https://github.com/IBM/keyprotect-go-client/releases)
- [Changelog](https://github.com/IBM/keyprotect-go-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/IBM/keyprotect-go-client/compare/v0.16.0...v0.17.2)

Updates `github.com/aws/aws-sdk-go-v2` from 1.41.12 to 1.42.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.41.12...v1.42.0)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.23 to 1.32.25
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.23...config/v1.32.25)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.19.22 to 1.19.24
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.19.22...credentials/v1.19.24)

Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.103.2 to 1.103.3
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.103.2...service/s3/v1.103.3)

Updates `github.com/aws/aws-sdk-go-v2/service/sns` from 1.40.0 to 1.40.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.40.0...v1.40.1)

Updates `github.com/aws/smithy-go` from 1.27.1 to 1.27.2
- [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.27.1...v1.27.2)

---
updated-dependencies:
- dependency-name: github.com/IBM/keyprotect-go-client
  dependency-version: 0.17.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-version: 1.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-version: 1.32.25
  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.19.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-version: 1.103.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sns
  dependency-version: 1.40.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/aws/smithy-go
  dependency-version: 1.27.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-15 12:49:39 +00:00
Parth Arora 31236a51e5 Merge pull request #17628 from parth-gr/drbd-upstream
core: add a install guide for tnf
2026-06-15 15:42:09 +05:30
Joshua Hoblitt 95132446f7 Merge pull request #17708 from jhoblitt/single-rgw-instance-only
test: run object suite store with a single rgw instance
2026-06-12 12:05:41 -07:00
Joshua Hoblitt 4597f437ce Merge pull request #17730 from jhoblitt/maint-remove-dead-test-framework-files
tests: remove unused test framework helpers
2026-06-12 09:11:01 -07:00
Joshua Hoblitt b1bbfb4bba Merge pull request #17726 from jhoblitt/maint-remove-dead-k8sutil-sweep
k8sutil: remove unused helper functions
2026-06-12 09:10:32 -07:00
Blaine Gardner 3d9e868741 Merge pull request #17727 from jhoblitt/maint-remove-dead-cephclient-funcs
core: remove dead code from pkg/daemon and pkg/util
2026-06-12 10:04:24 -06:00
Travis Nielsen a67a76755c Merge pull request #17736 from obnoxxx/readme-add-license-badge
add a license badge to the README
2026-06-12 08:50:03 -06:00
Michael AdamandCopilot Autofix powered by AI 8db775bb67 docs: add a license badge
This adds a license badge to the list of badges at the top of the README.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Michael Adam <obnox@samba.org>
2026-06-12 16:44:57 +02:00
parth-gr 8171c3ed3b core: add a install guide for tnf
add a install guide for tnf
1) Add a drbd install script
2) add a drbd instal doc

assisted-by: anthropic-ai/claude-code

Signed-off-by: parth-gr <partharora1010@gmail.com>
2026-06-12 17:22:43 +05:30
subham rai 702855df6b Merge pull request #17718 from subhamkrai/bump-golang-x-crypto
build: bump golang.org/x/crypto to v0.52.0
2026-06-12 12:51:44 +05:30
Travis Nielsen 9df1190a79 Merge pull request #17699 from jhoblitt/mergify-require-objectsuite-tls
ci: require TestCephObjectSuiteTLS checks for release-1.20 automerge
2026-06-11 17:09:09 -06:00
Joshua Hoblitt c4f8831a4d tests: remove unused k8s helper functions
The package-level VersionAtLeast function had no callers anywhere in the
repo (the K8sHelper.VersionAtLeast method remains in use), and
IsKubectlErrorNotFound's only caller was provisioners.go, which is
deleted in this PR. Verified with deadcode and repo-wide grep.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-11 15:42:39 -07:00
Joshua Hoblitt ef9761d4df core: remove unused OSDPerfStats type
The OSDPerfStats struct had no references anywhere in the repo (verified
with repo-wide grep and an exported-symbol audit); the code that consumed
this unmarshal target was removed long ago.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-11 15:40:49 -07:00
Joshua Hoblitt 2433565238 multus: remove unused validation test config constructor
NewSharedStorageAndWorkerNodesValidationTestConfig was a wrapper that
simply returned NewDefaultValidationTestConfig() and had no callers
anywhere in the repo (verified with deadcode and repo-wide grep, tests
included). The sibling constructors are all referenced by the multus
validation CLI and remain.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-11 15:40:10 -07:00
Joshua Hoblitt 8df364df98 core: remove unused file helpers from pkg/util
WriteFile and PathToProjectRoot had no callers anywhere in the repo
(verified with deadcode, staticcheck U1000, and repo-wide grep, tests
included). WriteFile has long been superseded by direct os.WriteFile
usage. Drop the now-unused bytes, fmt, and runtime imports; the file's
remaining helpers (WriteFileToLog, CreateTempFile) are still in use.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-11 15:40:10 -07:00
Joshua Hoblitt 0617d01a24 ci: require TestCephObjectSuiteTLS checks for release-1.20 automerge
The CephObjectSuite was split into separate TLS and non-TLS jobs. The
non-TLS job kept the TestCephObjectSuite name, so its required check is
unchanged, but the new TestCephObjectSuiteTLS job produces new status
checks that the release-1.20 automerge rule must also require, otherwise
a backport PR could automerge with the TLS variant failing or still
running.

Older release branches are untouched as the job split will not be
backported to them.

This must not merge until the workflow split has been backported to
release-1.20; until then, backport PRs there do not produce the
TestCephObjectSuiteTLS checks and automerge would stall waiting for
them.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-11 15:08:38 -07:00
Joshua Hoblitt dbfdd818db tests: remove unused test framework helpers
Delete three files from tests/framework that are entirely dead code; no
symbol in any of them is referenced anywhere in the repo, including the
build-tagged integration suites (verified with deadcode and repo-wide
grep):

- clients/read_write.go: abandoned NFS test client (ReadWriteOperation
  and its methods)
- installer/provisioners.go: hostpath PV helpers orphaned when the
  cassandra and nfs installers were removed
- installer/device.go: IsAdditionalDeviceAvailableOnCluster, unused
  since the upgrade test rework

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-11 14:56:41 -07:00
Joshua Hoblitt a7fb77349c Merge pull request #17683 from jhoblitt/maint-remove-dead-util-kmod
core: remove unused kernel module helpers
2026-06-11 14:41:15 -07:00
Joshua Hoblitt 0f5d8ba37f Merge pull request #17682 from jhoblitt/maint-remove-dead-k8sutil-daemonset
k8sutil: remove unused daemonset helpers
2026-06-11 14:21:17 -07:00
Travis Nielsen d8dd41a623 Merge pull request #17701 from OdedViner/nvme_image
nvmeof: fetch gateway image from ceph config when not in CR
2026-06-11 12:02:45 -06:00
Oded Viner 8b4fd67e17 nvmeof: fetch gateway image from ceph config when not in CR
Make the NVMe-oF gateway image optional in the CR spec.
When not specified, the operator fetches the image from
the Ceph mon config store using the key
mgr/cephadm/container_image_nvmeof. Falls back to the
hardcoded default if the config is unavailable.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-06-11 19:55:16 +03:00
Parth Arora 45aa21a9df Merge pull request #17690 from parth-gr/external-csi-operator
external: update the external cluster to make use of csi op
2026-06-11 21:09:39 +05:30
parth-gr dbc8d2a541 external: update the external cluster to make use of csi op
updated the external cluster doc, and helm and manifest
install to make use of csi operator as it is the default
offering now

Signed-off-by: parth-gr <partharora1010@gmail.com>
2026-06-11 19:10:30 +05:30
subhamkrai 6e2aaac0bd build: bump golang.org/x/crypto to v0.52.0
Upgrade golang.org/x/crypto from v0.51.0 to v0.52.0 to pick up
security fixes in the indirect dependency.

Signed-off-by: subhamkrai <srai@redhat.com>
2026-06-11 16:32:54 +05:30
Joshua Hoblitt 8cbec942f4 test: run object suite store with a single rgw instance
rgw quota checks run against per-instance cached stats kept current by
local per-op deltas; the durable user stats object only catches up on
rgw_user_quota_bucket_sync_interval (180s), and a peer instance only
reloads it on the rgw_bucket_quota_ttl refresh cycle. With 3 gateways
behind the service, an S3 reconnect mid-test can land on an instance
that is blind to the objects already written, letting over-quota writes
pass until those clocks line up. A single gateway serves all writes
from one accurate cache, so enforcement is immediate and deterministic.

Multi-instance rgw deployment remains covered by the keystone suite,
and this matches the notification, COSI, and sharedstore fixtures that
already run one instance.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-10 15:25:09 -07:00
Joshua Hoblitt 05d2c251fb Merge pull request #17695 from jhoblitt/maint-split-objectsuite-tls
tests: split CephObjectSuite into TLS and non-TLS jobs
2026-06-10 14:26:59 -07:00
Joshua Hoblitt 41c81a281c Merge pull request #17684 from jhoblitt/maint-remove-dead-osd-updatequeue-clear
osd: remove unused updateQueue.Clear method
2026-06-10 14:20:04 -07:00
Joshua Hoblitt c123513543 tests: split CephObjectSuite into TLS and non-TLS jobs
The CephObjectSuite ran both the TLS and non-TLS object store tests in a
single job via `-run CephObjectSuite`, executing TestWithTLS and
TestWithoutTLS sequentially. Split every invocation of the suite so the two
variants run as independent jobs, using `-run CephObjectSuite/TestWithoutTLS`
and `-run CephObjectSuite/TestWithTLS`, matching the existing CephUpgradeSuite
split pattern.

Each workflow that runs the suite now has two jobs, one per variant, in the
same file:

- integration-test-object-suite.yaml (PR): TestCephObjectSuite and
  TestCephObjectSuiteTLS
- integration-tests-on-release.yaml (push): TestCephObjectSuite and
  TestCephObjectSuiteTLS
- daily-nightly-jobs.yml (nightly): object-suite-ceph-main and
  object-suite-tls-ceph-main

The TestCephObjectSuite job name is preserved so the existing required
status check is unchanged.

No Go changes are required; ObjectSuite already separates the two methods.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-10 10:00:50 -07:00
Blaine Gardner cbc83efa36 Merge pull request #17700 from sp98/delete-stale-rgw-pdb
core: delete stale MDS and RGW pdbs
2026-06-10 10:54:49 -06:00
Santosh 3396198e9c core: delete stale MDS and RGW pdbs
When RGW and MDS intances are reduce to 1, the older RGW and MDS PDB
instance (with maxUnavailabe=1) are still available. This blocks node
drain when the node, on which the single RGW and MDS instances are
running, is drained.

This PR deletes any stale MDS and RGW PDB when the only 1 MDS and 1 RGW
instances are available.

Signed-off-by: Santosh <sapillai@redhat.com>
2026-06-10 21:04:55 +05:30
Joshua Hoblitt 278453e10c core: remove unused ceph client helper functions
Remove four dead functions from pkg/daemon/ceph/client; none had any
callers anywhere in the repo (verified with deadcode, staticcheck U1000,
and repo-wide grep, tests included):

- auth.go: AuthGetOrCreate
- command.go: ExecuteRBDCommandWithTimeout
- filesystem.go: MarkFilesystemAsDown
- status.go: IsClusterCleanError (IsClusterClean itself remains in use)

No imports become unused by these removals.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-09 15:06:17 -07:00
Joshua Hoblitt b29e89ef67 k8sutil: remove unused helper functions
Remove dead code from the k8sutil package; none of these symbols had any
callers anywhere in the repo (verified with deadcode, staticcheck U1000,
and repo-wide grep, tests included):

- patcher.go: delete file (Patcher type, NewPatcher, Patch)
- replicaset.go: delete file (DeleteReplicaSet)
- customresource.go: WatchCR (the CustomResource type remains in use)
- deployment.go: WaitForDeploymentImage
- job.go: WaitForJobCompletion
- k8sutil.go: GetK8SVersion
- pod.go: ConfigOverrideMount, ConfigOverrideVolume, GetPodLog
- prometheus.go: DeleteServiceMonitor
- service.go: DeleteService
- volume.go: NodeConfigURI, BinariesMountInfo, YamlToVolumes,
  YamlToVolumeMounts, and the BinariesMountPath const (only used by the
  removed BinariesMountInfo)

Now-unused imports are dropped from each file. The shared
deleteResourceAndWait helper remains (still used by DeleteDeployment).

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-09 15:05:19 -07:00
Joshua Hoblitt 6a94ae904c Merge pull request #17672 from jhoblitt/maint-remove-dead-verifylabels
test: remove unused label verification helpers
2026-06-09 11:28:05 -07:00
Joshua Hoblitt 8dba034126 Merge pull request #17671 from jhoblitt/maint-remove-dead-container-testhelper
test: remove unused container test helper
2026-06-09 11:27:06 -07:00
Travis Nielsen bbe3d48947 Merge pull request #17674 from subhamkrai/ceph-csi-driver-follow-up
docs: update csi-driver value.yaml reference link
2026-06-09 07:25:07 -06:00
subham rai 01bf581cb4 Merge pull request #17680 from rook/dependabot/go_modules/golang.org/x/sync-0.21.0
build(deps): bump golang.org/x/sync from 0.20.0 to 0.21.0
2026-06-09 11:17:23 +05:30
dependabot[bot] 1148ed78c3 build(deps): bump golang.org/x/sync from 0.20.0 to 0.21.0
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.20.0 to 0.21.0.
- [Commits](https://github.com/golang/sync/compare/v0.20.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sync
  dependency-version: 0.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2026-06-09 10:26:26 +05:30
subham rai 17a1e96a9d Merge pull request #17681 from travisn/helm-drivers-doc
docs: Helm instructions to install drivers in another namespace
2026-06-09 10:05:30 +05:30
subhamkrai c3e06c4cef docs: update csi-driver value.yaml reference link
this commit update the link which refere the csi-driver
chart value.yaml to update it dynamically when release
is done from master to release or release to release tag.

Signed-off-by: subhamkrai <srai@redhat.com>
2026-06-09 10:03:00 +05:30
Travis Nielsen a9235090f4 Merge pull request #17649 from yuxiang-he/node-label-device-class
osd: Support using node labels for OSD device class assignment
2026-06-08 16:07:07 -06:00
Joshua Hoblitt 50c95d343e osd: remove unused updateQueue.Clear method
The Clear method on updateQueue had no callers anywhere in the repo
(verified with grep, deadcode, and staticcheck). The queue is emptied via
Remove/Pop in practice. Remove the dead method.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-08 15:01:15 -07:00
Joshua Hoblitt 0b6d81d83a core: remove unused kernel module helpers
kmod.go was entirely dead: IsBuiltinKernelModule, LoadKernelModule,
CheckKernelModuleParam, and the getKernelVersion helper had no callers
anywhere in the repo (verified with grep, deadcode, and staticcheck).
Remove the file.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-08 14:58:10 -07:00
Joshua Hoblitt c8ad81a3cf k8sutil: remove unused daemonset helpers
daemonset.go was entirely dead: CreateDaemonSet, DeleteDaemonset,
AddRookVersionLabelToDaemonSet, and GetDaemonsets had no callers anywhere
in the repo (verified with grep, deadcode, and staticcheck). Rook does not
manage any DaemonSets via these helpers. Remove the file.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-08 14:57:59 -07:00
Joshua Hoblitt 80511ae2dc Merge pull request #17669 from jhoblitt/maint-remove-dead-ismoduleinspec
mgr: remove unused IsModuleInSpec function
2026-06-08 14:51:14 -07:00
Yuxiang He d9357dbfdc osd: support using node labels for OSD device class assignment
Add support for the osd.rook.io/device-class node label to assign
CRUSH device classes to all OSDs on a node.
The operator reads the label during OSD provisioning and
deployment reconciliation. If CR-level deviceClass conflicts
with the node label, the operator will skip reconciling the
node and logs an error.

Resolves: #17131
Signed-off-by: Yuxiang He <yuxiang@dropbox.com>
2026-06-08 13:21:05 -07:00
Travis Nielsen c5c6ef385d docs: helm instructions to install drivers in another namespace
The helm values need to be updated if installing the drivers
chart in a namespace other than rook-ceph.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-06-08 11:11:01 -06:00
Joshua Hoblitt ac75488621 test: remove unused label verification helpers
VerifyPodLabels had no callers anywhere in the repo, and it was the only
caller of VerifyAppLabels, which in turn was the only caller of the
checkLabel and combineErrors helpers. Remove the whole dead cluster (and
the now-unused strings, github.com/pkg/errors, and ceph/controller
imports). AssertLabelsContainCephRequirements in the same file remains and
is unaffected. Verified with grep, deadcode, and staticcheck.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-08 08:54:43 -07:00