Commit Graph
3904 Commits
Author SHA1 Message Date
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
Blaine Gardner 3081817302 Merge pull request #11042 from BlaineEXE/nfs-sssd-arbitrary-files
nfs: allow users to include additional files in the SSSD sidecar
2022-09-27 11:51:40 -06: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
Blaine Gardner 2965373ea9 Merge pull request #10898 from parth-gr/test-nfs
nfs: fix nfs if multus is enabled
2022-09-22 12:27:47 -06:00
parth-gr 26584fc6e5 core: update loadclusterInfo with multus check
if Multus is enabled the clusterinfo should be updated with
network as multus as to run the ceph cmds in remote
executor

Signed-off-by: parth-gr <paarora@redhat.com>
2022-09-22 14:46:51 +05:30
Prasanna Kumar Kalever bf3a3aa92e csi: make sure we reset CSIParam booleans to default
On removing or setting params to false in operator config map, make sure
to set CSIParam to their appropriate defaults, since we are not restarting the
operator we cannot just assume these params/variables/flags are defaulted,
everytime we need to makesure some defaults are specified.

This is what happens without these changes:
* Set CSI_ENABLE_METADATA to true, this will tune CSIParam.CSIEnableMetadata
  to true from false
* Create a PVC and check the metadata is added to the rbd/cephfs volumes
* Now Set CSI_ENABLE_METADATA to false, we assume CSIParam.CSIEnableMetadata
  will be set to false, but that is not happening because the earlier value
  of `CSIParam.CSIEnableMetadata = true` still persist.
  (we are not restarting operator to assume value of CSIParam.CSIEnableMetadata
   to be reset to false)

This happens with CSI_ENABLE_OMAP_GENERATOR and many other flags too,
fixing them all with these changes.

Thanks to Madhu for debugging the issue and testing it along.

Credit: Madhu Rajanna <madhupr007@gmail.com>
Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
2022-09-21 17:23:37 +05:30
Jiffin Tony Thottan d605ba4cf8 rgw: handle insecure flag skip for obc in the tls config
OBC provisioner ignores insecure skip flag even if it is declared for
TLS auth, hence bucket creation was failing

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2022-09-20 00:05:43 +05:30
Joshua Hoblitt 0763f91f93 operator: silence 'cm is handled by another watcher' DEBUG messages
I guesstimate that around 50% of the operator log volume when set to log
level `DEBUG` are messages about cm's which aren't relevant to rook.

E.g.:

```
2022-09-16 23:03:05.430839 D | ceph-cluster-controller: hot-plug cm watcher: only reconcile on hot plug cm changes, this "ingress-controller-leader" cm is handled by another watcher
2022-09-16 23:03:05.643255 D | ceph-cluster-controller: hot-plug cm watcher: only reconcile on hot plug cm changes, this "fleet-agent-lock" cm is handled by another watcher
2022-09-16 23:03:05.799526 D | ceph-cluster-controller: hot-plug cm watcher: only reconcile on hot plug cm changes, this "cattle-controllers" cm is handled by another watcher
```

Yes, it is `DEBUG` and noise is expected. However, there is no message
about checking the status of the cm's rook actually needs to watch and
these messages don't seem very useful. I have been resorting to piping
the operators logs through `| grep -v 'hot-plug cm watcher'` to cut down
the noise.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2022-09-16 16:23:19 -07: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
zhucan aa41742c83 pool: add timeout to rbd cmd
Signed-off-by: zhucan <zhucan.k8s@gmail.com>
2022-09-16 10:26:20 +08:00
subhamkrai cfc5f19f92 core: use assimilate-conf command to run commands
this commit uses the ceph feature assimilate-conf to set
multiple configurations for ceph global/pods at one file and
use that in command to set the required configuration in one
line command.
for example:
`ceph config assimilate-conf -i <input file> -o <output file>`

Signed-off-by: subhamkrai <srai@redhat.com>
2022-09-15 17:53:58 +05:30
Randy J. Martinez ac9df66b76 core: increase liveness probe timeout to 5s
stability issues have been observed with 1s.
socket latency is expected whenever CPUs are
under minor pressure. Increasing value to
5s should cover most small-medium scale envs.

Resolves BZ: 2126566

