Commit Graph
4621 Commits
Author SHA1 Message Date
Santosh Pillai c03a1e1265 build: update oauth to address cve 2025-22868
updates oauth package version to v0.27.0
Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit bdc1bf2089)
2025-04-10 16:00:25 +00:00
Peter Razumovsky 5949c189af pool: retry status update on fail
In some cases, for example, kube-api nods, CephBlockPool's status
could be failed to update. In that case, rook-operator does not
tries to update status again. This fix requests for requeue if pool's
status update is failed.

Signed-off-by: Peter Razumovsky <prazumovsky@mirantis.com>
(cherry picked from commit d7c67fecee)
2025-04-09 17:15:26 +00:00
mergify[bot] e757504203 Merge pull request #15682 from rook/mergify/bp/release-1.17/pr-15641
core: Reconcile CRs only after the finalizer is added by Rook (backport #15641)
2025-04-09 17:14:38 +00:00
Travis Nielsen ede1d63931 core: skip reconcile when adding the finalizers
When finalizers are added to the CRs, a follow-up reconcile
will be triggered due to the increased generation on the CR.
Therefore, abort the initial reconcile when adding the finalizer,
and allow the follow-up reconcile to complete the configuration.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit f7fb1bc0f2)
2025-04-09 16:41:41 +00:00
parth-gr 98b883ebe3 rbdmirror: fix the rados namespace health checkup
there was very edge case,a nd that result in nil
point exception
During osd upgrades if mirror health check is called
the mirror status cmd doesnt respond
So its important to check if the value exist
before getting its summary

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 0c5d3ee3a5)
2025-04-09 15:57:22 +00:00
mergify[bot] 817756eaf7 Merge pull request #15665 from rook/mergify/bp/release-1.17/pr-15660
csi: remove dummy code in csi driver creation (backport #15660)
2025-04-07 17:32:36 +00:00
Santosh Pillai 1d7ec25a55 osd: fix pdbs in case of node drain
the maxunavailable count was getting reset back to 1 after 60 seconds.
This PR prevents resetting of the maxUnavailable OSD count.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit e83ca35531)
2025-04-07 15:59:30 +00:00
Madhu Rajanna d6c1821e67 csi: remove dummy code in csi driver creation
EnableCSIDriverSeLinuxMount is always set to true
, This commit remove the extra variable as its a
introduced where we supported older kubernetes version.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit b08765f525)
2025-04-07 14:13:28 +00:00
subhamkrai 71cb943956 ci: update x/net version to fix snyk issue
snyk ci failind due to older version of x/net, it's need to be in 0.38

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 4ae4741a82)
2025-04-07 13:14:37 +00:00
Blaine Gardner 6dc5d6c9d8 nfs: set allow_set_io_flusher_fail=true in config
NFS-Ganesha 6.1 requires this config to be set to allow it to run in a
non-privileged container so it doesn't hit a permission failure. As long
as the ganesha.nfsd process isn't run with the `-x` option, earlier
versions of NFS-Ganesha that don't have this config won't complain.

Related cephadm PR: https://github.com/ceph/ceph/pull/60077

This may be necessary for supporting future Ceph Squid versions
according to discussions here:
https://github.com/ceph/ceph-container/issues/2246

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 947ca8b458)
2025-04-04 19:48:45 +00:00
Travis Nielsen 962b995196 core: use filter only if its set to non empty string
Also check for the empty namespace instead of an
empty name which was incorrect.

Co-authored-by: Nikita Sivukhin <sivukhin@turso.tech>
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 71a4fce87b)
2025-04-04 18:12:06 +00:00
Joshua Hoblitt 5fb622e6d1 core: typed watch handlers and predicates
All existing controller runtime watches are converted to use "typed"
handlers and predicates instead of operating on `client.Object`.  The
intent is to be bug for bug equivalent with the existing logic while
replacing run time type assertions and switch statements with compile
time type constraints and type casts. In several cases, functions using
assertions were split up such that each function only handles a single
Kind at a time. It is hoped that this will improve readability and
maintainability while facilitating future refactoring such as migrating
some watches to using IndexFields.

