Commit Graph
820 Commits
Author SHA1 Message Date
Santosh Pillai 2bfd7c42bc ceph: cleanup cluster.Spec.DataDirHostPath on cluster deletion
In order to ensure proper clean up of all the rook-ceph data when the cluster is deleted, we need to clean up the dataDirHostPath (var/lib/rook)

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2020-03-30 19:36:01 +05:30
Elise Gafford 2ca0d8f93d ceph: add cleanupPolicy to cephcluster spec
In order to perform full automation of cephcluster deletion safely
and protect against catastrophic data loss, the end user must be
able to signify that they intend to irrecoverably delete the data
in their cluster. The cleanupPolicy field of the cluster spec is
intended to communicate this. This patch does not implement
automated deletion, but only creates the spec field and the
safety feature of halting orchestration other than deletion on a
cluster with a set cleanup policy value.

Partially-fixes: #3222
Signed-off-by: Elise Gafford <egafford@redhat.com>
2020-03-30 19:11:54 +05:30
Satoru Takeuchi bb83122d18 ceph: fix a wrong comment
"comment" here should mean the comments of `pg_autoscaler`
in cluster/examples/kubernetes/ceph/cluster.yaml. However, it's
ambiguous. It's straightforward to use "add".

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-03-25 10:37:05 +00:00
Travis Nielsen da3bf49b61 Merge pull request #5043 from cybozu-go/remove-unnecessary-napespace-fields
remove unnecessary namespace fields
2020-03-20 17:18:21 -06:00
Paul Catinean 6cd49153ad ceph: mention helm upgrade path for csi driver
Update documentation to mention helm chart upgrade path for csi driver.

This prevents the user from manually applying the RBAC roles when the helm chart does it for him also notifies him where to set the images for CSI in the helm chart.

Signed-off-by: Paul <paulcatinean@gmail.com>
2020-03-19 18:07:33 +01:00
Sébastien Han 84dccb0d2c Merge pull request #5044 from travisn/monitoring-openshift-doc
Document monitoring namespace for OpenShift
2020-03-19 15:07:37 +01:00
Travis Nielsen a988dd23ae ceph: document monitoring namespace for OpenShift
OpenShift requires the monitoring to be bound to the openshift-monitoring
namespace instead of the rook default

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-18 11:55:07 -06:00
Satoru Takeuchi a5ea2858c9 manifests: remove unnecessary namespace fields
There are many namespace fields in ClusterRole{,Binding}. However,
ClusterRole{,Binding} are not namespaced. So we can remove these.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-03-18 15:58:31 +00:00
Birk Bohne 340ba66959 ceph: LVM infos for RancherOS added to Ceph docs
- RancherOS does not activate logical volumes during boot by default
- This breaks the Ceph OSD recovery, because the LV will not be found
- This Ceph docs update describes the needed RancherOS change

Closes: https://github.com/rook/rook/issues/5027
Signed-off-by: Birk Bohne <birk@batchworks.de>
2020-03-18 15:26:15 +01:00
Travis Nielsen 8c2c257b34 Merge pull request #4984 from moricho/gomodules
Move to Go Modules
2020-03-17 13:26:11 -06:00
moricho 2beb731a7e go: move to gomodules
This switches Rook to use `go mod` instead of `dep` for
dependencies management.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-17 16:47:53 +09:00
Travis Nielsen cd4c77fa7d docs: update ceph toolbox to match example yaml
The ceph toolbox no longer needs mounts to /dev and /udev. The
docs had not previously been updated with this change.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:15:44 -06:00
Travis Nielsen a251959061 docs: restructure prerequisites and clarify ceph docs
The docs were in need of some restructuring wrt prerequisites. They
were mingled with general k8s and Ceph requirements. For clarity,
we need to separate the ceph prereqs from general k8s requirements.

There is now only a single prereqs page. All other topics should be
found under other sections, such as specific to Ceph. Having subtopics
under the general prereqs caused users to frequently not even notice
the main prereqs topic.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:15:44 -06:00
Travis Nielsen 2c70e10bd6 docs: add cluster-on-pvc and remove cluster-minimal examples
The cluster-minimal.yaml example is more confusing than helpful. Most users
seem to think that minimal includes a fully working cluster with OSDs.

The cluster-on-pvc.yaml example is frequently used and was missing from the
examples doc.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:56 -06:00
Travis Nielsen 575a73daa9 ceph: updates from a documentation review
The documentation for Ceph configuration needed some
clarification and cleanup from options that are no longer needed
or apply.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:55 -06:00
Travis NielsenandRan Rubin 735292e8e3 ceph: flex driver is not always a prerequisite
This configuration is required when using the flex CSI driver (required for K8s 1.12
or earlier). Going forward for K8s 1.13 and newer it is recommended to use the CSI
RBD driver, making Flexvolume configuration redundant.

