Commit Graph
143 Commits
Author SHA1 Message Date
subhamkraiandtravisn 1b2c15041f ceph: update deprecated CRD apiextensions.k8s.io/v1beta1 to v1
the apiextensions.k8s.io/v1beta1 version of CustomResourceDefinition
is deprecated in Kubernetes v1.16 and will no longer be supported from
v1.19. For now, we changing only for ceph and it's related documented.

Signed-off-by: subhamkrai <srai@redhat.com>
Co-authored-by: travisn <tnielsen@redhat.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2020-10-29 06:26:10 +05:30
Travis Nielsen 23e4b755b4 ceph: design doc for stretch clusters
Design document to support stretch clusters with an arbiter mon
based on the new design for stretch clusters in Ceph.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-10-12 15:33:33 -06:00
Travis Nielsen 2f86051b1c docs: remove obsolete reference to v1alpha2 in design doc
The storageClassDeviceSets unnecessarily references the obsolete v1alpha2
version.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-10-09 12:53:45 -06:00
Ahmad Nurus S 76c0bfd0c3 nfs: design nfs quota
Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-09-24 22:12:02 +07:00
Alexander Trost be16bc455f docs: operator use rbac.authorization.k8s.io/v1
This replaces any uses of `rbac.authorization.k8s.io/v1beta1` with
`rbac.authorization.k8s.io/v1` affecting RBAC objects like ClusterRole
and ClusterRoleBindings, etc. to make it consistent.
This is done as some RBAC objects used the `v1beta1` and others already
using `v1`.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-08-20 12:08:32 +02:00
Jared Watts 4f9dcfd1f3 Merge pull request #5830 from prksu/design-nfs-provisioner
doc: design nfs provisioner controlled by operator
2020-08-04 16:57:21 +02:00
Ahmad Nurus S f3352d44de docs: design nfs provisioner controlled by operator
Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-08-04 17:54:21 +07:00
Jiffin Tony Thottan b91d1aedee docs: design doc for bucket policy feature
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2020-07-23 18:09:26 +05:30
Ali Maredia 9dd0ea894a ceph: documentation for pulling a realm for multisite
This commit adds design revisions, examples, and
documentation for object multisite.

Changes to the CephObjectRealm to pull a realm
from another cluster, and the zone for creating
pools are amongst the larger changes

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-07-21 16:46:18 -04:00
Ali Maredia 0f7e55780c ceph: add pool creation for ceph-object-zone
When zones are created the ceph RGWs inside the
those zones should be using pools with the zones
name not the object-store's name

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-07-21 13:30:41 -04:00
Blaine Gardner 7117fc12b7 ceph: osd: add drive groups spec to cluster CR
Add the ability to provision Ceph OSDs with Drive Groups.
This adds Drive Groups to the CephCluster CRD, and it sets code
in place for propagating this config to the OSD provisioning pod.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2020-07-14 09:43:03 -06:00
Sébastien Han ccb52b84e6 ceph: configurable status checks and livenessprobe
This commit allows us to configure status check for each daemon:

* "mon": health check on the ceph monitors (quorum)
* "osd": health check on the ceph osds
* "status": ceph health status check

Each check is controlled by the following settings:

* disabled: whether to disable the check (default: false)
* internal: interval to run the check
* timeout: only valid for mons, is the timeout for unresponsive mon
before failling over.

Example to disable the status health check:

```yaml
healthCheck:
  daemonHealth:
    status:
      disabled: true
```

As part of that, pod's livenessprobe can now be configured via the
following settings:

* disabled: whether to enable or not
* probe: override the current probe in place by a new one

```yaml
healthCheck:
  livenessProbe:
    mon:
      disabled: true
```

Closes: https://github.com/rook/rook/issues/5772
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-10 19:21:59 +02:00
Travis Nielsen dbae36b2bb ceph: update to the latest octopus release
Update the base operator image and cluster examples to use the latest
octopus release v15.2.4. Also cleanup some old examples and unit tests
that were still based on mimic.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-06 12:11:47 -06:00
Sébastien Han 4a8069321e Merge pull request #5618 from leseb/external-monitoring-design
docs: add external monitoring design
2020-06-16 15:51:03 +02:00
Sébastien Han c5095fa74a docs: add external monitoring design
Enhance the external cluster functionality by plugin monitoring.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-06-16 15:43:19 +02:00
Jared Watts c0ed19aa4b Merge pull request #5567 from prksu/design-nfs-controller-runtime
design: nfs operator using controller-runtime
2020-06-15 12:05:49 -07:00
Sébastien Han db17533435 docs: add design doc template
Rook already has a design process in place when introducing new
functionality. The only missing thing is a clear template to bring
consistency in our design documents.

