Commit Graph
2042 Commits
Author SHA1 Message Date
Blaine Gardner c07d89d9ea core: rgw: allow specifying daemon startup probes
Allow specifying daemon startup probes where we also allow configuring
liveness probes. Startup probes allow Rook to tolerate when Ceph daemons
occasionally take a long time to start up while not also making
Kubernetes liveness probes slower to detect runtime failures of daemons.

Startup probes are beta in Kubernetes 1.18, so we should not enable
probes by default for earlier Kubernetes versions.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-12-21 15:12:41 -07:00
Sébastien Han 6e9eb33782 subvolumegroup: add new crd
This introduces a new CRD to add the ability to create subvolumegroup
for a given ceph filesystem volume. Typically the name of the volume is
the name of the filesystem created by rook.

Closes: https://github.com/rook/rook/issues/7036
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-12-21 16:28:38 +01:00
vshinde727 6a0690383a docs: fixed typo on rbd mirroring documentation
Signed-off-by: Vivek Shinde <vshinde@parallelwireless.com>
2021-12-20 15:53:21 +05:30
Travis Nielsen 277252a46d docs: recommend primary affinity over hybrid pools
Hybrid pools suffer from lower availability when a node goes down,
so we recommend primary affinity instead of hybrid pools.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-12-17 15:09:21 -07:00
Blaine Gardner 6c90d66875 docs: add jumbo frames note to common issues
Resolves #9320

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-12-16 16:13:43 -07:00
Travis Nielsen 7ee9cc9d56 pool: allow configuration of built-in pools with non-k8s names
The built-in pools device_health_metrics and .nfs created by ceph
need to be configured for replicas, failure domain, etc.
To support this, we allow the pool to be created as a CR.
Since K8s does not support underscores in the resource names
the operator must translate this special pool name into
the name expected by ceph.

This also sets the basis for allowing filesystem data
pools to specify the desired pool name instead of requiring
a generated name.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-12-15 15:32:02 -07:00
Blaine Gardner 016ae962c7 Merge pull request #9388 from BlaineEXE/helm-add-monitoring-option
helm: add optional monitoring RBAC to operator chart
2021-12-14 15:35:49 -07:00
Blaine GardnerandMathieu Parent e3be7a30ba helm: add optional monitoring RBAC to operator chart
An older version of the Helm chart always installed RBAC permissions for
enabling monitoring. In an effort to reduce the privileges Rook uses by
default, they were removed. We need to still include the monitoring RBAC
optionally since the change could break some users.

Co-authored-by: Mathieu Parent <mathieu.parent@insee.fr>
Co-authored-by: Blaine Gardner <blaine.gardner@redhat.com>

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-12-14 15:32:54 -07:00
Denis Egorenko 3ff681e81d file: allow to create CephFS data pools with predefined names
Add an ability to create data pools for CephFS with predefined
names.

Related-Issue: rook#9295
Signed-off-by: Denis Egorenko <degorenko@mirantis.com>
2021-12-14 12:52:19 +04:00
Blaine GardnerandSébastien Han 6c09de619f docs: add instructions to upgrade admission controller
In 1.8, the admission controller has merged with the operator and the
operator needs an emptyDir and a volume mount to store the webhook
certificates.

Co-authored-by: Blaine Gardner <blaine.gardner@redhat.com>
Co-authored-by: Sébastien Han <seb@redhat.com>

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-12-09 12:39:19 -07:00
Blaine Gardner aaecc93315 nfs: remove poolConfig
Remove the poolConfig in CephNFS to prevent different CephNFS CRs from
contending to change the replication spec of the default NFS pool.

Resolves #9355

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-12-08 13:56:28 -07:00
Sébastien Han 2bba4f18b8 Merge pull request #9343 from leseb/bump-to-16.2.7
core: bump to ceph 16.2.7
2021-12-08 18:03:41 +01:00
Blaine Gardner d20692aa6a Merge pull request #9281 from BlaineEXE/nfs-docs
docs: update NFS docs
2021-12-08 10:00:46 -07:00
Sébastien Han 0a918814ea core: bump to ceph 16.2.7
ceph 16.2.7 is out so let's use it in our manifests.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-12-08 17:24:56 +01:00
Blaine Gardner e98959cce0 docs: update NFS docs
NFS docs need to be updated to reflect changes between Octopus and
Pacific, how users are affected, how NFS is configured differently
between the Ceph versions, and how to upgrade from one Ceph version to
the other.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-12-08 09:14:53 -07:00
Travis Nielsen 8e55dd9d41 pool: update the desired failure domain when changed
The failure domain is baked into the crush rule that is
created for a pool. To allow for an updated failure domain
on the pool, create a new crush rule specific for that
failure domain and update the pool with the new rule.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-12-08 08:10:53 -07:00
Travis Nielsen 3d69e10ac4 Merge pull request #8452 from subhamkrai/ec-file-layout
mds: create EC pool as secondary pool
2021-12-07 15:47:01 -07:00
Travis Nielsen 1002c6fd2e docs: clarify helm chart version upgrades
Since the cluster helm chart was created in v1.7, the new helm
chart specifies the ceph image, so we clarify the upgrade
doc with the latest info.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-12-07 14:09:45 -07:00
Blaine Gardner d9806a8ec9 Merge pull request #9317 from BlaineEXE/upgrade-docs
docs: revise upgrade doc for Rook v1.8
2021-12-07 09:30:20 -07:00
Blaine Gardner 922ecbf53a docs: revise upgrade doc for Rook v1.8
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-12-07 09:15:56 -07:00
Yuval Lifshitz cd0cc8fa1c rgw: add note that bucket notifications are epxerimental
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
2021-12-07 10:41:46 +02:00
subhamkrai 5bb29f1a21 mds: create EC pool as secondary pool
When creating EC fs, create replicated pool as primary
pool and ec pool as secondary pool, creating ec pool
as primary is not encouraged and it will lead to failure.

