Commit Graph
155 Commits
Author SHA1 Message Date
Humble Chirammal 4d435b224f csi: use ceph csi v3.7.1 for rook csi driver deployment
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-09-29 16:46:43 +05:30
Avan Thakkar 934aa91056 operator: make imagePullPolicy customizable for csi driver and ceph pods
Introduce a new env variable ROOK_CSI_IMAGE_PULL_POLICY in rook operator configmap which should be used to
customize the imagePullPolicy for the csi driver and imagePullPolicy property in cephVersionSpec for ceph pods.

Signed-off-by: Avan Thakkar <athakkar@redhat.com>
2022-09-27 11:57:43 +05:30
Madhu Rajanna 80a96f8f32 csi: customize plugin volumes and volumemounts
This option open-up volumes and volumemounts
for user customization of the rbd,cephfs,nfs
plugin daemonset.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-09-16 09:57:37 +05:30
Rakshith R 3c5a2f4142 csi: add topology provisioning support
This commit adds topology provisioning
support. This makes modification to rbac,
csi deployment and daemonset.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-12 16:10:18 +05:30
Rakshith R 73042c7531 csi: add NFS snapshot support
This commit adds snapshotter sidecar to
NFS driver and required yamls and docs too.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-08 16:15:37 +05:30
yati1998 9b4361b379 rbdmirror: remove volume replication sidecar
The volume replication operator is being moved to
kubernetes-csi-addons. This commit hence, removes
the volume replication sidecar and updates the
related documentation.
It will also update the csi-addons sidecar version
to the latest one.

Closes: #10655

Signed-off-by: yati1998 <ypadia@redhat.com>
2022-09-07 14:49:19 +05:30
Travis Nielsen 1bbf8f7a43 Merge pull request #10791 from Rakshith-R/use-cephcsi-nfsnodeplugin
csi: use cephcsi image for nfs nodeserver + holder design
2022-09-06 10:52:30 -06:00
Rakshith R 7722226521 csi: remove nfs image
This commit remove nfs image
since it is no longer needed.
Cephcsi itself will act as nfs
nodeserver.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-02 14:16:15 +05:30
Humble Chirammal 32ecc37d37 csi: change the default fsgroup policy for CSI driver object
This commit change the default fsgroup policy for csi driver object
to "File" type which is the better/correct setting for the CSI volumes
We have been using default value which is "ReadWriteOnceWithFSType".
with this change backward compatibility should be preserved.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-09-01 10:11:39 +05:30
Madhu Rajanna 6a650e1c9d csi: make cephcsi 3.6.0 as minimum supported version
Setting the min version to 3.7 will make upgrade
difficult. If someone is using any different/custom
version, this means they won't be able to upgrade to
rook v1.10 unless they also update their csi image
at the same time. If we set the min version to 3.6,
it will give some time buffer to allow them to
change the csi driver later.

ref: https://github.com/rook/rook/pull/10759#discussion_r953014295

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-08-24 08:48:09 +05:30
Travis Nielsen cc15c94e6c Merge pull request #10736 from pkalever/clusterName-metadata
CSI: provide a way to supply `--setmetadata` and `--clustername` to the csi driver
2022-08-23 13:06:27 -06:00
Travis Nielsen f02ffef8da Merge pull request #10503 from humblec/cephfs-file-policy
csi: change the fsgrouppolicy for CephFS driver to "File" mode
2022-08-23 13:00:50 -06:00
Prasanna Kumar Kalever e376c17bfb csi: provide a way to set --clustername at csi driver
One can now use the operator configmap for CSI_CLUSTER_NAME variable
for setting ClusterName on the RBD images and CephFS subvolume.
This will be useful in cases like for example, when two container orchestrator
clusters (Kubernetes/OCP) are using a single ceph cluster.

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
2022-08-23 12:12:02 +05:30
Prasanna Kumar Kalever b5b8cbf6ae csi: provide a way to enable --setmetadata at csi driver
One can now tweak the operator configmap for CSI_ENABLE_METADATA boolean to
enable/disable setting of PV/PVC/PVCNamespace &
snapshot-name/snapshot-namespace/snapshotcontent-name on the RBD images
and CephFS subvolume.

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
2022-08-23 12:11:02 +05:30
Mudit Agarwal 40081cbcd2 Revert "csi: remove attacher sidecar from CephFS rook deployment"
This reverts commit 4bfd88dc4d.

