Commit Graph
55 Commits
Author SHA1 Message Date
Artem Torubarov b2c39ace25 exporter: move config to cluster CRD
allows to set prio-limit and stats-period options to ceph exporter

Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
2024-09-16 14:51:49 +02:00
Blaine Gardner afdfffac67 Merge pull request #14435 from parth-gr/osd-resize
osd: reweight osd while resizing
2024-08-20 12:14:22 -06:00
parth-gr 17cfda5bd6 osd: reweight osd while resizing
osd got resized by cryptsetup bluestore cmd
but it should also be reweight to balance the pgs properly

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

Signed-off-by: parth-gr <partharora1010@gmail.com>
2024-08-20 22:52:33 +05:30
Travis Nielsen 5014d5bcf2 core: add annotations and labels to detect version jobs
The jobs to detect the ceph and csi versions now can have
custom annotationso and labels added to them. They are
very short-lived jobs, but they may need custom annotations
in some environments to run.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-08-15 16:48:28 -06:00
Travis Nielsen e26920a483 manifest: update the ceph recommended version to v18.2.4
Since Reef v18.2.4 is released, set it to the default
ceph version that is deployed with Rook.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-07-24 11:06:09 -06:00
Travis Nielsen 88e952a3ac osd: update the device class if desired state changes
Normally the device class of an OSD is determined at provisioning
and is not updated thereafter. In some scenarios the admin may
want to force update the device class to a new value. The device
classes can be updated by first setting allowDeviceClassUpdate
in the storage spec of the cephcluster, then updating the
device class specified on the deviceSets or other OSDs.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-07-17 13:54:21 -06:00
Travis Nielsen e479b051bc osd: configure cluster full settings when osds fill up
When the clusters reach full, nearfull, or backfill full thresholds
ceph will raise health warnings and stop allowing IO or backfill
depending on the threshold. These settings require special ceph
commands instead of being generic ceph config. Allow these settings
to be set from the CephCluster CR in the spec.storage
section.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-05-30 12:10:41 -06:00
mmaoyu 6d4afe23e5 osd: add option upgradeOSDRequiresHealthyPGs
For check if cluster PGs are healthy before osd updates
Which helps gainning more confidence in the osd upgrades

Signed-off-by: mmaoyu <wupiaoyu61@gmail.com>
2024-04-11 10:30:27 +08:00
Redouane Kachach d262bf7149 mgr: enable rook orchestrator mgr module by default
previously, we had kept the Rook orchestrator manager module disabled
so far because it was causing a bunch of issues and errors on the
dashboard. But with the recent changes made in the cephv v18.2.1
release, we've fixed those issues and made some overall improvements
to the dashboard user experience when Rook is enabled. With all that
in mind, it's time to switch on the Rook orchestrator by default.

Fixes: https://github.com/rook/rook/issues/13760

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2024-03-13 17:03:11 +01:00
Travis Nielsen c409a6ae46 Merge pull request #13902 from rkachach/fix_issue_13774
exporter: applying labels from monitoring section to ceph-exporter
2024-03-13 08:07:58 -06:00
Redouane Kachach ab5b269bc4 doc: adding a doc example for ceph-exporter labels
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2024-03-12 17:25:46 +01:00
Travis Nielsen 026d745f8a core: set default ceph version to v18.2.2
With the release of Reef v18.2.2 we update the default
recommended version of Ceph to fix the prometheus issues
seen with v18.2.1

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-03-11 11:06:59 -06:00
travisn 27265ff279 helm: remove cpu limits from all pods
When CPU requests and limits are assigned to a pod,
the pod will be guaranteed the requests, up to the limits.
Even if there are spare CPU cycles, the pod cannot use
them. Thus, pods can be unnecessarily denied compute
when they need to burst if the limits are set.

Therefore, it is not recommended to set CPU limits
since the CPU requests are already guaranteeing that
no pod will be starved at least for its requests.

