Commit Graph
372 Commits
Author SHA1 Message Date
subhamkrai 159fe3ae6f operator: disable webhook by default
disable webhook in downstream cluster.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-12-15 21:08:42 +05:30
Zuhair 792a261ca9 docs: auto generate helm chart docs using helm-docs
Signed-off-by: Zuhair AlSader <zuhair@koor.tech>
2022-12-02 17:08:50 -05:00
ac4b47d71a csi: add a parameter to modify the maxUnavailable value of rbd daemonset
The default value of maxUnavailable of daemonset is 1.
Sometimes the upgrade can be slow due to this setting.
So I add a parameter to change the value for rbd daemonset.

Signed-off-by: Shinya Hayashi <shinya-hayashi@cybozu.co.jp>
Co-authored-by: Toshikuni Fukaya <toshikuni-fukaya@cybozu.co.jp>
Co-authored-by: Yuji Ito <llamerada.jp@gmail.com>
2022-11-21 05:16:15 +00:00
Jens Erat 0f7e1d0343 helm: set DISCOVER_DAEMON_UDEV_BLACKLIST
While #4211 added support for the udev blacklist and also added it to
the values file, it omitted actually passing the value as environment
variable.

Signed-off-by: Jens Erat <email@jenserat.de>
2022-11-14 19:01:45 +01:00
Travis Nielsen 01d71c41ea Merge pull request #10652 from anthonyeleven/anthonyeleven/update-RBD-image-features
docs: add additional RBD image features to docs and YAML files
2022-11-10 11:09:21 -07:00
Travis Nielsen e0d1cabfda Merge pull request #11278 from parth-gr/resources-discovery
core: Add ability to add resources on discovery DaemonSet
2022-11-10 07:59:23 -07:00
parth-gr 9f432b4ecb core: add ability to add resources on discovery daemon set
Closes: https://github.com/rook/rook/issues/11265

Signed-off-by: parth-gr <paarora@redhat.com>
2022-11-10 17:50:06 +05:30
Travis Nielsen d587272d82 Merge pull request #11263 from zalsader/disable-psp
security: change `pspEnable` default value to `false` in Ceph Operator helm chart
2022-11-09 16:48:59 -07:00
Shinya Hayashi 05875a3f4f osd: support loop devices for test clusters
A new variable is added to rook-ceph-operator-config
ConfigMap to allow using loop devices for osd.

This feature is intended to be used for testing purposes only.

Signed-off-by: Shinya Hayashi <shinya-hayashi@cybozu.co.jp>
2022-11-09 06:45:41 +00:00
Blaine Gardner fc56108865 object: allow status endpoints to be null
For the upgrade case, Rook can fail to set status information
on CephObjectStores after CRDs are updated but before the operator is
updated. To fix this, merely allow the slices to be null in the
CephObjectStore's status.endpoints.

This PR seems to be aggravating the helm filesystem upgrade test. Allow
30 more seconds for CRDs to be done before bailing. In debugging, the
filesystem often needed only an extra 3 seconds to succeed.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-11-08 13:36:15 -07:00
Zuhair AlSader 1454d5a7a6 security: change pspEnable default value to false
Disable PodSecurityPolicy in Ceph Operator helm charts by default.

Signed-off-by: Zuhair AlSader <zalsader@hotmail.com>
2022-11-07 21:40:07 +00:00
Blaine Gardner c67c33f1d3 Merge pull request #11202 from BlaineEXE/object-external-enpoint-do-not-use-service
object: do not create service for external object stores
2022-11-07 10:51:33 -07:00
Blaine Gardner a777b1d7d1 object: do not create service for external object stores
External CephObjectStores already have endpoints defined by
spec.gateway.externalRgwEndpoints, and if the external store is
configured with TLS (HTTPS), the store's certificates will likely not
accept connections intended for the Service endpoint Rook creates. Some
users might not be able to easily add the service endpoint to their
certificates. Therefore, don't even bother creating a Service for
external clusters.

This does introduce a few issues. The Service seems to have been
initially created to allow multiple external RGW endpoints to be
addressable via a single address in Rook. For all connections to an
external CephObjectStore with multiple endpoints, simply choose an
endpoint at random. Random selection will prevent Rook from failing to
create buckets or users on an external store if one of the external
store's endpoints fails.

The latest OBC library (lib-bucket-provisioner) allows updating the
endpoints on ObjectBuckets after they are created. This allows Rook
users to change endpoints on external CephObjectStores without breaking
all existing OBCs. It requires implementation of the new GetUserID()
library call, requires updating Provision() and Grant() calls to be
idempotent, and it requires removing the Update() call.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-11-04 17:30:30 -06:00
Jairo Llopis e0ad2f9789 helm: bugs following docs for NixOS deployment
85b079105b introduced some bugs that here I'm fixing.