Signed-off-by: Randy J. Martinez <randy@cephtips.com>
2022-09-13 17:32:43 -05: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 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
Rakshith R c02f3194d1 pool: initialize only rbd application pools
`rbd pool init` cmd initializes pool for rbd images.
This commit makes modification to init only
rbd application pools, since it is not required
by other pools like ".nfs",".mgr" & "mgr_devicehealth".

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-13 18:18:26 +05:30
Travis Nielsen ef3f55460c Merge pull request #10728 from thotz/multisite-delete-zone-pools
rgw: delete zone/pools for multisite configuation
2022-09-12 13:42:42 -06:00
Jiffin Tony Thottan c98628eb0f rgw: delete zone/pools for multisite configuation
Allow option to delete the zone/pools created by ceph object zone CR.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2022-09-12 21:44:55 +05:30
Rakshith R 3c5a2f4142 csi: add topology provisioning support
This commit adds topology provisioning
support. This makes modification to rbac,
csi deployment and daemonset.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-12 16:10:18 +05:30
Travis Nielsen 91ede0279e Merge pull request #10889 from Rakshith-R/add-kmip-support
osd: add kmip encryption support
2022-09-09 14:23:19 -06:00
Rakshith R f21c12234d osd: add kmip encryption support
The cluster-wide encryption feature now
supports KMIP (Key Management Interoperability Protocol)
kms.
KMIP is an extensible communication protocol that defines
message formats for the manipulation of cryptographic keys
on a key management server.

For more information, refer:
https://en.wikipedia.org/wiki/Key_Management_Interoperability_Protocol

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-09 11:39:33 +05:30
Rakshith R 9c4592720c csi: add NFS expansion support
This commit adds resizer sidecar to
NFS driver and required storageclass
and rbac changes.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-08 16:15:37 +05:30
Rakshith R 73042c7531 csi: add NFS snapshot support
This commit adds snapshotter sidecar to
NFS driver and required yamls and docs too.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-08 16:15:37 +05:30
Blaine Gardner 270579e144 Merge pull request #10776 from motorailgun/better-healthcheck-message
operator: improve ProbeHandler error message
2022-09-07 11:49:59 -06:00
Travis Nielsen 80e80ffeb2 Merge pull request #10906 from Madhu-1/fix-csi-config
csi: remove findCSIChange from predicate
2022-09-07 09:10:55 -06:00
yati1998 cc4fd0c547 csi: remove controller-ip from csi-addons
This commit removes controller-ip parameter from
csi-addons sidecar as it is no longer required to be
passed.

Signed-off-by: yati1998 <ypadia@redhat.com>
2022-09-07 14:49:32 +05:30
yati1998 9b4361b379 rbdmirror: remove volume replication sidecar
The volume replication operator is being moved to
kubernetes-csi-addons. This commit hence, removes
the volume replication sidecar and updates the
related documentation.
It will also update the csi-addons sidecar version
to the latest one.

Closes: #10655

Signed-off-by: yati1998 <ypadia@redhat.com>
2022-09-07 14:49:19 +05:30
Madhu Rajanna 5b843a17a1 csi: remove findCSIChange from predicate
findCSIChange will work only for single
line values/configration in the configmap,
If the value is multiline the regex will not
be able to indentify the change because of this
one no configurations will be applied to the
csi driver. Removing this check so that if there
is any update on the configmap we will
reconcile the csi driver.

Note:- This might looks heavy but updating of config
map is not a frequent event.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-09-07 13:08:56 +05:30
motorailgun ff0951738f operator: improve ProbeHandler error message
This commit implements more diagnostic error for unsccessful
Liveness- and Readiness-Probe of Pods.

Added codes are expected to catch failures of
`ceph status` and `ceph mon_status`, and report it.

Closes: https://github.com/rook/rook/issues/9846
Closes: https://github.com/rook/rook/issues/9852