Signed-off-by: travisn <tnielsen@redhat.com>
2024-02-07 17:36:59 -07:00
travisn f0c30e2edb manifest: remove pg_autoscaler from mgr modules examples
The pg_autoscaler mgr module is no longer possible to disable.
Ceph requires the module to always be enabled. Now the
autoscaling configuration is done with a per-pool setting.

Now the rook module is shown as an example to enable.

Signed-off-by: travisn <tnielsen@redhat.com>
2024-01-19 14:26:41 -07:00
travisn 56a3370d83 docs: update all examples to ceph v18.2.1
Since v18.2.1 is the default recommendation for the ceph version,
update all the docs and examples to that version.

Signed-off-by: travisn <tnielsen@redhat.com>
2024-01-03 14:37:11 -07:00
Blaine Gardner 01d7b22cf1 build: update base and manifests to ceph v18.2.1
Update Rook operator base image and example manifests to the latest Ceph
version released late last week v18.2.1.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2023-12-18 11:27:52 -07:00
Blaine Gardner 0db942eb52 doc: update example manifests to ceph v18/v18.2.0
Update sample manifests to use Ceph v18 or v18.2.0 as appropriate now
that Reef is found to be stable.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2023-12-08 14:18:47 -07:00
Blaine Gardner 685a60ed76 docs: remove lingering notes about required quincy ver
Remove some lingering notes stating that features require Ceph Quincy.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2023-12-08 14:15:51 -07:00
Rakshith R 59cb0dd4bf csi: add CSIDriverOptions section in cephCluster CR
This commit adds new CSIDriverOptions section in
cephCluster CR. This section contains settings
for read affinity and kernel+fuse Mount options
These settings will be injected directly into
rook-ceph-csi-config cm to be applicable per
ceph cluster.

Signed-off-by: Rakshith R <rar@redhat.com>
2023-11-29 19:34:28 +05:30
travisn 03d077aa6b core: remove support for ceph pacific
Pacific is end of life and no longer necessary to
support in Rook with v1.13.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-11-14 17:07:03 -07:00
Redouane Kachach c763935436 mgr: adding support for prometheus endpoint configuration
Using the new configuration parameters prometheusEndpoint and
prometheusEndpointSSLVerify users can configure dashboard to
point to their prometheus instance.

closes: #12876

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-09-27 11:07:18 +02:00
sp98 4eb9f62205 osd: make osd pod to sleep when osds are flapping
When OSDs flap, ceph stops the OSD daemon if its marked down greater than
5 times in 600 seconds. But OSD pod restarts and marks the OSD `up` again.
This causes the PGs mapped to these OSDs to peer. While the PGs are peering,
IO to these PGs are blocked.

So we need to ensure that if ceph is marking OSD `down` due to flapping, OSD pod
should not restart to mark the OSDs `up` again.

This PR adds a sleep to the OSD pod if the container returned with a 0 exit code
Default behavior is to sleep for 6 hrs. But user can configure it from the
ceph cluster spec.

Signed-off-by: sp98 <sapillai@redhat.com>
2023-09-15 22:59:46 +05:30
Micah Nagel 0ff224d453 helm: update docs to reflect reef support
some helm comments incorrectly indicate ceph v18 is not supported

Signed-off-by: Micah Nagel <micah.nagel@defenseunicorns.com>
2023-09-08 12:11:58 -06:00
Alexander Trost 178c916012 helm: add exporter resource entry to ceph cluster
This adds the new `exporter:` resource key to the Ceph cluster example
yaml. It also set some sane resource requests and limits for it in the
CephCluster section of the rook-ceph Helm chart.