Signed-off-by: Mudit Agarwal <muagarwa@redhat.com>
2022-08-10 13:04:14 +05:30
yati1998 4bfd88dc4d csi: remove attacher sidecar from CephFS rook deployment
CephFS CSI driver dont have/advertise controller publish/unpublish
capabilities, thus dont need attacher sidecar for its operations.
The presence of external-attacher adds on overhead and issues wrt
attachment in various scenarios. One of them would be the lack of
performance on syncing volumeattachment from api server..etc.
More or less we don't have controller publish and unpublish capabilities,
so we should not make use of this sidecar and cause
unnecessary addon here thus other issues.

similar changes have been added to CSI
https://github.com/ceph/ceph-csi/pull/3149

Signed-off-by: yati1998 <ypadia@redhat.com>
2022-08-03 19:56:39 +05:30
yati1998 ecc67faa5c csi: introduce new log level for sidecars
This commit introduces new log level called csidecarLogLevel
for the sidecars which are not maintained by the csi-driver.
This will allow to have different configuration options
for the sidecars like snapshotter, resizer, attacher and
provisioner containers which will help to avoid the
spamming of logs to an extent.

Signed-off-by: yati1998 <ypadia@redhat.com>
2022-08-02 12:09:43 +05:30
Madhu Rajanna 187bea6701 csi: disable liveness sidecar by default
A Liveness sidecar container that is deployed
with the CSI pods will be helpful to check
csi driver is properly responding or not.
and there is no liveness or readiness
kubernetes probe added for this one.
Providing an option to enable this
sidecar deployment and disabling it by default.

fixes #8783

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-07-28 14:01:26 +05:30
Josh Soref 6e7b8767f3 core: fix spelling
* another
* are
* availability
* available
* bootstrap
* boundaries
* ceph
* certificate
* class
* codifies
* consuming
* corrupted
* createor
* csi
* deployments
* exceeded
* execute
* filesystem
* healthiness
* heuristics
* immediately
* insecure
* installed
* isolated
* maintained
* maximum
* minute
* monitor
* new
* nginx
* nonexistent
* not
* occurs
* omitempty
* operator
* orchestration
* persistentvolumes
* placement
* preexisting
* prometheus
* protecting
* provisioner
* purposes
* reconcile
* regex
* related
* requests
* returns
* rubbish
* running
* schedulable
* schedule
* serviceaccount
* simulating
* snapshots
* statement
* static
* tenants
* the
* unavailable
* volumeattachment
* waiting
* with
* wrapper
* zonegroup

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-07-07 18:10:47 -04:00
Santosh Pillai 693c2d9306 manifest: use Recreate strategy for operator upgrade
Use `Recreate` strategy instead of `RollingUpdate` for
rook-ceph-operator deployement upgrade

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2022-07-04 15:28:42 +05:30
Humble Chirammal 58a2f66411 csi: change the fsgrouppolicy for CephFS driver to "File" mode
At present the CephFS CSI driver works with default mode ie,
`ReadWriteOncewithFsType`. However `File` type is more apt for
the CephFS CSI driver and this commit bring that change. The
similar change is also introduced in ceph csi driver here:

https://github.com/ceph/ceph-csi/pull/3204

considering the `File` mode has been GAd in 1.23 kubernetes version
and also we are lifting one of the problematic code path in this
area via Ceph CSI driver changes, it is good to move the
fsgrouppolicy to `File`.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-06-24 11:43:23 +05:30
Niels de Vos 5dbb9a919d csi: update CSI-Addons side-car to latest (v0.4.0) release
A new version of the CSI-Addons side-car has been released, fixing
several bugs and adding small enhancements.

See-also: https://github.com/csi-addons/kubernetes-csi-addons/releases/tag/v0.4.0
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2022-06-16 09:58:54 +02:00
Madhu Rajanna 3e70d278cb csi: update cephcsi from 3.6.1 to 3.6.2
As we have new cephcsi patch release i.e v3.6.2
updating Rook dependency to the same.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-06-09 14:52:51 +05:30
Madhu Rajanna 767cfcbf09 csi: update sidecar to latest release
updating node-driver-registrar to v2.5.1 release
, nfsplugin to 4.0.0 and csi-snapshotter to v6.0.1

Note:- with snapshotter v6.0.1 v1beta1 snapshot CRD
is not supported. If you want betav1 snapshot support
please switch to v5.x.x snapshotter.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-06-07 19:27:13 +05:30
Madhu Rajanna 15da42cf0c csi: change sidecar images repo to new link
Change sidecar images repo to registry.k8s.io
which is a redirect to k8s.gcr.io.

