Commit Graph
975 Commits
Author SHA1 Message Date
Santosh Pillai 1880856e8e osd: clean osd disks before reinstalling cluster
Allow force creation of OSD on a device previously configured in a different ceph cluster.
The OSD prepare pod job will zap the OSD disk using ceph-volume lvm zap
if that disk has metadata from a different ceph cluster.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit 2bcf196b15)
2025-06-09 08:34:33 +00:00
Michael Adam c4a8f32cb2 build: update the release version to v1.17.4
For the patch release update the docs and examples
to v1.17.4

Signed-off-by: Michael Adam <obnox@samba.org>
2025-06-05 13:56:10 -06:00
Juri Malinovski 480a7dcc16 helm: add custom labels for toolbox deployment
Allow to assign custom labels for toolbox deployment. Some audit policies require specific labels for all kubernetes objects.

Signed-off-by: Juri Malinovski <juri.malinovski@coolbet.com>
(cherry picked from commit cc7e6b328b)
2025-06-02 22:02:15 +00:00
parth-gr e48915a820 nfs: fix nfs short name
nfs short name and crd name was same
which was conflicting,
remove the short name cephnfs as it can
be already called by the crd name

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 9a0490982e)
2025-06-02 08:59:54 +00:00
Travis Nielsen 03e5653e40 build: update the release version to v1.17.3
For the patch release update the docs and examples
to v1.17.3

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-05-30 12:40:44 -06:00
synthe102 081433acee helm: quote object store ingress host
This change allows to use wildcard for object ingress configuration.
Allows to use virtual-host style bucket URLs with ingress.

Signed-off-by: synthe102 <leonard@suslian.engineer>
(cherry picked from commit 81d27753f2)
2025-05-29 17:13:45 +00:00
Patryk Rostkowski 24f4b955c7 core: add short names to rook CRDs
This commit Assigns short names to all Rook CRDs
to improve kubectl usability.

Signed-off-by: Patryk Rostkowski <patrostkowski@gmail.com>
(cherry picked from commit ae6e1e0863)
2025-05-27 21:24:32 +00:00
Niels de Vos 0d57154457 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-attacher:v4.8.1
- csi-provisioner:v5.2.0
- csi-resizer:v1.13.2
- csi-snapshotter:v8.2.1

This change is important, because Ceph-CSI will implement the new
Controller.GetSnapshot CSI procedure. A bug in csi-lib-utils causes a
panic when a ControllerCapability is provided, but not (yet) known to
the CSI sidecars. The updated sidecars consume a version of
csi-lib-utils with a fix for that panic.

See-also: kubernetes-csi/csi-lib-utils#188
Signed-off-by: Niels de Vos <ndevos@ibm.com>
(cherry picked from commit a168c40008)
2025-05-20 16:29:51 +00:00
parth-gr b9e24171ab rbdmirror: fix mirroring status on pool and rn
there is a change  from ceph on how the status
of the mirroring will look like,
Adopting with new fields so the status is correctly synced,
And other components might rely on the status too

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit aa326a9419)
2025-05-15 17:10:54 +00:00
Yifeng Zhang 922f5f0b80 network: fix validation rule on provider field update
Provider validation is failing on updating from empty string to non-empty ones
which is expected to be supported. Fix the validation rule by adding one missing
condition.

Signed-off-by: Yifeng Zhang <Yifeng.Zhang@cerebras.net>
(cherry picked from commit 93ccf4c9c2)
2025-05-09 18:15:24 +00:00
Michael Adam 755ed4003f build: update release version to v1.17.2
For the patch release update the examples and docs
    to v1.17.2

Signed-off-by: Michael Adam <obnox@samba.org>
2025-05-08 18:28:52 +02:00
Travis Nielsen 44994bbd22 namespace: add conditions blocking deletion for rados namespace
When a rados namespace is deleted, it cannot be purged
until its images and snapshots are deleted. Now a condition
is being added to the rados namespace CR status so the user
does not need to read the operator log to discover the cause.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 530223c5b4)
2025-05-07 22:20:53 +00:00
Joshua Hoblitt e0ff72fafa object: fix uppercase serialization of fields in KafkaEndpointSpec
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 300a22398e)
2025-05-02 18:12:25 +00:00
Travis Nielsen 0ed5f13b4c build: update release version to v1.17.1
For the patch release update the examples and docs
to v1.17.1

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-04-23 12:25:07 -06:00
Patryk Rostkowski f88622ef7c operator: specify ceph config via secret
Adds .spec.cephConfigFromSecret to CephCluster for loading
Ceph config parameters from a Kubernetes Secret.

Signed-off-by: Patryk Rostkowski <patrostkowski@gmail.com>
(cherry picked from commit 45b0ef2104)
2025-04-23 17:54:42 +00:00
Travis Nielsen 90d5d297e6 helm: set correct release tag for helm values
The v1.17.0 release missed setting the proper helm
tag for the version to deploy of the operator.
Updating to ensure the next release will include the
correct version.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-04-18 10:45:52 -06:00
Travis Nielsen b09108dd48 build: update release version to v1.17.0
For the minor release update the examples and docs
to v1.17.0

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-04-16 13:02:17 -06:00
Joshua Hoblitt 76f4877ed9 object: add CephBucketTopic .spec.endpoint.kafka.{user,password}SecretRef
userSecretRef and passwordSecretRef fields are added to allow the Kafka
endpoint username and password to be supplied from a Kubernetes Secret,
rather than exposed as plaintext as part of the endpoint URI. If the
endpoint URI has HTTP basic auth user-id and user-pass components, they
are overridden by userSecretRef and passwordSecretRef.