Of particular note is that the massive switch statement in
`WatchControllerPredicate()`  from
`pkg/operator/ceph/controller/predicate.go` has been replaced with
generics, reflection, and splitting the obc logic into its own predicate
function. There are still many helper functions operating on
`client.Object`. These were not updated unless required by the compiler
in order to limit the size of this change. The type safety of these
funcs should be improved as followup work.

 It is strongly suggested that going forward, handlers and predicates
 only handle a single Kind (generic or not) and that switches / type
 assertions are heavily discouraged or forbidden. This PR removed all
 but a single switch statement in a predicate, which should be addressed
 in future work.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 9f1ed201db)
2025-04-04 17:18:33 +00:00
Patryk Rostkowski b02190290d operator: decouple mon and mgr post-startup operations
Fixes an ordering issue where spec.cephConfig settings failed to apply
because the manager wasn't yet running. Moved the config logic from
postMonStartupActions() to a new postMgrStartupActions() to ensure
the mgr is ready before applying config, allowing successful reconciliation.

Signed-off-by: Patryk Rostkowski <patrostkowski@gmail.com>
(cherry picked from commit 44a2eaf02f)
2025-04-03 20:32:35 +00:00
Joshua Hoblitt 1a747d8a60 object: add CephObjectStoreUser.spec.keys
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 6b2c357871)
2025-04-03 18:57:57 +00:00
Blaine Gardner bd0974827e Merge pull request #15629 from rook/mergify/bp/release-1.17/pr-15554
rgw: Support Kafka auth mechanism parameter (backport #15554)
2025-04-02 10:21:56 -06:00
Blaine Gardner cf0444a73b Merge pull request #15631 from rook/mergify/bp/release-1.17/pr-15459
rbdmirror: mirroring b/w implicit and defined ns (backport #15459)
2025-04-02 10:21:24 -06:00
parth-gr 809ae1cfba object: updated cephobjectstore zone api
if no multisite is used, rook creates the zone,
in the same name as cephobjectstore cr,

But cephobjectstore zone spec
shows name as empty string("")

Which is confusing for the end user, so
to remove the confusion by updating the
api defination

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit c47c6c5072)
2025-04-02 15:48:33 +00:00
Travis Nielsen cadcb70a0f Merge pull request #15618 from rook/mergify/bp/release-1.17/pr-15522
mon: manage endpoints containing set of mon ip addresses (backport #15522)
2025-04-01 13:12:11 -06:00
subhamkrai f73f34bd51 rbdmirror: mirroring b/w implicit and defined ns
this commit add support for mirroring b/w implicit rados namespace and
defined rados namespace. To support this, rook will treat `<implicit>`
name on cephblockpool as `""` empty string. This will allow mirroring
b/w implicit and defined radosnamespace.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 420178fe3e)
2025-04-01 18:56:52 +00:00
Ragnar Dahlén 98777ece70 rgw: support kafka auth mechanism parameter
Ceph has support [1,2] for configuring which authentication
mechanism to use for bucket notifications using Kafka topics.

This commit adds the corresponding support to rook.

[1]: https://github.com/ceph/ceph/pull/48181/commits/d5dce601f65974a21c83c4b1add036030a75c3c4
[2]: https://tracker.ceph.com/issues/57608

Signed-off-by: Ragnar Dahlén <r.dahlen@gmail.com>
(cherry picked from commit 8bf7c679bb)
2025-04-01 16:45:31 +00:00
Michael Adam 27b96e196f tests: fix intermittent failure of TestWaitForDeploymentsToUpdate
The unit test TestWaitForDeploymentsToUpdate intermittently failed
in the CI. The suspected root cause is clow CPUs in github CI runners.

This fixes the intermittent CI failure by increasing the timings in the test
code.

Resolves: #15583

Co-Authored-By: Blaine Gardner <blaine.gardner@ibm.com>
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 0c9e7a384b)
2025-04-01 14:48:38 +00:00
Patryk Rostkowski 0c4bdf81a0 mon: manage endpoints containing set of mon ip addresses
The change creates and manages an Endpoints resource
with the current Ceph monitor (mon) IPs, allowing
clients to resolve mon IPs via DNS without relying
on the rook-ceph-mon-endpoints ConfigMap.

