The CephCluster CR contains settings that are needed by other
CRs to configure the Ceph daemons. When the CephCluster CR
is updated, the updates will now be passed on to each of the
CR controllers to ensure the daemons are updated properly
without requiring an operator restart.
When calling the controllers from another controller,
we ensure that only a single goroutine is handling
CRs at any given time to prevent contention across
multiple CRs of the same type.
Signed-off-by: travisn <tnielsen@redhat.com>
Adding a raw tag wrapper tells liquid to ignore this section and compile
this text without trying to interpret it. Otherwise an error is thrown
during builds
Signed-off-by: Steven Rathbauer <steven@rathpc.com>
Adding some more context and details to the ceph examples. Updated links to Nautilus, added several links to ceph documentation, explained block/file/object storage, fixed some syntax errors.
Signed-off-by: Sachin Agarwal <sachinkagarwal@gmail.com>
Allow the user to set annotations in the CRDs of the following operators which will then be set on
the resulting Pods (Deployments, StatefulSets and so on).
Operators:
* Cassandra
* Ceph
* CockroachDB
* EdgeFS
* Minio
* NFS
The Annotations related structures have been added to the
rook.io/v1alpha2 pkg.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
creation of the rbac is pre-req for
rook operator deployment, so removing
it from ceph-csi operator as rook operator
is pre-req for ceph-csi.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
We now run all the daemon with a new option from Nautilus 14.2.1 which
allows us to tell to a daemon to not log on file. However, we can decide
to activate logging by editing the configuration flag 'log_to_file' via
the centralized config store like this for a particular daemon:
ceph config set mon.a log_to_file true
This is useful when a daemon keeps crashing and we want to collect log
files on the system.
Fixes: https://github.com/rook/rook/issues/2881
Signed-off-by: Sébastien Han <seb@redhat.com>
All usages of k8s go client are now also using the versioned `AppsV1() `
call for the client.
Updated MySQL and Wordpress, and Kube Registy examples to use apps/v1
Deployments.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
Make the Ceph operator more cautious about when it decides to remove
nodes from the Rook-Ceph cluster which are acting as osd hosts.
When `useAllNodes` is set to `true` we assume that the user wants to
have the most hands-off experience. Node removals are allowed when a
node is delted from Kubernetes and when a node has its taints/affinities
modified by the user (but not by automatic k8s modification as much as
possible).
When `useAllnodes` is set to `false` the only time a node is removed is
if it is removed from the Ceph cluster definition.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
need to remove the manual namespace creation from
the doc because it will be created as part of
common.yaml deployment.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
When testing my changes I couldn't successfully deploy without also
creating the contents of common.yaml first.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The current document is too old and it has
a reference to the master branch(earlier
master branch referred to csi-v0.3.0).
This PR updated the snapshot document
wrt to the changes required for csi-v1.0.0
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
The RBAC is tedious to copy everywhere with the cluster.yaml and is confusing to newcomers.
The common resources are now factored into the operator-common.yaml for the common scenario
of creating a single cluster. Examples are now added for configuration of the operator
and cluster crds to provide a more complete set.
Signed-off-by: travisn <tnielsen@redhat.com>
The RBD module is an important prerequisite for Rook Ceph. It is mentioned as a possible problem on the Common Issues page, but that is the ambulance at the bottom of the cliff 😄. We should mention the perquisite for new users, tell them how to check, and note any major Kubernetes-as-a-service providers that do not have the RBD module.
https://rook.io/docs/rook/master/common-issues.html#rook-agent-rbd-module-missing-error
Signed-off-by: Aaron Roydhouse <aaron@roydhouse.com>
The examples folder has Service examples but no Ingress examples. This example Ingress is important because it demonstrates how to configure and Ingress that will work with the self-signed certificate the `rook-ceph` installs. The Service name and Namespace matches the default `rook-ceph` install.
Signed-off-by: Aaron Roydhouse <aaron@roydhouse.com>
The desired number of mons could change depending on the number of nodes in a cluster.
For example, three mons would be the min number of mons in a production cluster with at
least three nodes. If there are five or more nodes, the number of mons could increase
to five in order to increase the failure tolerance to two nodes.
This is accomplished by a new setting in the cluster CRD preferredCount. If the number
of hosts exceeds preferredCount, more mons are added to quorum. If the number
of hosts drops below the preferred count, the operator would reduce the quorum size to
the smaller desired count.
Signed-off-by: travisn <tnielsen@redhat.com>