Co-authored-by: Ran Rubin <ranrubin@gmail.com>
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:55 -06:00
Travis Nielsen 8a19c73036 ceph: clarify docs for erasure coding
Setting up the topology for the CRUSH map was outdated in the EC doc.
Now a link to the node labels is provided for the configuration.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:52 -06:00
Sameer Kulkarni 909770a346 YugabyteDB: Add resource limits to YugabyteDB pods
Current YugabyteDB operator code creates Master and TServer pods without any resource requests/limits (specifically CPU and memory).
This causes the operator to run into soft/hard memory limit issue. The fix adds recommended resource requests and limits as defaults to the pods it creates.

Closes: https://github.com/yugabyte/yugabyte-db/issues/3884
Signed-off-by: Sameer Kulkarni <samkulkarni20@gmail.com>
2020-03-14 12:23:14 +05:30
Sébastien Han 8a14f4072a Merge pull request #4994 from CloudAndHeat/feature/improve-placement-docs
Clarify placement configuration for OSDs
2020-03-13 10:53:23 +01:00
Sébastien Han 14cb46ae39 ceph: bump to 14.2.8
Ceph 14.2.8 just got released so let's use it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-11 19:32:48 +01:00
Travis Nielsen ba07a63033 ceph: properly lookup the K8s topology labels for OSDs
The OSDs pick up on several topology labels for CRUSH hierarchy.
The GA label topology.kubernetes.io was partially implemented, but
not picked up by the OSDs. Now the OSDs will pick up both the topology
labels from pre-1.17 such as failure-domain.beta.kubernetes.io/zone
and topology.kubernetes.io/zone.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-10 12:06:34 -06:00
Jonas Schäfer d9d9216f2f docs: clarify placement configuration for OSDs
OSD placement is not controlled with the Cluster CRD placement
key, but with a storage class specific placement key. The
cluster-wide placement rules are not merged into the OSD placement
rules.

This change reflects this fact in the documentation.

[skip ci]

Closes: https://github.com/rook/rook/issues/4882
Signed-off-by: Jonas Schäfer <jonas.schaefer@cloudandheat.com>
2020-03-10 11:20:29 +01:00
Sébastien Han 9a8d539d57 ceph: use crd subressource
The .metadata.generation field is updated if and only if the value at the .spec subpath changes.
Additionally, if the spec does not change, .metadata.generation is not updated.
This is a must-have for the controller-runtime work, if we don't have
this, the generation field will always be incremented, resulting in a
endless reconcile loop.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-05 12:37:44 -07:00
Stefan Haas b3cc4aeb44 ceph: ceph-csi version detection #3824
Checks the version of the configured ceph-csi image while starting the operator. The operator will fail if the image is not supported.
Added an additional parameter to operator to disable the check e.g. to test not yet supported csi images.

Signed-off-by: Stefan Haas <shaas@suse.com>
2020-02-28 14:14:40 +01:00
Sébastien Han dab9233c8b ceph: add CRD setting for pool size 1
As of Octopus, Ceph will prevent you from creating a pool with a
replica size of 1. Allowing such pool could lead to data loss, so enable
the new option: requireSafeReplicaSize: false if you are **ABSOLUTELY**
certain that is what you want.

Closes: https://github.com/rook/rook/issues/4889
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-25 16:28:58 +01:00
Travis Nielsen e35939b26c ceph: bump ceph version to v14.2.7
The ceph/ceph:v14.2.7 image is released so we can pick these fixes
up as the recommended version of ceph.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-02-20 11:06:40 -07:00
Alexander Trost 02674b851b docs: fix CephCluster PVC based example
The `cephVersion` was missing in the PVC based Ceph Cluster example.
Otherwise the Ceph Cluster would fail to be created due to no Ceph
version being specified.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-02-14 11:59:14 +01:00
Sébastien HanandSean Micklethwaite b04e35dab5 ceph: add support for disk selection by full path
Rook-Ceph now supports specify device by their fullpath instead of links
created by the kernel like /dev/sdb.

Closes: https://github.com/rook/rook/issues/1228
Co-authored-by: Sean Micklethwaite <sean@wayve.ai>
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-13 17:31:38 +01:00
Sébastien Han c08c3ced05 ceph: add support for metadata PVC for OSD on PVC
We now support the addition of the PVC that acts as a metadata device
for a given OSD.
For this, you need to create a new `volumeClaimTemplates`, its name must
be "metadata" otherwise, Rook won't pick it up.

A template will look like this:

```
volumeClaimTemplates:
- metadata:
    name: data
  spec:
    resources:
      requests:
        storage: 10Gi
    # IMPORTANT: Change the storage class depending on your environment (e.g. local-storage, gp2)
    storageClassName: gp2
    volumeMode: Block
    accessModes:
      - ReadWriteOnce
- metadata:
    name: metadata
  spec:
    resources:
      requests:
        storage: 6Gi
    # IMPORTANT: Change the storage class depending on your environment (e.g. local-storage, gp2)
    storageClassName: gp2
    volumeMode: Block
    accessModes:
      - ReadWriteOnce
```

We now map block and block.db directly inside the container instead of
running ceph-volume activate. This is much cleaner.