Ref: https://github.com/kubernetes/k8s.io/wiki/
New-Registry-url-for-Kubernetes-(registry.k8s.io)

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-06-06 11:02:38 +05:30
Sean Johnson 30667157ab docs: update tolerations name from controlplane to control-plane
Signed-off-by: ttyS0 <sean@skj.dev>
2022-05-12 10:04:55 -05:00
Travis Nielsen 60b72b6d48 operator: increase memory limit of operator
The operator is very bursty and when starting up may need more memory
to reconcile all the CRs initially before it calms down.
The default of 256Mi was not sufficient for many clusters, so now
we bump up the limit to 512Mi.

This is a follow-up from the same change to the helm chart in
https://github.com/rook/rook/pull/10195.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-05-03 07:54:53 -06:00
Sébastien Han 1093b0a166 csi: update cephcsi to v3.6.1 release
A new Ceph-CSI release is out so let's use it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2022-04-25 10:26:10 +02:00
Travis Nielsen 09c7b305c7 Merge pull request #10059 from Madhu-1/update-nfs-image-reg
csi: use k8s.gcr.io for csi nfsplugin image
2022-04-20 08:01:47 -06:00
Travis Nielsen fb86955f01 core: examples set default priority class names
By default, we should set the priority class to one of the built-in
priority class names to ensure that pods critical to the storage
will be able to remain running when resources are low. Otherwise,
critical rook pods could be evicted and affect many other pods
that rely on the storage to continue functioning. The options have
been available in the CRs, but until now we have just not set the
defaults in the examples. Critical rook components are now set to
the priority class system-node-critical if they are generally pinned
to a node, and system-cluster-critical if they are critical to the storage.
Some pods such as the operator and crash collector do not have a
default priority class set in the examples since they don't affect
the data path.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-04-19 16:09:34 -06:00
Travis Nielsen 299d6cf4eb Merge pull request #10089 from yuvalman/resources-fix
helm: fix missing default resources in rook components
2022-04-19 10:34:36 -06:00
Yuval Manor 5f01456dae helm: fix missing default resources in rook components
1. Add csi-snapshotter resources for csiCephFSProvisioner
2. Add csi-omap-generator resources for csiRBDProvisioner (only is omap generator is enabled)

Closes: https://github.com/rook/rook/issues/10083
Signed-off-by: Yuval Manor <yuvalman958@gmail.com>
2022-04-19 18:37:25 +03:00
Travis Nielsen 6cd1de4776 Merge pull request #9940 from Rakshith-R/csi/add-kms-support
csi: add CSI encryption support
2022-04-19 09:26:52 -06:00
Madhu Rajanna 54de442e22 csi: make GRPC timeout configurable
setting the GRPC timeout configurable helps
in some cases where ceph cluster takes more time
to respond.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-04-14 18:15:00 +05:30
Rakshith R 2e18d5bbaa csi: add CSI encryption support
Ceph-CSI supports LUKS encryption for RBD volumes.
This commit adds support for the same by adding capability
of mounting required `rook-ceph-csi-kms-config` configmap
into csi-rbdplugin-provisioner and nodeplugin pods.
Required documentations, helm charts and examples yamls
are also updated.

Resolved: #7032

Signed-off-by: Rakshith R <rar@redhat.com>
2022-04-13 19:52:51 +05:30
Madhu Rajanna 52c8211e43 csi: use k8s.gcr.io for csi nfsplugin image
use k8s.gcr.io like other kubernetes sidecar
image to pull the nfsplugin image.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-04-13 11:54:35 +05:30
Blaine Gardner 0d2e43bd77 Merge pull request #9927 from Rakshith-R/csi/add-nfs-nodeplugin
csi: add nfs nodeplugin & provisioner
2022-04-12 11:37:55 -06:00
Travis Nielsen 38dc2fae2d Merge pull request #10003 from rexagod/9711
core: support arbitrary node affinity inputs
2022-04-12 10:31:58 -06:00
Pranshu Srivastava 6e49a090a3 core: support arbitrary node affinity inputs
Adds support for valid arbitrary NodeAffinity JSON input by the user while
maintaining backward compatibility with the older parsing code.

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
2022-04-12 21:11:01 +05:30
Rakshith R 5f48ad8026 csi: add nfs provisioner deployment
This commit adds nfs provisioner deployment.
This will allow rook to deploy nfs provisioner
which can create backend cephfs subvolumes to be
exported as nfs volumes.

refer:
https://github.com/ceph/ceph-csi/blob/devel/docs/design/proposals/nfs.md

