Commit Graph
118 Commits
Author SHA1 Message Date
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
Sébastien Han 18b19de639 Merge pull request #9687 from parth-gr/observedGeneration
core: add observedGeneration to CR status
2022-03-17 10:36:11 +01:00
Travis Nielsen ad99f9e205 pool: update the quincy default pool to .mgr
In Quincy, the device_health_metrics pool is renamed to .mgr.
In the example cluster-test.yaml, we therefore update the
example to create the pool with the new name.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-16 14:18:49 -06:00
parth-gr 2dfd64a97c core: add observedGeneration to CR status
adding observedGeneration field in the cephcluster cr
status for having better control on reconciling,
as observedGeneration field will be updated by the controller

Closes: https://github.com/rook/rook/issues/9673

Signed-off-by: parth-gr <paarora@redhat.com>
2022-03-16 19:58:35 +05:30
Sébastien Han c368c2a146 Merge pull request #9862 from vavuthu/fix_external_script_join_cmd
core: fix incorrect join command
2022-03-14 08:57:24 +01:00
Travis Nielsen 03c7164b15 mon: options for enabling msgr2 encryption and compression
msgr2 allows for encryption and/or compression across the wire.
Settings for enabling the encryption and compression are now
available in the cluster CR to that ceph will be automatically
configured with these settings when desired.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-10 11:50:42 -07:00
vavuthu b9d8df9ec9 core: avoid creating json_out incase of dry-run
When using dry-run option with external script, out_map dictionary
doesn't contain keys ( ACCESS_KEY and SECRET_KEY ) which leads to KeyError.
This fix to avoid creating json_out incase of dry-run since we will not use
json_out for dry-run.

Signed-off-by: vavuthu <vavuthu@redhat.com>
2022-03-10 14:25:52 +05:30
vavuthu 149beedf20 core: assign ACCESS_KEY and SECRET_KEY values only in case of actual run
When using dry-run option with external script, function create_rgw_admin_ops_user
is not returning expected values which leads to TypeError. This fix is to append
values to out_map dictionary only in case of actual run.

Signed-off-by: vavuthu <vavuthu@redhat.com>
2022-03-10 14:16:13 +05:30
vavuthu ce98b17bf7 core: fix incorrect join command
Fixing typo in join command
joing -> join

Signed-off-by: vavuthu <vavuthu@redhat.com>
2022-03-10 13:56:37 +05:30
Travis Nielsen 41ca6f6f5c Merge pull request #9847 from parth-gr/cluster-status-fsid
core: sync ceph fsid on cephcluster status
2022-03-09 10:37:06 -07:00
parth-gr 2e89ff0fd9 core: sync ceph fsid on cephcluster status
FSID will be updated with cephcluster CR status
when monitoring check get start

Signed-off-by: parth-gr <paarora@redhat.com>
2022-03-09 21:57:37 +05:30
Sébastien Han 1a78fbac67 Merge pull request #9732 from subhamkrai/split-code-and-unit-test
core: split external script unit test and main code in diff file
2022-03-07 15:09:28 +01:00
Travis Nielsen bc9914e99d mgr: set the default count of mgr daemons to 2
To ensure the mgr is not the single point of failure, the mgr
daemon count is now set to 2 by default in the cluster examples.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-03-02 13:35:05 -07:00
Travis Nielsen 08aed0213c Merge pull request #9567 from Madhu-1/fix-9220
csi: add custom ceph.conf for csi pods
2022-03-01 08:19:02 -07:00
Madhu Rajanna 2076a3c788 csi: add custom ceph.conf for csi pods
Currently, the admin/user can configure the ceph.conf
for daemon pods using https://rook.io/docs/rook/v1.7/
ceph-advanced-configuration.html#custom-cephconf-settings.
This the above custom ceph.conf is only for ceph pods.
the support to provide constom ceph.conf for cephcsi
is added in cephcsi PR 2476

This PR adds the support to create/update
ceph.conf for csi pods.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-03-01 12:42:59 +05:30
Travis Nielsen a98678585a build: update ceph base image to v16.2.7-20220216
The latest ceph image should be used for the base of
the rook image to pick up the latest security releases.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-02-28 11:21:49 -07:00
Travis Nielsen c8e68511ce Merge pull request #9804 from travisn/cleanup-metadata-pvcs
osd: Purge job will remove all pvcs for the osd
2022-02-28 11:08:38 -07:00
Travis Nielsen ba165ec121 Merge pull request #9729 from humblec/final-fsgroup
csi: default to ReadWriteOnceWithFSType for cephfs
2022-02-25 07:44:46 -07:00