Commit Graph
135 Commits
Author SHA1 Message Date
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 d172030238 Merge pull request #10096 from travisn/default-prio-class
core: Examples set default priority class names
2022-04-20 07:39:08 -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 0a25af78dc monitoring: remove cephadm specific alerts
The ceph adm alerts were included in the latest prometheus
rules. With rook these alerts will never be triggered, so
we remove them.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-04-19 16:03:54 -06:00
Travis Nielsen e45781d0d3 monitoring: disable new alerts that are not applicable to rook
The new alerts picked up for Rook v1.9 directly from the ceph repo
were not all rook-compliant. The alert for the prometheus job not
running is not needed since Rook and K8s go to great lengths to
keep the mgr pod running already.

The alert for the cluster filling up soon is also disabled
until we find how to get the formula working in rook clusters.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-04-19 14:57:05 -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
Travis Nielsen 4d23911fd9 Merge pull request #10074 from Madhu-1/make-rpc-timeout-configurable
csi: make GRPC timeout configurable
2022-04-19 07:54:50 -06:00
Blaine Gardner 398d1b046a Merge pull request #10076 from BlaineEXE/nfs-add-missed-scc
docs: fix nfs permission on openshift example
2022-04-14 08:43:29 -06:00
Blaine Gardner 1311bf870a docs: fix nfs permission on openshift example
Fix a small permission (RBAC) issue with the operator-on-openshift.yaml
example's SecurityContextConstraint. A ServiceAccount reference for the
Ceph CSI NFS provisioner was missing.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-04-14 08:32:09 -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
Blaine Gardner a950feb01e docs: update NFS docs including latest CSI work
Update the NFS docs with the latest available info for Ceph Quincy
including the CSI provisioner driver.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-04-13 15:02:16 -06:00
Travis Nielsen 221fc5d81b Merge pull request #10046 from Madhu-1/webhook-rados
ceph: add webhooks to reject update on subvolume group and radosnamespace
2022-04-13 11:06:20 -06:00
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
Madhu Rajanna 024c034a95 core: add code to update the webhook configurations
As we are adding new webhook configuration we
need to update the webhooks validations.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-04-13 10:38:38 +05:30
Blaine Gardner bca2f128ab build: generate a separate NFS CSI RBAC manifest
Because the NFS CSI driver is optional and rarely deployed, make RBAC
for this driver an optional example that is generated by the helm chart.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-04-12 16:57:11 -06:00
Blaine Gardner 254a7adb4c nfs: create config pool by default
Create the ".nfs" config pool by default so that users aren't required
to create it via CephBlockPool.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-04-12 12:05:43 -06:00
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
Sébastien Han 2c09bbb91b ci: add multus integration test
This new integration test will deploy a cluster with multus enabled. It
will be comprised of two network interfaces for ceph public and cluster
communications.
For now, it only deploys a Ceph cluster up to the OSDs.

Closes: https://github.com/rook/rook/issues/9784
Signed-off-by: Sébastien Han <seb@redhat.com>
2022-04-12 17:30:47 +02:00
Rakshith R f1953314d4 csi: add nfs example yamls
This commit adds example nfs storageclass,
pvc and pod yamls.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-04-12 11:25:09 +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
Travis Nielsen 7eaef3871d Merge pull request #10009 from humblec/remove-update
csi: remove node object update rbac for csi deamonset pods
2022-04-11 09:55:10 -06:00
Travis Nielsen e0ff39bd29 Merge pull request #9934 from subhamkrai/automate-adm
core: start admission controller without any script
2022-04-11 09:07:27 -06:00
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
Travis Nielsen e5a3cbd08c test: default pool replica size for test cluster is 1
The default replica count for test clusters should be 1.
This was causing the rgw-multisite integration test to
fail because the PGs were attempting to use the default
replication instead of the replication of 1 expected
for test clusters.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-04-08 15:58:43 -06:00
Humble Chirammal e2a95ac51e csi: remove node object update rbac for csi deamonset pods
The CSI driver pods dont need to update the node objects for
its operations. This commit remove the unwanted access to node
object update in the RBAC of CSI pods.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-04-07 11:11:16 +05:30
Blaine Gardner 7adba6cc86 Merge pull request #9997 from BlaineEXE/upgrade-docs-for-1.9
Upgrade docs for 1.9
2022-04-06 09:51:26 -06:00
Blaine Gardner 8d619501fe docs: update docs for 1.9 release
Update upgrade and supporting docs for release of Rook v1.9.
Include pending release notes as part of this update.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-04-06 09:06:26 -06:00
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
Travis Nielsen 38407c4416 Merge pull request #9974 from thotz/add-route-https-endpoint-rgw
object: add details about route for rgw's https endpoint
2022-04-05 12:34:10 -06:00
Jiffin Tony Thottan 68dced0409 object: add details about route for rgw's https endpoint
In the `object-openshift.yaml` details about exposing `Routes` for RGW
service, currently it exposes both ports if they are available. This is
very difficult to manage via same route like adding termination policy
etc.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2022-04-05 23:33:20 +05:30
Travis Nielsen 8b6e2c792e Merge pull request #9952 from parth-gr/upstream-external-cluster
csi: make use of create-external-cluster-resources.py upstream
2022-04-05 08:53:47 -06:00
parth-gr 63945df72d rgw: change name of rgw admin keys
Corrected RGW_ADMIN_OPS_USER_ACCESS_KEY  and
RGW_ADMIN_OPS_USER_SECRET_KEY so it should be
output correctely when called script with
bash format output

