Commit Graph
946 Commits
Author SHA1 Message Date
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
Travis Nielsen b3ca0f1b87 osd: purge job will remove all pvcs for the osd
The purge job is intended to clean up all the resources
related to an OSD that is to be removed. An OSD with
a metadata, wal, and data PVC was only cleaning up the
data PVC. Now the metadata and wal PVCs will also be
cleaned up.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-02-24 12:05:15 -07:00
subhamkrai 3e6aa9e556 core: split external script unit test and main code in diff file
split the external script main code and unit test in different file.

Closes: https://github.com/rook/rook/issues/9588
Signed-off-by: subhamkrai <srai@redhat.com>
2022-02-24 18:23:21 +05:30
Travis Nielsen a778d6737e Merge pull request #9794 from aruniiird/making-alert-timeout-and-alertdoc-timeout-same
monitoring: making alert firing timeout and the doc timeout same
2022-02-23 09:38:13 -07:00
Arun Kumar Mohan 054d009af6 monitoring: making alert firing timeout and the doc timeout same
Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
2022-02-23 21:15:09 +05:30
parth-gr 1679af4a02 mds: override mds startup liveness probes from CephFilesystem CR
Rook code allows overriding the probes for mds from the CephCluster,
but this should really come from the CephFilesystem CR.

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

Signed-off-by: parth-gr <paarora@redhat.com>
2022-02-22 20:36:40 +05:30
parth-gr 3e64525b62 csi: make use of common user creation method
refactor the code so we can use common csi user
creation method

Signed-off-by: parth-gr <paarora@redhat.com>
2022-02-16 10:29:34 +05:30
parth-gr 9b20b475cf csi: modify upgrade flag in external cluster
The upgrade function doesn't seem to be that smart
for now so it can update the new auth caps listed
with the existing one, it only compares the value of
the current cap with the MIN_USER_CAP_PERMISSIONS,

Modified the upgrade flag functionality so we can use
this while upgrading the cluster clients

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

Signed-off-by: parth-gr <paarora@redhat.com>
2022-02-16 10:29:34 +05:30
subhamkrai 5b49d36167 csi: add comment after namespace
adding comment after namespace to identify if
it cluster namespace or operator namespace.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-02-14 18:39:33 +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
Travis Nielsen 8e8c95d342 Merge pull request #9702 from sathieu/registrar_v2.5.0
csi: bump registar image to v2.5.0
2022-02-10 08:59:30 -07:00
parth-gr 4f43f2d93e csi: make create and get process separate for csi users
Currently if we run external-script and user already exit,
it fails to create/run same user again if the caps are upgraded,
so we need to check first if user is already present.
And for upgrading user we can do upgrade after this
PR: https://github.com/rook/rook/pull/9609 will get merged.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2048458

Signed-off-by: parth-gr <paarora@redhat.com>
2022-02-04 20:08:31 +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
Travis Nielsen 3e4edc0f1d csi: add patch permission to volumesnapshotcontents
The update to the snaphots 5.0 controller requires
rbac for patching the volumesnapshotcontents.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-01-27 11:35:06 -07: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
Radoslaw Zarzynski 17ca41f557 osd: allow for injecting extra env. variables via ConfigMap
This patch brings a mechanism to define arbitrary environment
variables in OSD containers (both prepare and main ones).
It bases on idea proposed by Sebastien Han to use an optional
`ConfigMap` instance named `aook-ceph-daemon-env-override`
as the source of these settings.

The need for the patch comes from the fact that, although
crimson finally exposes the same CLI interface as the classical
OSD, the broadly used development builds have ASan built in.
As ASan, by default, complains if it isn't the very first loaded
DSO, we need a way to set the `ASAN_OPTIONS` environment variable
to `verify_asan_link_order=0` to mitigate the early aborts.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2022-01-26 15:17:27 +00: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
Blaine Gardner d0d83edc5f Merge pull request #9502 from cybozu-go/core-support-priority-class-for-crashcollector
core: support priority class for crashcollector
2022-01-19 10:38:29 -07:00
Travis Nielsen 49c7ff0612 Merge pull request #9547 from subhamkrai/annotation-on-resources
mon: add annotation to mon secret and cm
2022-01-19 07:51:05 -07:00
Satoru Takeuchi 5465481e0b core: support priority class for crashcollector
Support priorityClass to crashcollectors as mons, mgrs, and osds.

https://rook.io/docs/rook/v1.8/ceph-cluster-crd.html#priority-class-names-configuration-settings

The main use case is applying the high priority to crashcollectors to preempt normal pods
under heavy load. Without this feature, we might lose crash information.

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

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2022-01-19 13:54:03 +00:00
yati1998 c559bbdf6b csi: restrict csiaddons to use only 1 port
This commit restrict csiaddons to open only 1 port
as per the requirement which is required for security.

Fixes: #9604

Signed-off-by: yati1998 <ypadia@redhat.com>
2022-01-19 12:07:46 +05:30