Closes #11914

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2023-05-30 17:54:49 +02:00
travisn 92a0ab37e3 monitoring: configurable option to disable prometheus metrics
The prometheus mgr module and ceph exporter can now be optionally
disabled by the monitoring.metricsDisabled setting in the
CephCluster CR. These will not be disabled by default, rather
than the mgr module being disabled by default from v1.11.4.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-05-05 16:04:51 -06:00
travisn db04b127b0 core: remove obsolete journal size config value
The journal size was only applicable to the filestore OSD
format which has not been supported by rook since v1.2.
Remove the remaining obsolete setting from the examples and
code.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-04-24 15:54:53 -06:00
travisn 609ac91cb1 core: update default image to ceph v17.2.6
With the release of ceph v17.2.6, the examples and the base
image for the operator are updated to pick up the latest
and greatest.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-04-11 14:07:11 -06:00
Redouane Kachach 456a0c328c Revert "mgr: remove mgr sidecar"
This reverts commit ff75ec96b7.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-03-07 13:12:50 +01:00
gauravsitlani 75ec7bffc0 manifest: fix whitespace issues
Signed-off-by: gauravsitlani <gauravsitlani@riseup.net>
2023-03-01 18:05:30 +05:30
sp98 dd941de241 core: multiClusterService API spec changes
Add API changes for export services to peer cluster

Signed-off-by: sp98 <sapillai@redhat.com>
2023-02-27 21:05:48 +05:30
Redouane Kachach ff75ec96b7 mgr: remove mgr sidecar
With the new mgr HA implementation (based on readiness probe) we
don't need the mgr sidecar (live-watch) anymore. This commit is
intended to remove all the related code.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-02-21 17:25:39 +01:00
Travis Nielsen a4f71baf8a core: option to require msgrv2 even without encryption
Enabling msgr v2 and disabling msgr v1 currently requires enabling
either encryption on the wire or compression on the wire.
As more clients are running on the latest kernel, allow
the clients to run on v2 even when encryption and compression
are not enabled. Clusters that are fully running on v2
will more easily be able to change configuration between
enabling or disabling msgr v2 features.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2023-02-10 09:45:57 -07:00
Travis Nielsen 25ac236b5c core: remove support for machine disruption budgets
The machine disruption budgets for handling openshift
machines and machinesets are now removed since they
have been unused and unmaintained since implemented.
This feature is expected to be handled with the more
common Pod Disruption Budgets. A workaround is for the
cluster admin to set up their machine sets so they
match the zone topology. See the original design
doc from the feature here:
https://github.com/rook/rook/blob/master/design/ceph/ceph-openshift-fencing-mitigation.md

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-12-16 11:15:12 -07:00
subhamkrai 270b565f18 core: upgrade ceph to latest release v17.2.5
Signed-off-by: subhamkrai <srai@redhat.com>
2022-10-26 19:59:53 +05:30
gauravsitlani cc02399c4c core: enabling logCollector by default for coredump
enabling logCollector by default will enable the coredump
generation in case a process terminates with a segmentation fault.

Signed-off-by: gauravsitlani <gauravsitlani@riseup.net>
2022-10-19 23:04:22 +05:30
Travis Nielsen f02fadc531 manifest: update default version of ceph to v17.2.3
For the Rook v1.10 release we want the latest version of Quincy to
be the default deployment. Updating to v17.2.3 with the latest
patch release.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-08-11 16:55:03 -06:00
subhamkrai 62f73dcd98 core: add support to rotate log based on logfile size
this commits add new field `MaxLogSize` inside `LogCollectorSpec` of
cephCluster cr which will take max size of log after which we want to
rotate the log.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-07-26 13:06:39 +00:00
Josh Soref 6e7b8767f3 core: fix spelling
* another
* are
* availability
* available
* bootstrap
* boundaries
* ceph
* certificate
* class
* codifies
* consuming
* corrupted
* createor
* csi
* deployments
* exceeded
* execute
* filesystem
* healthiness
* heuristics
* immediately
* insecure
* installed
* isolated
* maintained
* maximum
* minute
* monitor
* new
* nginx
* nonexistent
* not
* occurs
* omitempty
* operator
* orchestration
* persistentvolumes
* placement
* preexisting
* prometheus
* protecting
* provisioner
* purposes
* reconcile
* regex
* related
* requests
* returns
* rubbish
* running
* schedulable
* schedule
* serviceaccount
* simulating
* snapshots
* statement
* static
* tenants
* the
* unavailable
* volumeattachment
* waiting
* with
* wrapper
* zonegroup

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-07-07 18:10:47 -04:00
Travis Nielsen dad97f3425 core: remove support for ceph octopus
With octopus coming to end of life, we remove support from
Rook for deploying Ceph Octopus and assume a min version of
Pacific v16. Any checks for octopus or earlier are removed
from the reconciles since they are obsolete.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-07-07 15:03:26 -06:00
Travis Nielsen eb08b009ba build: update to latest quincy release 17.2.1
With the latest quincy release, we update the operator base image
and examples to use 17.2.1

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-06-24 15:57:19 -06:00
parth-gr 38dcf09843 build: update examples and base image to use ceph v17.2.0 quincy version
The operator base image has been changed to
ceph v17.2.0 quincy release version `quay.io/ceph/ceph:v17.2.0`

