Commit Graph
4559 Commits
Author SHA1 Message Date
raaizik 29fc3d3a5e core: fix CephObjectRealm controller generated generated AccessKey invalid chars
Suggested fix for issue https://github.com/rook/rook/issues/16072
Adds key type differentiation to exclude invalid characters from AccessKey

Signed-off-by: raaizik <132667934+raaizik@users.noreply.github.com>
(cherry picked from commit 1b3f36ff5c)
2025-07-02 15:05:18 +00:00
Muhammad Adil Ghaffar 85ce5bef50 exporter: add hostnetwork bool to cephexporter
Signed-off-by: Muhammad Adil Ghaffar <muhammad.adil.ghaffar@est.tech>
(cherry picked from commit 5ea7a177b7)
2025-06-25 13:23:57 +00:00
parth-gr e44e9776ae rbdmirror: fix the nil point error check during status updates
the status  was still reading from the nil state,
updated the code to dont read from  nil object

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 0b4f89873c)
2025-06-10 16:18:01 +00:00
Blaine Gardner c226b78ec9 core: ensure consistent LeastUptodateDaemonVersion
LeastUptodateDaemonVersion() unmarshals Ceph's daemon versions JSON
output into `map[string]<type>` maps which are not guaranteed to iterate
in the same order as output by Ceph. Fix this method to no longer assume
iteration order is the same order as Ceph's output.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit d5c4eca3fb)
2025-06-03 18:26:22 +00:00
Justin Cichra d7325dfe50 exporter: add name to containerPort
Named containerPort is a useful feature when generating dynamic scrape
targets with prometheus.

This makes it clear that the containerPort is intended for metrics
scraping.

The name matches that which is on the mgr deployment.