Signed-off-by: parth-gr <paarora@redhat.com>
2022-04-05 19:33:36 +05:30
parth-gr 7ce49aee5b csi: make use of create-external-cluster-resources.py upstream
Updated doc how to use create external cluster

Closes: https://github.com/rook/rook/issues/9591
Signed-off-by: parth-gr <paarora@redhat.com>
2022-04-05 19:33:29 +05:30
Madhu Rajanna b0fc7c9b92 namespace: add new CRD
This introduces a new CRD to add the ability
to create rados namespace for a given
ceph block pool. Typically the name of the pool
is the name of the blockpool created by rook.

Closes: #7035

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-04-05 10:10:04 +05:30
Jiffin Tony Thottan 5e72b26948 object: add service account for RGW pod
For supporting features like service account authentication for vault
KMS , a service account account need to attach with pod.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2022-04-04 11:24:50 +05:30
parth-gr 79db113aab csi: rbd node secret was misspelled
Corrected CSI_RBD_NODE_SECRET name so it should be
output correctely when called script with
bash format output

Signed-off-by: parth-gr <paarora@redhat.com>
2022-03-29 16:56:42 +05:30
parth-gr 339855f172 ci: fixed pylint failure
pylint was failing with used-before-assignment error
fixed it by making the variables assignmet before it was used
Also backward compatibility is removed from the ModuleNotFoundError import,
as we auto installed python3 version on ceph standalone

Signed-off-by: parth-gr <paarora@redhat.com>
2022-03-29 12:09:32 +05:30
Jiffin Tony Thottan fc2b8012c6 object: use us-east-1 for aws go lang sdk
The aws go lang sdk needs value for region, it is set differently in
various part of current code. With PR the value is always `us-east-1` so
that it will work RGW server without any issues.

This reverts commit 280c29f330.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2022-03-24 14:37:39 +05:30
Travis Nielsen 8dd4b77d8a monitoring: update to the latest ceph prometheus rules
Pick up the latest ceph prometheus rules from the ceph repo
found at https://github.com/ceph/ceph/blob/master/monitoring/ceph-mixin/prometheus_alerts.yml.
The updates include many new rules for monitoring of ceph.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-21 14:47:56 -06:00
Travis Nielsen 4edcff04f7 monitoring: create prometheus rules with helm chart
The prometheus rules had been previously created if the cephcluster CR
setting monitoring.enabled was set to true. The rules were not customizable
and therefore not flexible enough. Now the rules are installed by the helm
chart. To customize the rules, a post-processor can be applied to the helm
chart.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-21 14:47:52 -06:00
Travis Nielsen 4f9a72c1db Merge pull request #9894 from yuvalman/resources
helm: enable resource defaults on rook components
2022-03-21 13:58:17 -06:00
Yuval Manor ff7a5c2d2d helm: enable resource defaults on rook components
This PR assign default values to the resources of all Rook and Ceph components

Closes: https://github.com/rook/rook/issues/9858
Signed-off-by: Yuval Manor <yuvalman958@gmail.com>
2022-03-21 21:23:35 +02:00
Travis Nielsen 833c458f60 Merge pull request #9910 from subhamkrai/all-crs-printColumn
core: add `Phase` in `additionalPrinterColumns` for all CRs
2022-03-21 07:15:07 -06:00
subhamkrai dc488591e2 core: add Phase in additionalPrinterColumns for all CRs
this commit adding `Phase` in `additionalPrinterColumns` for
all the CRs.

this is how it looks now, example:

```
$ kc get cephfilesystem
NAME   ACTIVEMDS   AGE     PHASE
myfs   1           4m57s   Ready
srai@ ~
$ kc get cephblockpool
NAME                    PHASE
device-health-metrics   Ready
replicapool             Progressing
srai@ ~
$ kc get cephclient
NAME     PHASE
cinder   Ready
glance   Ready
```

Closes: https://github.com/rook/rook/issues/9883
Signed-off-by: subhamkrai <srai@redhat.com>
2022-03-21 09:13:26 +05:30