Signed-off-by: Patryk Rostkowski <patrostkowski@gmail.com>
(cherry picked from commit 08199b27c9)
2025-03-31 16:43:20 +00:00
Santosh Pillai a5306b57d4 rgw: support read affinty for localized reads
allows selecting Read Affinity policy from the ObjectStore API
aets `--crush-location=host` for RGW daemons.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit deb010c32e)
2025-03-31 15:27:12 +00:00
Joshua Hoblitt a8a012038c core: fix golangci-lint warn caused by comment in nolint directive
Resolves this warning:

    WARN [runner/nolint_filter] Found unknown linters in //nolint directives: just configuration keys., value not credential

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit b721c30dd1)
2025-03-28 18:37:50 +00:00
Joshua Hoblitt 3cb343f62a core: run gofumpt on all files
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-03-26 10:41:48 -07:00
Santosh Pillai daa0dc1327 Merge pull request #15408 from sp98/redo-pdbs
osd: handle OSD PDBs when OSDs fail without affecting the cluster health
2025-03-26 21:34:17 +05:30
Travis Nielsen 2346af27e6 Merge pull request #15570 from rook/dependabot/go_modules/github-dependencies-d99d65495a
build(deps): bump github.com/k8snetworkplumbingwg/network-attachment-definition-client from 1.7.5 to 1.7.6 in the github-dependencies group
2025-03-26 07:44:03 -06:00
Santosh Pillai a816b4a971 osd: allow one healthy OSD to be drained
One ore more OSDs can be down and PGs can still be active+clean (data
was rebalanced to other available OSDs). This PR sets
maxunavailable=1+downOSDs to allow one healthy to be drained.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-03-26 10:40:46 +05:30
Joshua Hoblitt dcf0a57d11 object: all CephBucketTopic reconcile errors set .status.phase
topic.reconcile() had a number of error triggered return statements
which did not update the CR's status to reflect a reconcile failure.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-03-25 09:52:37 -07:00
dependabot[bot] 6d34af515d build(deps): bump github.com/k8snetworkplumbingwg/network-attachment-definition-client
Bumps the github-dependencies group with 1 update: [github.com/k8snetworkplumbingwg/network-attachment-definition-client](https://github.com/k8snetworkplumbingwg/network-attachment-definition-client).

Updates `github.com/k8snetworkplumbingwg/network-attachment-definition-client` from 1.7.5 to 1.7.6
- [Release notes](https://github.com/k8snetworkplumbingwg/network-attachment-definition-client/releases)
- [Commits](https://github.com/k8snetworkplumbingwg/network-attachment-definition-client/compare/v1.7.5...v1.7.6)

---
updated-dependencies:
- dependency-name: github.com/k8snetworkplumbingwg/network-attachment-definition-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-25 10:34:59 -06:00
Blaine Gardner 20d85409ba Merge pull request #15498 from cobaltcore-dev/watch-rgw-config-secrets
Watch rgw config secrets
2025-03-25 09:33:50 -06:00
Blaine Gardner 9c1d681839 Merge pull request #15560 from rook/plumbing/rm-controller-predicate-upgrade-label-support
core: rm controller-runtime predicate support for ceph_version label
2025-03-21 15:45:43 -06:00
Blaine Gardner 01d3a5ae40 Merge pull request #15530 from jhoblitt/bugfix/CephObjectStoreUser-reconcile-status
object: all CephObjectStoreUser reconcile errors set .status.phase
2025-03-21 12:06:52 -06:00
Joshua Hoblitt 607e328e6f core: rm controller-runtime predicate support for ceph_version label
This label is not currently in use by rook.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-03-21 09:34:27 -07:00
Artem Torubarov e2f7caf193 rgw: simplify map secret func
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2025-03-21 16:11:34 +01:00
subhamkrai a25c57397e csi: add csi-op api in unit tests
let's just add csi-op unit tests in rns and svg
we'll add more code in future.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-03-21 06:42:37 +05:30
subham rai 012428dc3a Merge pull request #15529 from subhamkrai/external-mode-csi-op
csi: create csi operator resources in external mode
2025-03-18 21:16:58 +05:30
subhamkrai 8ffb80f3d7 csi: create csi operator resources in external mode
today, csi operator cephConnection and client profile
CR's where not getting created in external mode. So, let's
start creating those.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-03-18 15:16:02 +05:30
Travis Nielsen f293870d5c Merge pull request #15535 from rook/dependabot/go_modules/github-dependencies-51a004a0da
build(deps): bump the github-dependencies group across 1 directory with 3 updates
2025-03-17 12:54:43 -06:00
dependabot[bot] 528b5db93a 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.32.2` | `0.32.3` |
| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.32.2` | `0.32.3` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.32.2` | `0.32.3` |
| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.32.2` | `0.32.3` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.32.2` | `0.32.3` |
| [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) | `0.32.2` | `0.32.3` |

Updates `k8s.io/api` from 0.32.2 to 0.32.3
- [Commits](https://github.com/kubernetes/api/compare/v0.32.2...v0.32.3)

Updates `k8s.io/apiextensions-apiserver` from 0.32.2 to 0.32.3
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.32.2...v0.32.3)

Updates `k8s.io/apimachinery` from 0.32.2 to 0.32.3
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.32.2...v0.32.3)

Updates `k8s.io/cli-runtime` from 0.32.2 to 0.32.3
- [Commits](https://github.com/kubernetes/cli-runtime/compare/v0.32.2...v0.32.3)

Updates `k8s.io/client-go` from 0.32.2 to 0.32.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.32.2...v0.32.3)

Updates `k8s.io/cloud-provider` from 0.32.2 to 0.32.3
- [Commits](https://github.com/kubernetes/cloud-provider/compare/v0.32.2...v0.32.3)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cli-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cloud-provider
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 11:53:38 -06:00
dependabot[bot] d14b6ecfd6 build(deps): bump the github-dependencies group across 1 directory with 3 updates
Bumps the github-dependencies group with 3 updates in the / directory: [github.com/csi-addons/kubernetes-csi-addons](https://github.com/csi-addons/kubernetes-csi-addons), [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/csi-addons/kubernetes-csi-addons` from 0.11.0 to 0.12.0
- [Release notes](https://github.com/csi-addons/kubernetes-csi-addons/releases)
- [Commits](https://github.com/csi-addons/kubernetes-csi-addons/compare/v0.11.0...v0.12.0)

Updates `github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring` from 0.80.1 to 0.81.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.80.1...v0.81.0)

Updates `github.com/prometheus-operator/prometheus-operator/pkg/client` from 0.80.1 to 0.81.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.80.1...v0.81.0)

---
updated-dependencies:
- dependency-name: github.com/csi-addons/kubernetes-csi-addons
  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-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github.com/prometheus-operator/prometheus-operator/pkg/client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 11:53:00 -06:00
dependabot[bot] 65b446fc47 build(deps): bump golang.org/x/net from 0.34.0 to 0.36.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.34.0 to 0.36.0.
- [Commits](https://github.com/golang/net/compare/v0.34.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 11:14:59 -06:00
Joshua Hoblitt 01bbcf7857 object: all CephObjectStoreUser reconcile errors set .status.phase
objectuser.reconcile() had a number of error triggered return statements
which do not update the CR's status to reflect a reconcile failure.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-03-17 09:56:54 -07:00
Artem Torubarov dd0d500980 rgw: watch referenced secrets
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2025-03-17 14:09:05 +01:00
Madhu Rajanna 9eb218f848 core: dont overwrite err incase of stderr
dont overwrite err incase of stderr

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-03-13 15:33:33 +01:00
Artem Torubarov 00aa282074 rgw: use list in secret watch map func
Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
2025-03-13 11:19:45 +01:00
Artem Torubarov bed0c23274 rgw: watch config secret changes
Implements #15460. If ObjectStore reading value from a secret
provided by user, the secret will be annotated with ObjectStore
name and ObjectStore will be reconciled on secret change.

Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
2025-03-12 11:37:12 +01:00
yati1998 762430ccb5 build: set ceph csi release version to v3.13.1
this commit sets the release version
for ceph-csi to v3.13.1

Signed-off-by: yati1998 <ypadia@redhat.com>
2025-03-10 11:08:07 +05:30
Tarun Gupta Akirala 95a911f8c3 operator: formatting issue in cosi log statement
updates the debug log line to ensure the formatting
is applied correctly.

Signed-off-by: Tarun Gupta Akirala <tarun.akirala@nutanix.com>
2025-03-05 16:47:06 -07:00
Travis Nielsen c177d63a85 Merge pull request #15411 from rook/dependabot/go_modules/k8s-dependencies-4ff4aa8e06
build(deps): bump the k8s-dependencies group with 7 updates
2025-03-05 16:43:32 -07:00