Commit Graph
798 Commits
Author SHA1 Message Date
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
Michael Fritch 384cba1a35 docs: clean-up Ceph NFS Gateway CRD
- fixup RADOS pool name to match what is used by the CRD
- add missing RADOS namespace to the Sample description
- move/merge description of the RADOS pool/namespace config into the
  sample text instead of inline comments within the CRD yaml
- add inline code block for `spec.server.active` field

Signed-off-by: Michael Fritch <mfritch@suse.com>
2020-01-24 17:16:38 -07:00
Sébastien Han 227d2d527a ceph: osd store refactor
Multiple things:

1. We removed all the function/methods/tests that were used to
create and manage rook legacy OSDS as well as bringing support to
Bluestore OSD only.
It also fixes various go-lint issues in the respectives files.

2. use c-v inventory to detect available devices:
Now we rely on the 'ceph-volume inventory' command to tell us if a
device is available or not.

3. implement raw mode for osd on pvc
When an OSD will be bootstrap on a PVC, the new c-v raw mode will be
used. It consists of putting block, db and wal under the same device.
Here LVM is out of the picture and the raw device is used as is. The
implementation is backward compatible so existing OSD on PVC will LVM
will continue to operate.

Closes: https://github.com/rook/rook/issues/4363
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-23 19:13:09 +01:00
Sébastien Han 245516e607 Merge pull request #4737 from cybozu-go/ceph-add-a-note-of-osd-in-placement
ceph: add a note of osd in placement
2020-01-23 09:24:40 +01:00
Satoru Takeuchi 24e62faa2d ceph: add a note of osd in placement
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-01-23 01:09:16 +00:00
Travis Nielsen 8f6f9a444a Merge pull request #4682 from leseb/enable-partition-support
ceph: add partition support
2020-01-16 11:14:06 -07:00
Travis Nielsen 6ad62bebf4 Merge pull request #4688 from leseb/external-cluster-crash
ceph: ability to disable crash controller
2020-01-16 11:13:48 -07:00
Umanga Chapagain 55e45862ae Ceph: updates CephCluster CRD doc to include monitoring options
adds documentation on spec to enable/disable monitoring of Ceph
clusters using prometheus. prometheus still needs to be deployed
separately.

Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-01-16 21:33:19 +05:30
Sébastien Han bb214b2f27 ceph: ability to disable crash controller
A new CR setting has been introduced to disable the crash controller.
To disable it, add `disable: true` on the crashCollector section.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-16 16:05:22 +01:00
Sébastien Han dd659de46f ceph: add partition support
We now support partitions via 2 ways:

* if `useAllDevice: true`: partitions will be taken into account and
presented as OSD candidate
* if specified in the cluster CR: it'll picked up as well

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-16 09:34:46 +01:00
Sébastien Han 81dd279062 Merge pull request #4653 from leseb/pick-14.2.6
ceph: bump to 14.2.6
2020-01-15 17:44:52 +01:00
Sébastien Han dec0c7d4b0 ceph: bump to 14.2.6
14.2.6 is released, let's use it!

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-15 11:02:44 +01:00
Travis Nielsen f5edde3b80 Merge pull request #4503 from travisn/test-k8s-1.17
Run integration tests on K8s 1.17
2020-01-09 18:08:26 -08:00
Travis Nielsen 9a078bf9e6 minio: remove from rook
The minio operator has not had community support nor
any updates since being added to Rook. Support is being
removed from Rook due to this lack of community interest.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-08 15:45:21 -08:00
Travis Nielsen a02c2c3089 tests: run integration tests on k8s 1.17 and remove 1.12
With the release of K8s 1.17 Rook needs to test on this new version.
The integration tests will now run the tests across K8s 1.13-1.17.
The pattern has been to run the tests across the most recent five
versions.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-08 07:18:53 -08:00
Sébastien Han 05aa639317 ceph: add option to continue on unclean PGs
A new CRD option `continueUpgradeAfterChecksEvenIfNotHealthy` is added.
When upgrading, Rook goes OSD by OSD and then waits for PGs to be clean
before proceeding to the next OSD. Currently, Rook waits for 5 hours but
there might be circumstances where PGs need more time to settle.
Thus setting `continueUpgradeAfterChecksEvenIfNotHealthy` to true will
pursue the upgrade process, even if PGs are not 100% active+clean.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1786029
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-07 12:18:54 -07:00
Rik Harris 410b5263ed doc: ceph DR updates based on real-world mistake
After a failure in a live ceph cluster, I discovered some minor glitches
when executing the instructions in ceph-disaster-recovry.md. Hopefully
this should help others.

Signed-off-by: Rik Harris <git@kawaja.net>
2020-01-04 18:04:16 +11:00
Sébastien Han 360ff98923 documentation: improve commit structure
This commits adds more documentation on how to contribute better commit
messages.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-03 10:14:41 +01:00
Jeff Billimek 127e9d289a ceph: bumping ceph-operator memory limit to 256Mi
* bumping ceph-operator memory limit from 128Mi to 256Mi in order to
avoid OOMkills of the rook-ceph-operator pod
* updating documentation example for operator to denote a limit of 256Mi
instead of 128Mi

When upgrading from rook v1.1.7 to v1.2.0, the rook-ceph-operator pod
continued to get OOMKilled by the kubernetes scheduler.  Manually
bumping this limit to something higher than 128Mi (I tried 256Mi and it
was good) prevented the OOMKills.

Signed-off-by: Jeff Billimek <jeff@billimek.com>
2019-12-20 11:41:40 -05:00
Dmitry Yusupov fce90f8f6a Merge pull request #4540 from dyusupov/master
EdgeFS: last minute doc changes for 1.2
2019-12-18 11:22:08 -08:00
Dmitry Yusupov 6ebcc52565 EdgeFS: last minute doc changes for 1.2
Signed-off-by: Dmitry Yusupov <dmitry@nexenta.com>
2019-12-18 11:19:39 -08:00
Travis Nielsen 36894b1791 ceph: increase size of headers for upgrade
To simplify the readability of the important sections for the upgrade
we will increase the header size.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2019-12-18 12:00:51 -07:00
Blaine Gardner 56569ffc23 Merge pull request #4532 from SUSE/rename-disaster-recovery-md
docs: append `ceph-` to `disaster-recovery.md` doc
2019-12-18 11:37:47 -07:00