Squid added bucket topic attributes for configuring the user-name and
password for pushing notifications to Kafka as an alternative to
encoding credentials into the URI. However, these attributes are not
supported under Reef. Thus, this initial implementation relies on URI
mangling for compatible with both Reef and Squid. Future work could
using Ceph version detection and switch to the new attributes to be used
with Squid and/or the implementation could be converted exclusively to
use the new attributes once Rook has dropped support for Reef.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 7887f03c5c)
2025-04-16 18:25:48 +00:00
Bryan Jones 677bba12c8 helm: add info comments to the chart values
Signed-off-by: Bryan Jones <unix.chkpwd@gmail.com>
(cherry picked from commit 04cc4ee3e4)
2025-04-15 19:22:58 +00:00
Bryan Jones 7986c365fc helm: add labels to ingress resource
Signed-off-by: Bryan Jones <unix.chkpwd@gmail.com>
(cherry picked from commit 41884a19bf)
2025-04-15 19:22:58 +00:00
Travis Nielsen 0e4d7f35c9 core: set default ceph version to v19.2.2
Update the examples and docs and operator base image to
the latest ceph release v19.2.2.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit f62e6d9cc2)
2025-04-14 19:42:24 +00:00
Rakshith R cbbee37fb1 csi: update cephcsi to latest release
This commit updates cephcsi version to 3.14.0
in rook.

Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit a555885a5f)
2025-04-14 14:23:58 +00:00
Travis Nielsen f0ce0a3ddc helm: allow specifying an ingress object store port to override default
The default object store ingress port will be set to the
securePort (if set), or the gateway port field. To override
that default, a new port field can be set on the ingress.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 5ad38cb579)
2025-04-08 23:11:42 +00:00
Travis Nielsen e23aa3c7cc helm: remove obsolete check for network v1 api
The networking.k8s.io/v1beta1 has been obsolete since
K8s 1.22, long out of the supported versions, so we
can remove those legacy checks and require the v1
networking api.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit c40477ccc2)
2025-04-08 23:11:41 +00:00
parth-gr b3fabab3bb mon: fix mon rbac for endpoint slice
a newly dynamic dns resolution code
was added by https://github.com/rook/rook/pull/15522
Fixing rbac of it, as current rbac needs
a sub resource `restricted`

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit e7dbab3513)
2025-04-04 07:09:12 +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
Blaine Gardner 4cde8b7ac1 Merge pull request #15608 from rook/mergify/bp/release-1.17/pr-14792
build: Update base operator image to squid (backport #14792)
2025-03-31 10:44:17 -06: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
Travis Nielsen a7b598e71a test: include rgw zone flags for endpoint validation
The rgw endpoint validation requires the zone flags to be passed
when the admin user is in a non-default zone.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 721fe4ff7d)
2025-03-28 20:15:16 +00:00
Travis Nielsen a06b89a0dd build: set the release version for the minor beta release
For the minor release update the docs and examples
to v1.17.0-beta.0

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-03-27 11:22:47 -06: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
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
Travis Nielsen fe70248a13 operator: set dns policy for host network if needed
When host network is enabled, the operator needs to set the
dns policy to ClusterFirstWithHostNet so the request to the
rgw endpoint will resolve properly.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-03-20 14:01:26 -06: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
Niels de Vos 25d3b6d5fc csi: update csi-addons to v0.12.0
The csi-addons v0.12.0 release is now available.

See-also: https://github.com/csi-addons/kubernetes-csi-addons/releases/tag/v0.12.0
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2025-03-05 09:35:41 +01:00
Travis Nielsen 9a5bf16247 Merge pull request #15400 from cobaltcore-dev/ext-mon-2
Implement external arbiter mon
2025-03-03 12:01:12 -07:00
Travis Nielsen 3399b712da Merge pull request #15426 from cobaltcore-dev/rgw-config-from-secret
object: allow overriding rgw config value from secret
2025-03-03 07:53:13 -07:00
Travis Nielsen 98a3d20c43 Merge pull request #15486 from parth-gr/fix-black
ci: update the python black package
2025-03-03 07:42:33 -07:00
Artem Torubarov 0b2e830111 mon: support external mons in local rook cluster
Implements #14733. Allows to set IDs of external mons to
Cluster CRD. Rook will not remove external mons from quorum
and will add external mon addresses to mon endpoints.
Use-case for external mon is to maintain quorum for 2-AZ
k8s cluster in case of zone outage.

Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
2025-03-03 14:49:39 +01:00
Artem Torubarov 3b2e6f5bf6 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>
2025-03-03 14:48:55 +01:00
parth-gr a3bde46ad3 ci: update the python black package
in the ci lint file, we use a dependency
from a 3rd party lint, which updates
the black package, The underlined python script
file was not updated to the latest formatting,
so re-format the file and update the
3rd party dependency version

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-03-03 18:48:39 +05:30
Travis NielsenandDmitry Mishin d109dc9029 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>
2025-02-24 12:12:45 -07:00
Travis Nielsen 4eed2a644f Merge pull request #15433 from SkalaNetworks/master
fix(csi-addons): bind cephfs and rbd provisionners on non-colliding p…
2025-02-24 12:06:57 -07:00