Also, changing the pool name in storageclass-ec file.

Closes: https://github.com/rook/rook/issues/8210
Signed-off-by: subhamkrai <srai@redhat.com>
2021-12-07 07:44:54 +05:30
Travis Nielsen baa67c8d5a Merge pull request #9287 from TomHellier/9286-add-mount-options-to-helm-chart
helm: addition of mountOptions into storage class configuration
2021-12-01 10:19:35 -07:00
Tom Hellier caa2c8323b helm: addition of mountOptions into storage class configuration
It should be possible to configure the storage classs mount options, this follows
the helm code used by the ceph-csi project for their ceph-csi-rbd and ceph-csi-cephfs
helm charts.

Signed-off-by: Tom Hellier <me@tomhellier.com>
2021-12-01 10:50:42 +00:00
Humble Chirammal e5f5d9be9f csi: mount host's /etc/selinux in node plugins
This commit introduces a new configuration option for
ceph csi driver to enable hostpath mounting of /etc/selinux
directory from the cluster node where csi plugin pods are
running, which inturn help the csi driver to specify
selinux-related mount options like context.

Ref# https://github.com/ceph/ceph-csi/issues/2295

The default value for this configuration is true and if cluster
nodes are running without selinux enabled, an admin can deploy
csi pods by specifying this option to `false` which skip the
host path mounting for the csi pods.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2021-12-01 11:13:26 +05:30
Sébastien Han c890710b63 core: change directory layout
As per discussion, proposing a new layout for the charts/yaml/olm files.

./deploy
├── charts
│   ├── rook-ceph
│   │   └── templates
│   └── rook-ceph-cluster
│       └── templates
├── examples
│   ├── csi
│   │   ├── cephfs
│   │   └── rbd
│   ├── flex
│   ├── monitoring
│   ├── pre-k8s-1.16
└── olm
    └── assemble

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-30 09:12:53 +01:00
Travis Nielsen ba54567e8f Merge pull request #9176 from TomHellier/9174-ingress-support-more-k8s-versions
helm: Allow further configurability of the ingress version
2021-11-23 13:47:33 -07:00
Travis Nielsen d340bccd44 Merge pull request #9202 from thotz/hpakedadoc
docs: add details about HPA via KEDA
2021-11-23 10:42:03 -07:00
Sébastien Han f9f08c88ca docs: move the test readme to the official doc
The instructions to deploy a developer environment are useful and should
be part of the official documentation instead of being hidden in the
repo's README.md. Also, remove ancient documentation to deploy with
kubespray a multi-node env.
Also, add a warning to always run tests env in a virtual machine.

Closes: https://github.com/rook/rook/issues/9166
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-23 15:56:28 +01:00
Jiffin Tony Thottan d32c837e35 docs: add details about HPA via KEDA
By default HPA can use details about memory or CPU consumption for
autoscaling, but also it can use custom metrics as well. There are alot
provides supports HPA via customer and one of them is KEDA project. Here
it is done with help of Prometheus Scaler

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2021-11-23 16:50:18 +05:30
Tom Hellier ba44602477 helm: allow further configurability of ingress version
The ingress api version changed when it went to v1, and this has caused some upheaval
throughout the kubernetes ecosystem. This commit uses a common method of deciding which
ingress api to use, and allows the optional override of the kubernetes version
presented to helm using the helm build-in capabilities.
also add an ingress into the helm integration tests so any regressions to how ingresses
are handled in the future are caught easier.

Closes rook#9174