Signed-off-by: motorailgun <motoi_public@mail.aria-on-the-planet.es>
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2022-09-07 07:35:33 +00:00
Travis Nielsen 1bbf8f7a43 Merge pull request #10791 from Rakshith-R/use-cephcsi-nfsnodeplugin
csi: use cephcsi image for nfs nodeserver + holder design
2022-09-06 10:52:30 -06:00
Travis Nielsen c840fd7903 Merge pull request #10854 from humblec/fsgroup-rbd
csi: change the default fsgroup policy for CSI driver object
2022-09-06 07:23:16 -06:00
Satoru Takeuchi c7ab01b946 Merge pull request #10858 from cybozu-go/osd-refactoring
osd: refactor code
2022-09-03 06:25:17 +09:00
Satoru Takeuchi 00b3d0f323 osd: refactor code
Simplify osd management code.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2022-09-02 11:17:05 +00:00
Rakshith R 7722226521 csi: remove nfs image
This commit remove nfs image
since it is no longer needed.
Cephcsi itself will act as nfs
nodeserver.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-02 14:16:15 +05:30
Rakshith R 7c6e4d71bc csi: add holder pod support for nfs
This commit adds holder pod support
for nfs to be able to work in non-host
networking scenario, without being
affected by restarts of csi-nfsplugin.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-02 14:16:15 +05:30
Rakshith R 9405b59ff4 csi: use cephcsi image for nfs nodeserver
Cephcsi v3.7 now supports nfs nodeserver.
This commit changes nfs nodeserver image to
cephcsi image and makes other necessary
modifications to template.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-02 14:16:15 +05:30
Madhu Rajanna 32943b64e3 csi: add missing serviceAccoutName to holder
Add missing serviceAccountName for the holder
daemonset to create the pods with required
access.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-09-02 13:20:47 +05:30
Madhu Rajanna 2dae7f6778 csi: set daemonset set name as template name
Currently daemonset template.metadata.name is
empty and the way we are setting is not correct
use the daemonset name as the template.metadata.name

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-09-02 11:30:41 +05:30
Humble Chirammal 32ecc37d37 csi: change the default fsgroup policy for CSI driver object
This commit change the default fsgroup policy for csi driver object
to "File" type which is the better/correct setting for the CSI volumes
We have been using default value which is "ReadWriteOnceWithFSType".
with this change backward compatibility should be preserved.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-09-01 10:11:39 +05:30
Travis Nielsen b6ccbffc11 Merge pull request #10804 from zhucan/bugfix-10743
object: gateway.port partially ignored when hostNetwork disabled
2022-08-31 09:27:00 -06:00
Travis Nielsen 3f4f3269d0 Merge pull request #10840 from humblec/sidecar
csi: use the latest sidecars for ceph csi driver
2022-08-31 09:15:26 -06:00
Travis Nielsen edc4a9b3b3 Merge pull request #10827 from Abirdcfly/master
csi: remove duplicate word in comments
2022-08-31 07:33:43 -06:00
Humble Chirammal 6ef366dc34 csi: use the latest sidecars for ceph csi driver
at present, the csi sidecars are older versions and not in parity
with the latest ceph csi release v3.7.0. This commit update the
same to make it.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-08-31 14:43:00 +05:30
Abirdcfly 7224bb8499 csi: remove duplicate word in comments
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-08-31 14:09:26 +08:00
zhucan b94f080548 object: gateway.port partially ignored when hostNetwork disabled
Signed-off-by: zhucan <zhucan.k8s@gmail.com>
2022-08-31 10:19:22 +08:00
Travis Nielsen a6dfb77827 build: update min version to k8s 1.19
Rook will support the most recent seven K8s releases,
so we update the min version to 1.19 for Rook v1.10.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-08-30 15:15:20 -06:00
Travis Nielsen 055c22f4c4 rbdmirror: rotate logs for rbd mirroring
The rbd mirror daemon logs to two files, one for the
lodal mirror daemon and one log from the other cluster
where the mirroring is taking place. The log rotation
was only rotating one of the logs. Now we make the
log rotation more general to catch all of the rbd mirror
logs from different clusters.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-08-29 14:45:44 -06:00
Travis Nielsen 538025111a core: only log errors with v1beta1 cron job
v1beta1 cron jobs have not been created by rook since k8s 1.21
and now are fully removed in 1.25. As long as we still support
older than 1.21 we still need to attempt to delete the v1beta1
cron jobs in case they had been created before an upgrade.
If the deletion fails, now we just log a debug statement since
it is a normal condition, and continue with the v1 cron job
creation.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-08-29 13:31:24 -06:00
Satoru Takeuchi b68bef7522 Merge pull request #10717 from travisn/mon-failover-error
mon: Improve mon failover reliability to better handle failure and topology
2022-08-24 17:26:57 +09:00
Madhu Rajanna 6a650e1c9d csi: make cephcsi 3.6.0 as minimum supported version
Setting the min version to 3.7 will make upgrade
difficult. If someone is using any different/custom
version, this means they won't be able to upgrade to
rook v1.10 unless they also update their csi image
at the same time. If we set the min version to 3.6,
it will give some time buffer to allow them to
change the csi driver later.

ref: https://github.com/rook/rook/pull/10759#discussion_r953014295

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2022-08-24 08:48:09 +05:30