Signed-off-by: Rakshith R <rar@redhat.com>
2022-04-12 11:25:08 +05:30
Rakshith R 34162c3dc5 csi: add nfs nodeplugin daemonset
This commit adds nfs nodeplugin daemonset.
This will allow rook to deploy nfs nodeplugin
which can mount/unmount nfs volumes.

refer:
- https://github.com/ceph/ceph-csi/blob/devel/docs/design/proposals/nfs.md
- https://github.com/kubernetes-csi/csi-driver-nfs

Signed-off-by: Rakshith R <rar@redhat.com>
2022-04-12 11:07:38 +05:30
subhamkrai f6f03d272b core: start admission controller without any script
finally, admission controller will be enabled default
without any script/manual step. But it still requires cert-manager
to be installed which I believe is already installed in clusters.

**Note**
Code doesn't return error it just logs the error since
we don't want to stop reconciling if the admission controller fails.
We can work on this once the admission controller is stable.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-04-11 19:44:54 +05:30
Madhu Rajanna a1ded0f27f csi: update cephcsi to v3.6.0 release
Removed v3.4.0 as its deprecated in cephcsi
and updated the templates to point to latest
v3.6.0 release.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-04-06 09:51:46 +05:30
Humble Chirammal 6561bdaf53 csi: default to ReadWriteOnceWithFSType for cephfs
```
ReadWriteOnceWithFSType: Indicates that volumes will be examined
to determine if volume ownership and permissions should be modified
to match the pod's security policy. Changes will only occur if the
fsType is defined and the persistent volume's accessModes contains
ReadWriteOnce.
```

In between considering we are giving 0777 permission on nodestage
of cephfs shares, we defaulted to NONE. However giving worldwide
permission to the volume is not the right thing and it has been
fixed in cephfs via https://github.com/ceph/ceph-csi/pull/2847

This commit brings it back to the value which is also in parity
with RBD driver.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-02-11 17:25:21 +05:30
Mathieu Parent 405dcaadac csi: bump registar image to v2.5.0
Upgrades image:

- k8s.gcr.io/sig-storage/csi-node-driver-registrar: v2.4.0 -> v2.5.0

Detailed changelog:

- https://github.com/kubernetes-csi/node-driver-registrar/blob/v2.5.0/CHANGELOG/CHANGELOG-2.5.md

Signed-off-by: Mathieu Parent <mathieu.parent@insee.fr>
2022-02-04 11:19:43 +01:00
Madhu RajannaandMathieu Parent cf46615688 csi: bump csi snapshotter image to v5
updating the csi-snapshotter and dependencies
to v5.0.1 released version.

Co-authored-by: Mathieu Parent <mathieu.parent@insee.fr>
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-01-27 21:17:51 +05:30
Mathieu Parent 88a449d09c csi: bump csi resizer and volume replication images
Upgraded images:

- k8s.gcr.io/sig-storage/csi-resizer: v1.3.0 -> v1.4.0
- quay.io/csiaddons/volumereplication-operator: v0.1.0 -> v0.3.0

Detailed changelogs:

- https://github.com/kubernetes-csi/external-resizer/blob/release-1.4/CHANGELOG/CHANGELOG-1.4.md
- https://github.com/csi-addons/volume-replication-operator/tree/v0.2.0
- https://github.com/csi-addons/volume-replication-operator/tree/v0.3.0

Signed-off-by: Mathieu Parent <mathieu.parent@insee.fr>
2022-01-26 17:38:53 +01:00
Madhu Rajanna 39825f2302 csi: update cephcsi to 3.5.1 release
This PR updates the cephcsi version from
3.5.0 to 3.5.1 which includes minor fixes

fixes: #9619

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-01-21 23:26:07 +05:30
yati1998 07c5fc7e46 csi: updates the default csi-addons image
This commit updates the csi-addons image version
from v0.1.0 to v0.2.1.
Also, this updates the staging path from
{{ .KubeletDirPath }}/plugins/kubernetes.io/csi/pv/ to
{{ .KubeletDirPath }}/plugins/kubernetes.io/csi/.

This changes is done as the reclaimspace on block mode
was not working.
For more details:
 https://github.com/csi-addons/kubernetes-csi-addons/pull/97

Signed-off-by: yati1998 <ypadia@redhat.com>
2022-01-21 17:09:59 +05:30
yati1998 2b92dc812c csi: implement csi-addons sidecar
This commit implements the csi-addons sidecar.

Signed-off-by: yati1998 <ypadia@redhat.com>
2022-01-18 21:52:01 +05:30