Commit Graph
4540 Commits
Author SHA1 Message Date
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
Travis Nielsen 8c2ee6770c csi: set correct driver name with csi operator
When the cluster is in a different namespace from the rook
operator, the csi provider name was setting the incorrect
namespace prefix. Now the prefix will be the same as the
ceph cluster namespace.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit ac1767fa0f)
2025-01-09 06:57:00 +00:00
Travis Nielsen 02c0e8448d core: remove unnecessary param to watch namespaces
Cleanup obsolete code where the context no longer needs
to be passed as a parameter to determine the namespaces
to watch.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 82c82bbe13)
2025-01-09 06:56:59 +00:00
Santosh Pillai e1f22fbe22 ci: update golang.org/x/net to 0.33
fixes the high severity DOS vulnerability mentioned in
https://security.snyk.io/vuln/SNYK-GOLANG-GOLANGORGXNETHTML-8535262

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit c4bf5637d2)
2025-01-03 14:32:24 +00:00
Denis Egorenko f15fa4ed49 mgr: fix label selector when updating mgr active label
Fix label selector for watch-active mgr container: during update active mgr label,
add missed app=rook-ceph-mgr label, to avoid setting label for mon pod.

Resolves: #15208
Signed-off-by: Denis Egorenko degorenko@mirantis.com
(cherry picked from commit 009a0d9f6f)
2024-12-20 17:28:42 +00:00
Steven Kreitzer 477b7fd0f4 csi: csi-snapshotter flag typo; upgrade csi-snapshotter
Signed-off-by: Steven Kreitzer <skre@skre.me>
(cherry picked from commit 463d9fb420)
2024-12-18 15:39:21 +00:00
Blaine Gardner fba91ba6f5 test: ignore rgw cli flag order in unit test
In the unit test that ensures `rgwCommandFlags` works properly, ignore
the ordering of the flags. Golang maps are used underneath, which
results in random flag ordering. This is fine as long as the
`rgwCommandFlags` are still guaranteed to be appended to the args Rook
normally applies.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 37c3cc9fba)
2024-12-17 19:42:37 +00:00
Travis Nielsen d61c516005 Merge pull request #15186 from rook/mergify/bp/release-1.16/pr-14646
add rgw ops sidecar for op logs (backport #14646)
2024-12-17 11:30:21 -07:00
Blaine Gardner 68eff7b591 test: fix flaky object config unit test
Use testify/assert.Equal() to compare maps. Comparing string
representations of maps is supposed to be stable but is flaking in GH
actions CI.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 92c95fcc16)
2024-12-17 17:36:37 +00:00
Deepika Upadhyay b8f4c920e4 object: add rgw ops sidecar for op logs
the rgw operations for s3 can now be accessible using sidecar
rgw-ops-log availabe in json form that can be further filtered logging
for observability, this will set the rgw_enable_ops_log setting

Signed-off-by: Deepika Upadhyay <deepika.upadhyay@clyso.com>
(cherry picked from commit c5d27467d6)
2024-12-17 17:36:14 +00:00
Blaine Gardner 95764f590b object: allow overriding rgw configs and flags
Implement #15119

Allow users to override RGW configurations by specifying Ceph config
options in the CephObjectStore. For configurations that require RGW to
be restarted when the config is applied, allow configs to be specified
as CLI arguments to the RGW as well.

This is an advanced option and is documented as such. Users should be
careful to understand the values they are setting, as there is no
validation to prevent the object store from breaking when these configs
are used.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit aaa16488de)
2024-12-16 22:30:48 +00:00
Travis Nielsen a277f52233 test: add new default fields to csi unit test
With the updated dependencies, the csi unit tests
require new default fields in the comparison of the
json test blob.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 2fdf173ddf)
2024-12-16 14:47:43 -07:00
Michael Adam cab7723632 build: update api go module dependencies
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit c8a1bb21f6)
2024-12-16 14:47:36 -07:00
Travis Nielsen cef7f2c868 Merge pull request #15173 from rook/mergify/bp/release-1.16/pr-14456
external: fix exporter secret isn't created with external cluster (backport #14456)
2024-12-16 11:49:52 -07:00
Travis Nielsen 0ba187c3ae Merge pull request #15159 from rook/mergify/bp/release-1.16/pr-15138
object: add bucketPolicy to obc (backport #15138)
2024-12-16 11:29:38 -07:00
Yaguang Tang d85e6c7a6b external: fix exporter secret isn't created with external cluster
Fix the issue when using with external ceph cluster, ceph exporter
secret isn't created which cause ceph-exporter fail to run. By
default this option is false means ceph-exporter will run for
external cluster.

monitoring
  metricsDisabled: false

This patch also adds metricsDisabled option to helm values.yaml.

fixes #14275

Signed-off-by: Yaguang Tang <heut20008@gmail.com>
(cherry picked from commit 1563d32fbb)
2024-12-16 17:59:45 +00:00
Michael Adam ec968c2085 core: add function roundupSizeMiB
This change  refactors inline roundup code to a function
roundup_size_MiB that takes a size(in bytes) as argument and returns
the smallest number of Mibibytes larger than or equal to the given size.

Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 26b4fb06d5)
2024-12-16 16:12:24 +00:00
Michael Adam 3bb6380947 ci: update golangci-lint to the latest version (v1.62)
The ci was using a pretty old version og golangci-lint.
This updates to the latest version.

Additionally, it  silences some
gosec integer conversion overflow false positves
and fixes some real errors of this category
 and string format errors found by golangci-lint, while at it.

Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit df511fb58f)
2024-12-16 16:12:24 +00:00
Joshua Hoblitt fa9da8f12a object: add obc bucketPolicy
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 97b904c717)
2024-12-12 21:37:30 +00:00
Joshua Hoblitt 40e5026b26 object: add httpClient param to object.NewS3Agent()
To allow the caller to pass in their own transport when testing.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 57b7eeec80)
2024-12-12 21:37:28 +00:00