Signed-off-by: Tom Hellier <me@tomhellier.com>
2021-11-22 10:03:02 +00:00
Blaine Gardner b9faa9d82f Merge pull request #9187 from BlaineEXE/bluestore_fsck_quick_fix_on_mount-upgrade-warning
docs: add OMAP quick fix warning to upgrade guide
2021-11-18 12:47:11 -07:00
Blaine Gardner cd832e5832 Merge pull request #8579 from thotz/vaultsslsupport
ceph: add support in RGW to communicate vault with TLS
2021-11-18 12:32:38 -07:00
Blaine Gardner 1f8719650a docs: add OMAP quick fix warning to upgrade guide
Ceph has recently reported that it may be unsafe to upgrade clusters
from Nautilus/Octopus to Pacific v16.2.0 through v16.2.6. We are
tracking this in Rook issue https://github.com/rook/rook/issues/9185.
Add a warning to the upgrade doc about this.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-11-18 10:04:25 -07:00
subhamkrai 951940805d docs: remove old commitlint component ceph from doc
Removing `ceph` component from doc as component
`ceph` was removed from commitlint bot earlier.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-11-17 21:24:28 +05:30
Jiffin Tony Thottan aba50d3ca9 object: add support in RGW to communicate vault with TLS
From ceph v16.2.6 onwards the vault TLS suppport in RGW was added,
include similar changes for RGW.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2021-11-17 10:19:28 +05:30
Travis Nielsen ad2a1eb2ec docs: generate correct doc links to master github branch
The latest docs should link to the master examples on github.
Only the docs were renamed to latest, but not the github branch.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-11-15 13:49:17 -07:00
Travis Nielsen c3b5d3b078 Merge pull request #9155 from travisn/latest-doc-links
docs: Fix the links from docs to github examples in master branch
2021-11-11 17:27:47 -07:00
Travis Nielsen 839fdfe95d docs: fix the links to examples in master branch
With the recent rename of master docs to the latest docs,
the links from the docs back to github need to be generated
with the latest url instead of master.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-11-11 15:32:29 -07:00
Madhu Rajanna 953cabf999 docs: fix ephemeral link for rbd pod
fixed the ephemeral link for the rbd pod.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2021-11-11 20:04:55 +05:30
Sébastien Han 889856b78f core: add s5cmd binary to operator image
The toolbox can now interact with S3 gateways using the `s5cmd` tool.
The binary is only 12M so this does not add up too much to the operator
image size.

Closes: https://github.com/rook/rook/issues/4968
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-09 16:56:30 +01:00
Travis Nielsen 6dc0cc54b9 Merge pull request #8426 from yuvalif/ceph-bucket-notifications
ceph: support bucket notifications for object storage
2021-11-04 17:35:08 -06:00
Blaine Gardner 685cf0e6d7 Merge pull request #9092 from leseb/fix-bound_service_account_names
osd: use multiple service account for vault role
2021-11-04 16:00:20 -06:00
Travis Nielsen 41ef578859 Merge pull request #9055 from humblec/ephemeral
ceph: support ephemeral volumes with Ceph CSI RBD and CephFS driver
2021-11-04 09:03:56 -06:00
Sébastien Han 16729e0e38 osd: use multiple service account for vault role
We can pass bound_service_account_names with a comma separated list of
service accounts. Let's do this instead of remapping new values.
Earlier, we thought a single service account could be added per Vault
role and we were using other variables like
`VAULT_AUTH_KUBERNETES_ROOK_OPERATOR_ROLE` that we were remapping to
`VAULT_AUTH_KUBERNETES_ROLE` internal for the API calls to Vault.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-04 15:15:46 +01:00
Yuval Lifshitz 71ed45b69b rgw: implement bucket notifications for object storage
following the design from here:
https://github.com/rook/rook/blob/master/design/ceph/object/ceph-bucket-notification-crd.md

Closes: https://github.com/rook/rook/issues/5313
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
2021-11-04 11:20:40 +02:00
Humble Chirammal dcf522c37d csi: support ephemeral volumes with Ceph CSI RBD and CephFS driver
This commit make required changes for ceph csi drivers to work with
ephemeral volume support. With ephemeral volume support a user can
specify ephemeral volumes in its pod spec and tie the lifecycle
of the PVC with the POD.

An example POD spec looks like this:

```
kind: Pod
apiVersion: v1
metadata:
  name: csi-rbd-demo-ephemeral-pod
spec:
  containers:
    - name: web-server
      image: docker.io/library/nginx:latest
      volumeMounts:
        - mountPath: "/myspace"
          name: mypvc
  volumes:
    - name: mypvc
      ephemeral:
        volumeClaimTemplate:
          spec:
            accessModes: ["ReadWriteOnce"]
            storageClassName: "rook-ceph-block"
            resources:
              requests:
                storage: 1Gi
```

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2021-11-02 19:53:39 +05:30
Sébastien Han c3d4ead6d6 Merge pull request #9040 from leseb/fix-9034
nfs: add pool setting CR option
2021-10-29 15:42:48 +02:00
Travis Nielsen 9e492bb5b3 Merge pull request #9065 from degorenko/doc-fix-for-objectstore
docs: add doc note for caBundleRef for cephobjectstore
2021-10-29 07:26:15 -06:00
Satoru Takeuchi f46e5ffe3a Merge pull request #9064 from leseb/update-toolbox-example
docs: stop pasting toolbox yaml in doc
2021-10-29 20:01:39 +09:00