Signed-off-by: Justin Cichra <jcichra@cloudflare.com>
(cherry picked from commit 12c36e9472)
2025-04-29 19:15:07 +00:00
Santosh Pillai 859b886e12 osd: fix osd disk cleanup for mpath setups
ceph-volume raw list will return the main disk instead of the mpath
setup. `ceph-volume lvm zap` on the main disks fails. This PR uses
`lsblk /mnt/<diskreference> ` to fetch the actual mapath disk and use it
for cleaning

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit 1e9da0766e)
2025-04-28 08:16:52 +00:00
Travis Nielsen 05cd9e0881 object: log all reconcile errors during object store creation
The object store controller was swallowing errors of the
type not found, assuming a certain category of errors
when ceph may still be initializing. But some of these
errors could be user error and they need to troubleshoot
the details of the error, so we need to log the specific
error instead of swallowing it.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 95a5920bef)
2025-04-21 16:14:45 +00:00
Santosh Pillai f721dc2444 mon: always delete mon canary pods
In case of multicluster service, we need to always delete the mon-canary
pods even if there is any failure while exporting the service, else
multiple mon canary pods will get created.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit 75c6bb8cd2)
2025-04-16 14:34:47 +00:00
Santosh Pillai 79203e1ed4 core: fix logs to print correct OSD ID
use %d to print integer osd.ID

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit e0d2275c8b)
2025-04-16 13:39:48 +00:00
Blaine Gardner ca8eadc161 core: update cephstatus fsmap gid type to uint64
Ceph uses uint64 (unsigned long) type for CephFS GID. Rook was using
int, which was causing failures when the GID overflowed Rook's type.
Update Rook's type to match Ceph's.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 5b27189ac4)
2025-04-10 18:58:12 +00:00
Peter Razumovsky 7189207c70 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:14 +00:00
parth-gr 37e415f305 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:18 +00:00
Travis Nielsen 01c7a10f60 Merge pull request #15667 from rook/mergify/bp/release-1.16/pr-15634
osd: fix pdbs in case of node drain (backport #15634)
2025-04-07 13:21:50 -06:00
Santosh Pillai de497cdb7b 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 11:26:18 -06:00
subhamkrai 26b1593fe1 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 11:09:08 -06:00
Blaine Gardner 62dc7f778b 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:40 +00:00
Michael Adam b27dee9f4f 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:36 +00:00
Santosh Pillai fa77b4db20 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>
(cherry picked from commit a816b4a971)
2025-03-26 16:05:16 +00:00
Joshua Hoblitt 4d315134aa 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>
(cherry picked from commit dcf0a57d11)
2025-03-25 19:13:03 +00:00
Madhu Rajanna 7a98540d2f core: dont overwrite err incase of stderr
dont overwrite err incase of stderr

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 9eb218f848)
2025-03-14 15:52:16 +00:00
yati1998 88e00b54fc 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>
(cherry picked from commit 762430ccb5)
2025-03-10 11:33:54 -06:00
Travis Nielsen 2355fddf4d Merge pull request #15489 from rook/mergify/bp/release-1.16/pr-15426
object: allow overriding rgw config value from secret (backport #15426)
2025-03-05 13:51:01 -07:00
Patryk Rostkowski cf817c1133 exporter: add missing rook-ceph-exporter container port definition
Adds the missing exporter container port to enable
proper Prometheus scraping and filtering.

Signed-off-by: Patryk Rostkowski <patrostkowski@gmail.com>
(cherry picked from commit fda1189dbf)
2025-03-05 15:07:17 +00:00
Artem Torubarov 7752b7b185 object: change log level for config from secret
Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
(cherry picked from commit 81d0f69aae)
2025-03-03 14:54:10 +00:00
Artem Torubarov df3de45948 object: allow overriding rgw config value from secret
Implements #15422
Extends existing ObjectStore configuration options with
rgwConfigFromSecret allowing to refer config value from
kubernetes secret.

Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
(cherry picked from commit 3b2e6f5bf6)
2025-03-03 14:54:10 +00:00
Travis Nielsen 13ac9625b1 mgr: wait for builtin mgr pool to exist before enabling stretch
There is a race condition in ceph v19 at startup of a
stretch cluster where if the .mgr pool is created by
the mgr pod after stretch mode is entered, the
devicehealth mgr module will crash and cause a
ceph HEALTH_ERR. The error then causes rook reconcile
of all CRs to be skipped because Rook is assuming
admin intervention is needed to continue. The fix
is to wait until the .mgr pool is created by the mgr
pod before entering stretch mode.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 8429affc79)
2025-02-27 17:02:58 +00:00
Travis Nielsen 2ada876727 core: suppress mgr module health errors during reconcile
Some ceph health errors should not block the reconcile
of the cluster. Mgr modules do not have cause to block
the reconcile, as the cluster can usually work even
if a module is failing.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 3bd5881fe5)
2025-02-27 17:02:58 +00:00
Blaine Gardner af0f4d3a6f Merge pull request #15467 from rook/mergify/bp/release-1.16/pr-15456
build(deps): bump github.com/go-jose/go-jose/v4 from 4.0.4 to 4.0.5 (backport #15456)
2025-02-26 10:31:14 -07:00
dependabot[bot] 8822665363 build(deps): bump github.com/go-jose/go-jose/v4 from 4.0.4 to 4.0.5
Bumps [github.com/go-jose/go-jose/v4](https://github.com/go-jose/go-jose) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/go-jose/go-jose/releases)
- [Changelog](https://github.com/go-jose/go-jose/blob/main/CHANGELOG.md)
- [Commits](https://github.com/go-jose/go-jose/compare/v4.0.4...v4.0.5)

---
updated-dependencies:
- dependency-name: github.com/go-jose/go-jose/v4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit 40a2c03e38)
2025-02-26 09:59:53 -07:00
parth-gr fac78dd09f mds: fix mds liveness probe
mds liveness probe call ceph cmd with mons and keyring,
but ceph actually looks for the ceph keyring at default folder
first and then use the cmd line keyring path,
So to avoid that use ceph_args env variable to expose the keyring
folder path,
Workaround for https://tracker.ceph.com/issues/70167

closes: https://github.com/rook/rook/issues/15373

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 0999cf9b56)
2025-02-26 16:09:41 +00:00
Travis Nielsen f5ac59c0a0 core: implement operator settings as env vars
The operator settings loaded from the configmap have proven
inefficient for load time and frequently checking the configmap.
To avoid this ineffenciency, the configmap is only loaded once
each time it is created or updated. The values in the configmap
are applied as environment variables, which then are very efficient
to query throughout the various controllers, without needing
to be concerned about loading the configmap again.

Co-authored-by: Dmitry Mishin <dmitry.mishin@gmail.com>
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit d109dc9029)
2025-02-25 11:33:57 -07:00
Skala Networks f9e6b1d76c csi: bind cephfs and rbd provisionners on non-colliding ports for hostNetwork setups
Signed-off-by: Skala Networks <contact@skala.network>
(cherry picked from commit d3c3d25c60)
2025-02-24 19:08:38 +00:00
Travis Nielsen 61b79d0cf5 osd: enable osd ok-to-stop checks on single node for three osds
If there are at least three OSDs on a single node, we should
treat it as a potential production cluster and perform
the ok-to-stop checks during reconcile. Otherwise,
it may cause instability during upgrades on
single-node clusters.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit e068e156ce)
2025-02-20 19:53:15 +00:00
Steven Fackler 5a7df72327 osd: avoid lvm device scan deadlock in activate
If a locally mounted volume is blocked on reads because this OSD is
down, lvs will deadlock trying to read from it. To avoid this, tell LVM
to filter out RBD volumes from its scanning process.

