Commit Graph
1135 Commits
Author SHA1 Message Date
Travis Nielsen e68ecff8e5 Merge pull request #10132 from casperbiering/ingressClassName-should-be-available-for-v1
helm: ingressClassName should be available for networking.k8s.io/v1
2022-04-22 16:59:12 -06:00
Casper Biering 9aa16ac587 helm: ingressClassName should be available for networking.k8s.io/v1
Allow defining ingressClassName on K8S clusters v1.20+ that uses networking.k8s.io/v1

Signed-off-by: Casper Biering <casper@biering.dk>
2022-04-22 22:18:19 +02:00
Travis Nielsen 1dd343ed7e build: add a placeholder rule to rgw rbac
With https://github.com/rook/rook/pull/10108 a placeholder role
and role binding were added for the rgw service account so
the csv generation would generate the service account. That
workaround also requires a rule to be added to the role or else
the generation is invalid. Now a rule is added to avoid that
issue. In the future we need to remove this role and binding
when the operator sdk is updated as explained in
https://github.com/rook/rook/issues/10141

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-04-22 10:38:58 -06:00
Travis Nielsen 7f709776b5 core: rgw realm pull spec is optional
The endpoint on the rgw realm pull spec is causing a failure
if not specified even when it is not expected to be
required. Now the endpoint has the json property to be
ommitted if not specified.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-04-22 08:08:12 -06:00
Travis Nielsen 622f3c09b8 Merge pull request #10023 from subhamkrai/update-cntrl-runtime
core: update controller-runtime version to v0.11.2
2022-04-20 11:52:46 -06:00
Travis Nielsen d3c036c90c Merge pull request #10108 from travisn/rgw-serviceaccount-csv
build: Add a placeholder rgw role for csv generation
2022-04-20 11:51:30 -06:00
subhamkrai 13cc698566 core: update controller-runtime version to v0.11.2
update controller-runtime version to v0.11.2

Signed-off-by: subhamkrai <srai@redhat.com>
2022-04-20 22:30:16 +05:30
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 e1550e7551 build: add a placeholder rgw role for csv generation
The csv will not properly include the rook-ceph-rgw service
account unless there is a role and binding that references
the service account. No roles are needed yet for the rgw
daemon, so this will add a placeholder only for the purposes
of csv generation.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-04-20 07:53:17 -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
log1cb0mb be905e6d6c helm: add ingressClassName field
Add support for .spec.ingressClassName field

Signed-off-by: log1cb0mb <nabeelnrana@gmail.com>
2022-04-18 19:46:23 +03:00
Travis Nielsen 35427f99a2 Merge pull request #10071 from Rakshith-R/olm/add-nfs-rbac
csi: enable csi nfs to generate nfs rbac for csv
2022-04-14 09:52:52 -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
Rakshith R 762f75062f csi: enable csi nfs to generate nfs rbac for csv
This commit enables csi.nfs during rbac generation
for csv, so that it can used when deployed with olm.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-04-14 11:47:39 +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 7ace343a70 Merge pull request #10027 from travisn/prometheus-formatting
helm: Correctly check external cluster for prometheus rules
2022-04-11 11:59:06 -06:00
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
Travis Nielsen 257dc61391 helm: correctly check external cluster for prometheus rules
When the prometheus rules are created, if external settings
were not specified, the helm chart would fail due to a nil ref
in the external settings. Now we check both for the existence
of external settings and whether the external settings are enabled.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-04-08 13:28:54 -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
Blaine Gardner 5b393bb884 Merge pull request #9998 from BlaineEXE/remove-prometheusrules-from-rbac
monitoring: remove prometheusrules kind from RBAC
2022-04-05 13:59:49 -06:00
Blaine Gardner 0e08aeedac monitoring: remove prometheusrules kind from RBAC
Minor update to remove prometheus rules from RBAC, which is no longer
managed by Rook.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-04-05 12:38:35 -06:00
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