This is inspired and shrunk version of
https://github.com/openshift/enhancements/tree/master/guidelines to add
some guidelines when it comes to writing a design document.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-06-10 19:05:14 +02:00
Ahmad Nurus S f5f6484869 docs: design nfs operator using controller-runtime
This commit is adding a design to implement controller-runtime in nfs operator

Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-06-10 23:41:15 +07:00
Ahmad Nurus S 714d654ec4 design: rename nfs object kind
This commit rename nfs object kind with actually implemented name `NFSServer`
instead of `NetworkFileSystem`. This commit also fix some bad url.

Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-05-25 23:31:28 +07:00
Sébastien Han a760b6d5ae doc: ceph fix rgw links
links were pointing to dead pages.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-13 17:16:49 +02:00
Travis Nielsen 2eebfd5019 Merge pull request #5151 from vbnrh/rook-admission-controller-design-doc
Rook: Design document for admission controller support in rook
2020-04-14 09:14:24 -06:00
vbnrh 9e7b5a64ae ceph: Adds design document for admission controller support in rook
Adding admission controllers to rook would help in performing custom CRD validations to rook resources. It ensures that the core specifications that reach rook remain valid despite any kind of changes. In case any invalid changes are found, The kubernetes api server would reject the request and  an error would be sent back to the user.

Signed-off-by: vbnrh <vbadrina@redhat.com>
2020-04-14 16:02:55 +05:30
Satoru Takeuchi 06b10e248c ceph: support topoplogySpreadConstraints
Support topologySpreadConstraints to spread OSD pods among failure
domains as even as possible.

https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/

Without this feature, the number of OSD pods would be different
between the failure domains very much. At worst, there is
a possibility that a failure domain has many OSDs and other
failure domains have no OSDs. It can partly be mitigated
with podAntiAffinity. However, it only works if there are at most
one OSD per node. For more detail, please refer to the following
document.

https://github.com/rook/rook/blob/master/cluster/examples/kubernetes/ceph/cluster-on-pvc.yaml#L59

Closes: https://github.com/rook/rook/issues/4387
Signed-off-by: Hiroshi Muraoka <h.muraoka714@gmail.com>
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-04-02 16:40:58 +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
Travis Nielsen 695dc4fbd4 Merge pull request #5008 from sp98/design-cluster-cleanup
Design for ceph cluster clean up
2020-03-18 12:07:29 -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
Travis Nielsen f79bc3d6a0 noobaa: remove design docs due to inactivity
The NooBaa operator was proposed for addition to Rook, but
the team went a different direction and created an independent
operator. Removing the stale docs.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-17 14:30:56 -06:00
Travis Nielsen 2708eb457e ozone: move design doc to a subfolder
For consistency with the design docs, move the Ozone
design docs to a subfolder.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-17 14:30:56 -06:00
Santosh Pillai 89570cfabb ceph: Design for ceph cluster clean up
This design doc covers the automatic clean up of the dataDirHostPath when the user intentionally deletes the ceph cluster.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2020-03-16 21:58:40 +05:30
Travis Nielsen acad369b94 Merge pull request #4520 from alimaredia/wip-object-store-realm
object-store-realm: Initial design doc
2020-02-25 16:06:42 -07:00
Ali Maredia 429a4c336e ceph: initial design documents for ceph multisite
The implementation of this initial design will
allow object-stores to sync data across Rook Ceph
Clusters via a Day 1 setup of Ceph RGW Multisite

This design splits the realm, zonegroup, and zone
objects of Ceph RGW Multisite into seperate
resources.

This commit also moves all ceph object designs
into the design/ceph/object dir.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-02-25 17:10:08 -05:00
Blaine Gardner 178187d035 design: ceph orchestrator module add/remove OSDs
Add a design document to plan how Rook will allow Ceph's Rook
Orchestrator Mgr Module to add and remove OSDs to/from a Rook-Ceph
cluster including changes needed in both the Orchestrator Module and in
Rook.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2020-02-24 11:06:46 -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
Sébastien Han 289503a6ec ceph: remove last bits of osd min_size
As agreed in https://github.com/rook/rook/issues/2543, Rook must not set
min_size for a pool and should let Ceph handle that calculation.