1. Docs missing `csi.` prefix.
2. Chart was using `cis.csiRBDPluginVolumes` instead of `csi.csiCephFSPluginVolume`.
3. Values had to be a scalar value, not a raw string. Otherwise, the operator can't parse it.
4. Link to `/run/booted-system` instead of `/run/current-system`. In the former, the kernel modules will always match the current kernel; in the latter, it could happen that after a new `nixos-rebuild switch`, plugin containers can't find the kernel modules for the booted kernel version.
5. Values included in the `values.yaml` template were plural. These are not supported, they must all be singular.

About that 3rd point, this was the error being logged:

```
2022-11-04 09:54:47.489851 I | op-k8sutil: CSI_RBD_PLUGIN_VOLUME="|\n - name: lib-modules\n hostPath:\n path: /run/current-system/kernel-modules/lib/modules/\n - name: host-nix\n hostPath:\n path: /nix" (configmap)
2022-11-04 09:54:47.489907 W | ceph-csi: failed to parse "|\n - name: lib-modules\n hostPath:\n path: /run/current-system/kernel-modules/lib/modules/\n - name: host-nix\n hostPath:\n path: /nix" for "CSI_RBD_PLUGIN_VOLUME". json: cannot unmarshal string into Go value of type []v1.Volume
2022-11-04 09:54:47.489916 I | op-k8sutil: CSI_RBD_PLUGIN_VOLUME_MOUNT="|\n - name: host-nix\n mountPath: /nix\n readOnly: true" (configmap)
2022-11-04 09:54:47.489937 W | ceph-csi: failed to parse "|\n - name: host-nix\n mountPath: /nix\n readOnly: true" for "CSI_RBD_PLUGIN_VOLUME_MOUNT". json: cannot unmarshal string into Go value of type []v1.VolumeMount
```

@moduon MT-1503

Signed-off-by: Jairo Llopis <yajo.sk8@gmail.com>
2022-11-04 13:24:31 +00:00
Anthony D'Atri 10b398cc02 docs: add additional RBD image features to docs and YAML files
Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2022-10-27 10:57:50 -06:00
Travis Nielsen 0d3d12c0fd Merge pull request #11198 from subhamkrai/latest-ceph-version
core: upgrade ceph to latest release v17.2.5
2022-10-26 09:51:47 -06:00
subhamkrai 270b565f18 core: upgrade ceph to latest release v17.2.5
Signed-off-by: subhamkrai <srai@redhat.com>
2022-10-26 19:59:53 +05:30
Blaine Gardner 0937eaee38 Merge pull request #11124 from BlaineEXE/object-revise-health-check
object: remove health checker
2022-10-24 11:31:23 -06:00
gauravsitlani c5841c98fd docs: adding enableRBDStats example in helm chart deployment
Signed-off-by: gauravsitlani <gauravsitlani@riseup.net>
2022-10-21 17:57:43 +05:30
Travis Nielsen ba6adc60e1 build: update the go modules to the latest
The security scan is failing due to a go dependency
so we update the go modules and all dependencies to
the latest available.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-10-20 10:40:17 -06:00
Madhu Rajanna 729f2a8b32 csi: update csi to latest release
This updates the cephcsi to latest 3.7.2
release and also updates sidecar to the latest
release in some missing files.

Note:- sidecar images are upto date in most of
the places, in some places it was missing, This
PR updates it in missing place.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-10-20 09:16:05 +02:00
Travis Nielsen 67582fe0da operator: remove obsolete flex driver properties
The flex driver was deprecated and fully purged long ago,
and now finally we are purging the related properties
from the operator deployment that are no longer applied
anywhere.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-10-19 13:51:39 -06:00
Travis Nielsen d695a0f930 Merge pull request #11163 from gauravsitlani/gdb-coredump-tests
core: enabling logCollector by default for coredump collection
2022-10-19 12:34:54 -06:00
gauravsitlani cc02399c4c core: enabling logCollector by default for coredump
enabling logCollector by default will enable the coredump
generation in case a process terminates with a segmentation fault.

Signed-off-by: gauravsitlani <gauravsitlani@riseup.net>
2022-10-19 23:04:22 +05:30
Blaine Gardner a7c0c7ee93 object: remove health checker
Remove the health checker for CephObjectStore. The liveness and
readiness probes go through the same code paths in RGW as creating
buckets without as much affect on the storage backend.

Full discussion: https://github.com/rook/rook/issues/11031

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-10-18 13:41:46 -06:00
Travis Nielsen 87afc09e05 Merge pull request #11090 from parth-gr/external-rgw
external: fix endpoint_dial check for rgw endpoint
2022-10-18 09:11:10 -06:00
parth-gr fb7b67c3f4 external: fix endpoint_dial check for rgw endpoint
the validate rgw endpoint tls cert returns the certificate instead
of returning whether it exist or not,
So updatd the flow how to use it