Closes: https://github.com/rook/rook/issues/10140
Signed-off-by: parth-gr <paarora@redhat.com>
2022-06-07 12:55:47 +05:30
Travis Nielsen 832cebc4c1 Merge pull request #10349 from subhamkrai/doc-latest-change
docs: update doc path according to new doc change
2022-06-01 09:25:44 -06:00
subhamkrai 49a35a9311 docs: update doc path according to new doc change
we need to update the referred doc path
according to our latest doc change.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-06-01 20:17:44 +05:30
Kim Minjong 8f713e22dc docs: add prepareosd to placement
Add prepareosd entry to cluster.yaml docs.
Add prepareosd as an example of placement (commented out)

Signed-off-by: Kim Minjong <make.dirty.code@gmail.com>
2022-06-01 21:13:03 +09:00
Travis Nielsen fb86955f01 core: examples set default priority class names
By default, we should set the priority class to one of the built-in
priority class names to ensure that pods critical to the storage
will be able to remain running when resources are low. Otherwise,
critical rook pods could be evicted and affect many other pods
that rely on the storage to continue functioning. The options have
been available in the CRs, but until now we have just not set the
defaults in the examples. Critical rook components are now set to
the priority class system-node-critical if they are generally pinned
to a node, and system-cluster-critical if they are critical to the storage.
Some pods such as the operator and crash collector do not have a
default priority class set in the examples since they don't affect
the data path.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-04-19 16:09:34 -06:00
Travis Nielsen 4edcff04f7 monitoring: create prometheus rules with helm chart
The prometheus rules had been previously created if the cephcluster CR
setting monitoring.enabled was set to true. The rules were not customizable
and therefore not flexible enough. Now the rules are installed by the helm
chart. To customize the rules, a post-processor can be applied to the helm
chart.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-21 14:47:52 -06:00
Travis Nielsen 03c7164b15 mon: options for enabling msgr2 encryption and compression
msgr2 allows for encryption and/or compression across the wire.
Settings for enabling the encryption and compression are now
available in the cluster CR to that ceph will be automatically
configured with these settings when desired.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-10 11:50:42 -07:00
Travis Nielsen bc9914e99d mgr: set the default count of mgr daemons to 2
To ensure the mgr is not the single point of failure, the mgr
daemon count is now set to 2 by default in the cluster examples.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-02 13:35:05 -07:00
Travis Nielsen a98678585a build: update ceph base image to v16.2.7-20220216
The latest ceph image should be used for the base of
the rook image to pick up the latest security releases.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-02-28 11:21:49 -07:00
Blaine Gardner d0d83edc5f Merge pull request #9502 from cybozu-go/core-support-priority-class-for-crashcollector
core: support priority class for crashcollector
2022-01-19 10:38:29 -07:00