This design proposes that rook creates and manages PDBs for all ceph
daemons. OSDs need special treatment and a new heuristic, but simple
PDBs will suffice for other daemon types.
Signed-off-by: Rohan CJ <rohantmp@gmail.com>
a helper flag indicating the exitence of an empty zone (empty = no
monitor pods) is computed when checking the health of the cluster in
order to determine if mons from overloaded zones have some new location
they can be scheduled. the computation of this flag did not check that
the empty zone contains valid nodes that pods can be scheduled on to.
this lead to a mon creation loop.
fixes: #3545
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
* Extend CephCluster
* Add validation for CephFilesystem,
* Add validation for CephNFS
* Add validation for CephObjectStore
* Syncronozed the validation of all three copies
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
Replace usage of the custom osd copybins command with the new top-level
copy-binaries command introduced with cmd-reporter.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
In order to cleanup all cluster resources in case of cluster deletion
all resources have an ownerreference to the cluster crd instance.
Because the name of the reference was incorrectly set to the name of the
namespace the cluster resources can unintentionally be deleted by the
kubernetes garbage collector after a kubernetes cluster anomaly.
Signed-off-by: René Kalff <r.kalff@intermax.nl>
this adds the access for rook to create monitoring resources
across namespaces and provides servicemonitor config to
monitor the current service being created
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
Ceph CSI now requires a tempfs mountpoint and will not function without
it. These changes are cloned from the ceph csi yaml.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The status messages on the CRs had much duplicated code
for logging an error if the status update failed.
Now any failures around the status update are logged
consistently within the updateClusterStatus method
so there is no need to return an error and duplicate
the error handling everywhere.
Signed-off-by: travisn <tnielsen@redhat.com>
Because the manager is running under the 'ceph' user the cephfs
subvolume plugin can not create directories anymore. It fails with a
permission denied because of the usage of the 'ceph' user, root is need
here, hence the special startup line to go over this.
Closes: https://github.com/ceph/ceph-csi/issues/486
Signed-off-by: Sébastien Han <seb@redhat.com>
There is generally not a need to launch a specific version
of k8s, so just let minikube pick the latest version
to launch.
Signed-off-by: travisn <tnielsen@redhat.com>
The integration tests for storage providers will be skipped
for example if [test ceph] is specified. If the [test] tag
is not specified, all tests should be run. If the tag is not
specified, the Jenkinsfile will pass null, which needs to be
handled by the test code deciding to run all the tests.
Signed-off-by: travisn <tnielsen@redhat.com>
creating custom access/secret keys without properly base64 encoding them resulted in failed access to minio dashboard
Signed-off-by: jbmcfar <jbmcfar@sandia.gov>
Currently the ClusterController logs out a message like:
```
Cluster %s is not ready. Skipping orchestration.rook-ceph
```
without the "placeholders" fullfilled. This is because the code uses the
logger.Info() instead of logger.Infof() function.
This change fixes that to use Infof and therefore corrects the log
message.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
fail when metadataDevice is specified but ceph-volume batch does not
automatically use the metadataDevice as the block.db. (#3092)
Signed-off-by: Michael Vollman <michael.b.vollman@gmail.com>
Before each pod starts, the daemon changes the ownership of
/var/log/ceph which is bindmounted on a hostPath.
On OpenShift envionments, the container must be privileged in order to
successfully change the owernship.
Closes: https://github.com/rook/rook/issues/3485
Signed-off-by: Sébastien Han <seb@redhat.com>
If no storage provider is found, let's assign env.testProvider with an
empty string so that we wil run all the tests.
Signed-off-by: Sébastien Han <seb@redhat.com>
Ganesha isn't a true "Ceph" daemon, so some of the sharable pod spec
testing functionality is teased out of the operator/ceph/test library
and a simple operator/test library is created. The ceph/test library is
updated to use the operator/test library when possible/appropriate.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
Refactor the Ceph NFS (Ganesha) daemon to use the new config pattern.
Use of a custom Rook binary to run NFS has been removed in favor of
instead running the required DBUS process as a sidecar. The effect here
is that the NFS Ganesha container itself may fail and restart a few
times before the DBUS sidecar is running.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>