Closes: https://github.com/rook/rook/issues/11060
Signed-off-by: parth-gr <paarora@redhat.com>
2022-10-14 19:16:30 +05:30
Travis Nielsen 4990e3c730 Merge pull request #11123 from parth-gr/wildcard-update
core: remove wildcard permission in rbac
2022-10-11 10:52:10 -06:00
Travis Nielsen b32152455d Merge pull request #11131 from parth-gr/test-ci
ci: update mon_data_avail_warn percentage
2022-10-10 10:14:49 -06:00
parth-gr d392129cdd ci: update mon_data_avail_warn percentage
I see the mon_data_avail_warn is set to 500M
but acording to ceph doc this should be in percentage
And by default this percentage is 30%,
So re assigned to 10% for the CI

Closes: https://github.com/rook/rook/issues/11130
Signed-off-by: parth-gr <paarora@redhat.com>
2022-10-10 18:58:12 +05:30
parth-gr 703c850b86 core: remove wildcard permission in rbac
Reduce the RBAC scope to the minimum necessary
permissions for rook to operator

Signed-off-by: parth-gr <paarora@redhat.com>
2022-10-10 15:05:56 +05:30
Travis Nielsen 4a86012ead osd: recommend removing memory limits from osd prepare job
The osd prepare job is not recommended to have memory limits since
it's a one-time operation depending on the size of the disk that must
be allowed to complete successfully.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-10-05 15:36:02 -06:00
Travis Nielsen 92c52c4a2e osd: prepare job needs significant more memory for provisioning
The OSD creation may need to burst during OSD provisioning depending
on the size of the OSD or similar factors. If the OSD prepare job is
OOM killed it will cause OSD provisioning to fail and have various
side effects that are difficult to troubleshoot to get the OSD
to succeed. So we increase the recommendation significantly to avoid
the OOM kill.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-10-05 08:29:18 -06:00
Travis Nielsen 4370d9c710 Merge pull request #11085 from humblec/sidecar-update
update sidecars to latest in CSI deployment
2022-09-29 08:46:30 -06:00
Humble Chirammal c847e6b98d csi: update sidecars to latest in CSI deployment
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-09-29 19:35:17 +05:30
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
Travis Nielsen b6e5307f25 Merge pull request #11071 from nixpanic/strict-decoding/k8s-1.25
examples: CephBlockPool does not have spec.annotations
2022-09-28 08:28:58 -06:00
Travis Nielsen 0779618816 Merge pull request #10966 from avanthakkar/customizable-image-pull-policy
operator: make imagePullPolicy customizable for csi driver and ceph pods
2022-09-28 07:23:26 -06:00
Niels de Vos 69dc8897bb docs: the CephBlockPool CR does not have spec.annotations
With Kubernetes 1.25 it seems that applying the yaml files that have a
CephBlockPool with spec.annotations fail with errors like this:

    CephBlockPool in version "v1" cannot be handled as a CephBlockPool:
    strict decoding error: unknown field "spec.annotations"

Updates: ceph/ceph-csi#3362
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2022-09-28 11:56:12 +02:00
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
Niels de Vos 79adad7dc0 nfs: allow users to include additional files in the SSSD sidecar
The sssd.conf may refer to additional files, like a CA bundle or TLS
certificates. These files need to be made available in the SSSD sidecar.
With the new `sssdGenericFiles` reference to a VolumeSource and a
`MountPath`, a provided `sssd.conf` can use the additional files.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-09-26 16:50:50 -06:00
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
Travis Nielsen b4dcc9b633 Merge pull request #10990 from parth-gr/mon-ci-health
ci: add mon_data_avail_warn to canary ci test
2022-09-15 10:09:34 -06:00
parth-gr df8493d77b ci: add mon_data_avail_warn to canary ci test
ceph cluster on ci mostly have health error
mon disk low on size,
so overriding the min aval capacity to 0 from 30% default so this
error can be removed

Closes: rook#10971

Signed-off-by: parth-gr <paarora@redhat.com>
2022-09-15 15:20:47 +05:30
Travis Nielsen eaee34872b Merge pull request #10912 from parth-gr/restricted-upgrade
docs: add upgrade steps for multi-tenant custer
2022-09-14 07:44:07 -06:00
parth-gr 0ad1b52005 docs: add upgrade steps for multi-tenant custer
Currently for external clustr multitenancy is only applicable for new
deployments, but adding doc change so multi-tenancy can be achieved for
upgraded cluster also

Closes: https://github.com/rook/rook/issues/10678
Signed-off-by: parth-gr <paarora@redhat.com>
2022-09-14 12:48:18 +05:30
Travis Nielsen d7ca581ef9 Merge pull request #10700 from jdloft/fix-growth-rule
monitoring: fix pool growth warning grouping
2022-09-13 11:31:47 -06:00
Blaine Gardner 697f34fcee Merge pull request #10950 from BlaineEXE/nfs-kerberos-implementation
nfs: add kerberos client security support
2022-09-13 10:05:14 -06:00
Blaine Gardner 2b0eaa974f Merge pull request #10909 from subhamkrai/remove-import-error
external: fix import errors for python2
2022-09-13 08:49:12 -06:00
Blaine Gardner 005000212c nfs: add kerberos client security support
Add support for enabling kerberos for client authentication.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-09-13 08:46:52 -06:00