Also, stop setting this property to EC pools.

Closes: https://github.com/rook/rook/issues/2543
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-01-10 17:24:52 +01: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 6c543788ba Merge pull request #4219 from cybozu-go/support-lv-backed-pv
ceph: support OSD on PVC backed by LV
2019-12-05 14:26:23 -07:00
dulltzandSatoru Takeuchi dfe45ac6b0 ceph: support OSD on PVC backed by LV
"OSD on PVC" doesn't work for PV backed by LV. Fixing this problem
by the following changes.

- Rook accepts LVM disk type.
- If a LV-backed device is passed, Rook/Ceph invokes
  "ceph-volume lvm prepare" with "--data vg/lv"
  instead of "--data /path/to/device".
- If a LV-backed device is passed, Rook/Ceph suppresses
  activation/deactivation of VG that owns this LV.

Fixes: https://github.com/rook/rook/issues/4185
Signed-off-by: dulltz <isrgnoe@gmail.com>
Co-authored-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2019-12-05 17:26:27 +00:00
Sébastien Han 3ebae50f84 design: add multus for ceph
Add the design doc for integrating multus with the ceph backend.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-12-05 18:16:37 +01:00
Travis Nielsen 0a352f64d9 Merge pull request #4285 from cybozu-go/use-mapper-name
ceph: support device selection for OSDs by device path name patterns
2019-12-05 07:54:07 -07:00
Kazuhito MATSUDA 40d868ebd7 ceph: support device selection for OSDs by device path name patterns
Add devicePathFilter to Storage Selection Settings which enables
device selection with a regular expression for device path names.

Fixes: https://github.com/rook/rook/issues/4275
Signed-off-by: Kazuhito MATSUDA <kazuto.jinnai@gmail.com>
2019-12-05 07:02:44 +00:00
Travis Nielsen 2c6a6a87d6 Merge pull request #3282 from elek/ozone-design
ozone: design doc for ozone operator
2019-12-04 15:36:28 -07:00
d-luu 9c755fac66 ceph: added priority classes to components
Adds priority class support to Ceph components
  to influence scheduler's pod preemption

Signed-off-by: d-luu <david@davidluu.info>
2019-11-15 16:28:41 -06:00
Sébastien Han 91b76cc24c doc: update design links
Since we re-organized the design directory we need to update the links
in various files.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-11-15 11:29:46 +01:00
Sébastien Han 3c28d3368d design: add backends to their respective directories
Add missing directories and re-organize the folder.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-11-14 12:48:04 +01:00
Nizamudeen 9a0a3d4070 ceph: Design document which explains the use of Conditions
Signed-off-by: Nizamudeen <nia@redhat.com>
2019-10-24 11:04:18 +05:30
Owen Tuz 15e3ecad54 ceph: add 'rgw.buckets.non-ec' to list of RGW metadataPools
This is used for S3 multipart uploads and should be configured in the same way as other metadata pools.

Signed-off-by: Owen Tuz <owen@segfault.re>
2019-10-17 18:44:59 +01:00
binoue 170f45cd42 doc: update wrong/outdated links
this fix not working links

Signed-off-by: binoue <banji-inoue@cybozu.co.jp>
2019-10-11 18:11:49 +09:00
Márton Elek d700b1a644 ozone: design doc for ozone operator
Signed-off-by: Márton Elek <elek@apache.org>
2019-09-26 18:32:34 +02:00
Noah Watkins e2fccdf03b ceph: remove the CRD option Mon.PreferredCount
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-08-27 17:43:35 -07:00
Noah Watkins 94bd70a14c ceph/mon: support monitor migration without rebuils
this patch adds two new related features. first, it removes the
requirement that all monitor deployments be pinned to nodes using node
selector. this is allowed when not using host networking and when PVC
storage is used. the second feature introduced in this patch is the
elimination of the Rook scheduler for placing monitors that continue to
use the node selector by using canary pods to that are scheduled by k8s,
after which Rook uses the scheduling results to pin the monitors to
nodes.

fixes: #3667

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-08-27 17:43:35 -07:00