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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
"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>
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>