Signed-off-by: Steven Fackler <sfackler@gmail.com>
(cherry picked from commit bbe600aa20)
2025-02-17 18:30:43 +00:00
Blaine Gardner 786a6bc017 nfs: workaround broken nfs-ganesha config parser
NFS-Ganesha introduced a breaking change in its config parser that no
longer accepts single quotes around values. This seems to be working for
most Ceph release images, but this was seen in at least one dev build of
Ceph.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 55d1a86755)
2025-02-13 16:52:04 +00:00
Artem Torubarov f3f556399e operator: custom hostname topology label
Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
(cherry picked from commit 25ee6b4f59)
2025-01-30 16:44:43 +00:00
mergify[bot] 6d4c702ee6 Merge pull request #15321 from rook/mergify/bp/release-1.16/pr-15184
operator: improve operator error logging for ok-to-stop failures (backport #15184)
2025-01-24 16:11:36 +00:00
mergify[bot] 6320e78942 Merge pull request #15320 from rook/mergify/bp/release-1.16/pr-15309
operator: log mon db config values with trace lvl (backport #15309)
2025-01-24 15:21:00 +00:00
Oded Viner 790508a1fc operator: improve operator error logging for ok-to-stop failures
this PR improves the error logging when ok-to-stop requests fail
in the Rook operator. Instead of only showing a generic exit status

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit 3d7f5cff65)
2025-01-24 15:14:21 +00:00
Artem Torubarov fd4fbbbf49 operator: log mon db config values with trace lvl
log applied mon store config values with trace lvl for debug purpose

Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
(cherry picked from commit 58febcbeab)
2025-01-24 14:56:16 +00:00
Steven Fackler 69920a3a29 rgw: fix error handling for secret lookup
Get will return a non-nil pointer even in the error case.

Signed-off-by: Steven Fackler <sfackler@gmail.com>
(cherry picked from commit 6935dfdc47)
2025-01-24 06:37:10 +00:00
Joshua Hoblitt 3bc1597e7c object: add obc bucketLifecycle
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit a55fdb3fbe)
2025-01-22 17:20:38 +00:00
Joshua Hoblitt d15f25fcac ci: codespell: s/re-using/reusing/
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit f52f48c477)
2025-01-21 23:01:09 +00:00
Santosh Pillai 682c2fabfb osd: use bluestore if store type is empty
If store type is empty in the cephCluster spec, use bluestore

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit e44dd3ad74)
2025-01-16 20:34:23 +00:00
Travis Nielsen eb3995a217 Merge pull request #15287 from rook/mergify/bp/release-1.16/pr-15270
operator: omit values from mon db config logs (backport #15270)
2025-01-16 13:25:02 -07:00
Artem 6c77505e91 operator: omit mon db config value log
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
(cherry picked from commit db88970641)
2025-01-16 18:30:29 +00:00
Artem Torubarov 4461cb96ea operator: omit values from mon db config logs
Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
(cherry picked from commit a44ae0fdc6)
2025-01-16 18:30:29 +00:00
Oded Viner b3606dcbf6 core: add tolerations to crashcollector pruner cronJob pod
This PR addresses an issue where the CrashCollector Pruner
CronJob pods were stuck in a Pending state due to missing
tolerations in their PodTemplateSpec.
These tolerations were not being propagated from the
cephClusterSpec.placement.all field.
Added tolerations to the PodTemplateSpec of the
CrashCollector Pruner CronJob.

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit 8817a1a703)
2025-01-16 17:01:00 +00:00
Niels de Vos bf54ae166f csi: update Kubernetes CSI sidecar images to current versions
The Kubernetes CSI sidecars have had several releases that were not
included in deployments by Rook yet, update them to the versions that
are available today:

- csi-node-driver-registrar:v2.13.0
- csi-provisioner:v5.1.0
- csi-attacher:v4.8.0
- csi-resizer:v1.13.1

Signed-off-by: Niels de Vos <ndevos@ibm.com>
(cherry picked from commit 955fa9cae4)
2025-01-15 17:01:31 +00:00
Travis Nielsen 6c1bb750e5 csi: set driver name to same as the operator namespace
The operator namespace is where the csi driver resources
are being created. The prefix is expected to match the
namespace where the driver is being created.
It was an incorrect change from 15245 where it
had been assumed that the cluster prefix name was
required instead.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit f9ebaf3418)
2025-01-14 16:14:01 +00:00