Closes: https://github.com/rook/rook/issues/3852
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-11 17:30:02 +01:00
Sébastien Han cface95317 ceph: ability to set target_size_ratio
target_size_ratio is used the tell the Ceph cluster the excepted
occupancy of a pool in the cluster.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-06 09:13:47 +01:00
Sébastien Han 6fe945c347 Merge pull request #4802 from cybozu-go/ceph-add-high-cpu-load-and-hang_task-problem-in-common-issues
Ceph: Add an rbd hang up problem in the common issues
2020-02-04 10:03:08 +01:00
Satoru Takeuchi bca6d1f4b1 Ceph: Add an rbd hang up problem in the common issues
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-02-04 00:40:09 +00:00
Alexander Trost 3772cb0cca docs: Sort flexvolume docs, update for kubespray (#4747)
docs: Sort flexvolume docs, update for kubespray
2020-02-03 20:37:44 +01:00
Travis Nielsen 3c0dd7bf91 Merge pull request #4764 from umangachapagain/openshift-common-issues
Ceph: adds openshift common issues documentation
2020-02-03 12:17:50 -07:00
Maksim Nabokikh 7dc9ec1191 cassandra: JMX prometheus exporter
Export prometheus metrics for cassandra in sidecar container

Signed-off-by: Maksim Nabokikh <maksim.nabokikh@flant.com>
2020-02-03 11:40:38 +04:00
Travis Nielsen 57fb7cda2e Merge pull request #4714 from Madhu-1/log-level
CSI: Add LogLevel for csi templates
2020-01-31 11:54:32 -07:00
Sébastien Han 720c06cfec Merge pull request #4791 from galexrt/pickup_3689
doc: fix CephFS CSI StorageClass name
2020-01-31 14:18:13 +01:00
Alexander Trost a4f9981d83 doc: fix CephFS CSI StorageClass name
This fixes the StorageClass name example and doc to be `rook-cephfs`
instead of just `csi-cephfs`.

Closes #4130.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-01-31 11:49:35 +01:00
Madhu Rajanna 48a6e493e8 CSI: Add LogLevel for csi templates
Currently there is no option to turn on and off the
log level verbosity in csi containers, This PR adds
the functionality to select logging levels for csi containers.

Fixes: #4690

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-01-31 15:04:11 +05:30
Umanga Chapagain b08b523c2a Ceph: adds openshift common issues documentation
- adds guide to troubleshoot Ceph Cluster monitoring on OpenShift

Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-01-31 11:34:44 +05:30
Dennis Field 01a2f16832 docs: Sort flexvolume docs, update for kubespray
This commit clarifies the Kubespray section (which changed as of v2.11.0 and newer to use the kubelet default plugin directory)

This commit also rearranges the flow of the document to make more sense and be easier to jump straight to the relevant platform-specific section: adding anchor links for the platforms having special instructions on this page. Links to the platform's home page/docs page were moved to a "see also" as they may not be as relevant to someone already having deployed their cluster using it.

Signed-off-by: Dennis Field <fury@xibase.com>
2020-01-30 22:47:44 -05:00
Dmitry Yusupov b4139b364e Merge pull request #4766 from SergeyKaydalov/edgefs-resources-fix
edgefs: memory/CPU resources limits fix
2020-01-29 09:17:33 -08:00
Sergey Kaydalov db788da967 edgefs: trlogKeepDays is a fractional value
The trlogKeepDays has to expressed as a fraction of a day: 0.5, 0.1 and etc

Signed-off-by: Sergey Kaydalov <kayserg@gmail.com>
2020-01-29 13:03:13 +02:00
Madhu Rajanna 5a685fba77 CSI: Add support for rbd erasure coded pool
In ceph-csi v2.0.0 added a support for specifing
the erasure coded pool in storageclass which will be
used to store data.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-01-28 23:50:23 +05:30
Madhu Rajanna cf16184899 CSI: Add support for CSI volume expansion
This PR makes the necessary changes required
for volume expansion support for both cephfs and
rbd.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-01-28 23:50:23 +05:30
Madhu Rajanna 8c1a90ca01 CSI: upgrade node-driver-registrar from v1.1.0 to v1.2.0
latest released upstream version is v1.2.0,this
PR updates it to latest releasd version.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-01-28 23:50:15 +05:30
Madhu Rajanna 06d2dd2994 CSI: update csi-attacher from v1.2.0 to v2.1.0
external-attacher v2.x is not compatible with v1.x
This PR makes the require changes in csi templates
and upgrade documentation for easily upgrade

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-01-28 23:46:24 +05:30
Madhu Rajanna 0abb3b9e1b CSI: update ceph-csi image tag to v2.0.0
ceph-csi v2.0.0 is released. This commit updates
the image tag to latest released ceph-csi version

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-01-28 12:20:13 +05:30
Sébastien Han b762c1b7b2 Merge pull request #4751 from leseb/doc-pg
doc: update doc for PG count
2020-01-27 14:22:51 +01:00
Sébastien Han 7a05ee63e4 doc: update doc for PG count
Ceph recently changed its default PG count in
https://github.com/ceph/ceph/pull/32788, it also changed from 8 to 16
then 16 to 32. So let's remove the 8 PGs mention which is incorrect.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-27 09:38:11 +01:00