If an OSD is down and needs to be removed from the cluster,
a job can be run that will remove the OSD deployment
and purge the OSD from ceph. If the OSD is still up,
the purge will be rejected.
To purge multiple OSDs at the same time, the OSD IDs can be
specified as a comma-separated list.
Signed-off-by: Servesha Dudhgaonkar <sdudhgao@redhat.com>
Add documentation for the setting AllowUninstallWithVolumes to the
following files:
Documentation/ceph-cluster-crd.md
cluster/examples/kubernetes/ceph/cluster.yaml
Co-authored-by: Nitin Goyal <nigoyal@redhat.com>
Signed-off-by: Raghavendra Talur <raghavendra.talur@gmail.com>
This allows users to specify additional labels to be added to the components
created by the Rook Ceph operator.
Additionally the rbd mirrors are now getting their annotations and
labels set.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
The lifecycle preStop hook fails on container stop / exit
because /bin/sh is not present in the driver registrar container
image.
the driver-registrar will remove the socket file
before stopping. we dont need to have any preStop hook
to remove the socket as it was not working as expected
Signed-off-by: Madhu Rajanna <madhupr007@gmail.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>
the commit apply latest changes or sync the
object-prefixed manifests with object.yaml
and keeping object-test.yaml simple and
without lastest change.
Signed-off-by: subhamkrai <subhamkumarrai03@gmail.com>
The osd prepare resources were only being set on the main container
while the init containers either did not have resources set, or were
inheriting the resource settings from the device set resources for osds.
Now the osd prepare resources will be consistently set based on the
prepareosd resources in the main section of the cluster CR.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The osd prepare jobs and osd daemons may have different placement
requirements. In particular, the topology spread constraints
or pod anti-affinity should only work on either the prepare job or
osd daemon, but does not work effectively on both types at the same
time. Therefore, we split out the osd prepare placement to be separate
from the osd daemon placement. If the osd prepare placement is not set
the operator will fall back to the osd daemon placement for
backward compatibility.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Currently the CSI resources are getting passed as
the map instead of string, due to this the yaml
unmarshal is getting failed. This commit adds
the missing '|' to pass the resources as the
string instead of map
fixes: #5501
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
There is a missing YAML document / object separator in the apply file.
This PR adds it so it can be applied without errors.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
Some more optional items in json output.
RBD Provisioner, CSI CephFS node and provisioner are now optional and
will only be populated if they are available.
Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
currently, the object store schema requires the
port to be non-zero. This does not allow http
access to the object store to be disabled.
so setting the port minimum to 0 to from 1 in the cr.
Signed-off-by: subhamkrai <subhamkumarrai03@gmail.com>
The CSV generation needs to be patched with the correct service account names
for the correct RBAC to be generated.
Signed-off-by: Sébastien Han <seb@redhat.com>
With the removal of aggregate roles from the ClusterRole specs, the
psp:rook clusterrole was mistakenly removed. Now we rename the clusterrole
properly so the operator will be granted privileges as expected for psp.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
For test scenarios, add the settings to the example for mon health checks
so it is simpler to test the failover.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The operator setting ROOK_HOSTPATH_REQUIRES_PRIVILEGED is expected to be true
when selinux is enabled, not just with openshift.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
In the interest of having the metrics avaliable generically for all the storage provisioners and just not ceph, the superseding metrics will be added to Openshift directly. Thus these metrics wont be required in rook.
Signed-off-by: Anmol Sachan <anmol13694@gmail.com>
Based on the feature of metadata PVC for OSD: #4818, add the wal device.
For this, you need to create a new volumeClaimTemplates, its name must be "wal", if "wal" is
set, "metadata" device will refers specially for block.db device, and "wal" refers for block.wal
device in BlueStore.
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, io1)
storageClassName: io1
volumeMode: Block
accessModes:
- ReadWriteOnce
- metadata:
name: wal
spec:
resources:
requests:
storage: 6Gi
# IMPORTANT: Change the storage class depending on your environment (e.g. local-storage, io1)
storageClassName: io1
volumeMode: Block
accessModes:
- ReadWriteOnce
```
We now map block, block.db and block.wal directly inside the container instead of
running ceph-volume activate.
Signed-off-by: Chen, Tingjie <tingjie.chen@intel.com>
Previously we did not supported defining crushRoot in some of the CRDs. With this fix, we plan to fix this behaviour.
Signed-off-by: mridulv <mridulv09@gmail.com>
The prometheus manifests should be symlinked in the same directory
instead of from the root of the repo for building across all
platforms
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
as the kubernetes 1.13 is EOL and there is no major
functionalities available in 1.13 (resize,snapshot,clone
metrics etc) we are removing the support for kubernetes
for the same.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>