Commit Graph
617 Commits
Author SHA1 Message Date
Vineet Badrinath ce1003aef8 ceph: adds scripts and components to support admission controllers
adds deploy.sh script to deploy validatingwebhookconfiguration and create secrets.
adds new command ceph admission-controller to start webhook servers.
adds validation for various rook custom resources

Signed-off-by: Vineet Badrinath <vbadrina@redhat.com>
2020-06-24 14:59:00 +05:30
Anmol Sachan 7cebf15a7d ceph: added CephClusterReadOnly alert and updated utilization alerts
Added a new critical alert CephClusterReadOnly which notifies when the cluster becomes read-only
Updated the warning and critical alert to accomodate the new alert

Closes: BZ1809248
Signed-off-by: Anmol Sachan <anmol13694@gmail.com>
2020-06-19 14:07:51 +05:30
Sébastien Han 1e4a4b477a Merge pull request #5111 from leseb/lang-neutral-ceph
ceph: use octopus base image
2020-06-18 10:46:54 +02:00
Sébastien Han c7f255a0e8 ceph: add the ability to set any pool property
We can now explicitly set any property on a given pool by using the new
Property field in the CephBlockPool Spec.

Also, this fixes the case where both `CephBlockPool` and `CephCluster`
are created at the same time. When Rook creates the pool, the cluster is
still being bootstrapped and the global option
`osd_pool_default_pg_autoscale_mode` has not bee set yet. So the pool
gets created but its `pg_autoscale_mode` property is set to `warn`
instead of `on`.

Closes: https://github.com/rook/rook/issues/5608V
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-06-17 10:08:00 +02:00
Sébastien Han 83acb5d91b Merge pull request #5657 from leseb/fix-ip-script
ceph: fix script IP parsing
2020-06-16 16:06:56 +02:00
Sébastien Han 82877f0c02 ceph: fix script IP parsing
The script wasn't allowing IPs like 192.168.0.2, 0 has part of the
subnet is valid.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-06-16 16:04:45 +02:00
Sébastien Han 6c5c726d14 ceph: use octopus base image
Since 1.3 will support both Nautilus and Octopus, let's use Octopus for
the base image. Newer images have retro-compatibility with older Ceph
versions.

Closes: https://github.com/rook/rook/issues/1765
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-06-16 10:19:01 +02:00
UMEZAWA Takeshi 6085ff3223 ceph: add schedulerName property to storageClassDeviceSet
Support schdulerName to use another scheduler for OSD pod placement.

Closes: https://github.com/rook/rook/issues/5536
Signed-off-by: UMEZAWA Takeshi <takeshi-umezawa@cybozu.co.jp>
Signed-off-by: Masayuki Ishii <masa213f@gmail.com>
2020-06-12 11:53:28 +09:00
Ali Maredia fc579f4520 ceph: initial commit for ceph rgw multisite resources
This commit contains CR implementations for:
CephObjectRealm
CephObjectZoneGroup
CephObjectZone

Also there are changes made to the objectstore
to add rgws in the object-store to zones and
zone groups in a multisite configuration and
the removal of the --default parameter for any
realms/zonegroups/zones that are created.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-06-09 16:28:53 -04:00
Madhu Rajanna 09ccf55453 ceph: update cephcsi to v2.1.2
Cephcsi v2.1.2 is released with bug fixes,
refer https://github.com/ceph/ceph-csi/releases/tag/v2.1.2
for release details.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-06-05 14:43:05 +05:30
Arun Kumar Mohan 2f195bbdfa Ceph: Added the missing double quotes in JSON output
Without the double quotes, operator is unable to parse the json output from the script

Signed-off-by: Arun Kumar Mohan <arun.iiird@gmail.com>
2020-05-29 02:01:55 +05:30
Sébastien Han c799e11032 ceph: enhancement cleanup with disks
Now, we can not only cleanup monitor data, logs and crashes but the
disks too. As part of the cleanupPolicy CR spec, we have a new setting
called sanitizeDisks which holds more details:

* confirmation: the confirmation message to sanitize disks,
use "yes-really-sanitize-disks" to confirm

This will **only** wipe the metadata, so it's a fast cleanup allowing
you to re-install later but won't remove all the data from the drive.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-27 18:14:02 +02:00
Travis Nielsen 0e328b5410 Merge pull request #5478 from leseb/rgw-cert-fix
ceph: change rgw certificate mode
2020-05-13 18:03:33 -06:00
Sébastien Han 5fffb76d24 op: add scc reminder
On Octopus cluster, we don't use the host PID anymore to run OSD so
adding a reminder to remove it later.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-13 18:14:14 +02:00
Sébastien Han 362086d16c script: add 2 new SC
* Clarify the helper for the run-as-user argument
* Add 2 new storage class and put the data so we stick with the same
pattern as the Secret and ConfigMap

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-13 16:27:33 +02:00
Sébastien Han eeaac6d0da Merge pull request #5459 from leseb/ocp-op-settings
ceph: add missing op option for ocp
2020-05-12 11:24:17 +02:00
Sébastien Han 8a55006365 ceph: add missing op option for ocp
Resync with operator.yaml

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-12 11:18:32 +02:00
Sébastien Han 1b44cf2f30 Merge pull request #5388 from aruniiird/externalClusterResourcesJSONOutputPython
Python script to generate needed external cluster resources in JSON format
2020-05-11 19:52:15 +02:00
Arun Kumar Mohan 23d2191147 ceph: Python script to generate needed external cluster resources in JSON format
This script will generate JSON format of all the needed resources.
Script can also generate the output in Shell script format.

Signed-off-by: Arun Kumar Mohan <arun.iiird@gmail.com>
2020-05-11 20:39:10 +05:30
Sébastien Han 36985defd9 ceph: fix import script csi details
The cephfs csi driver expects both adminID and adminKey instead of
userID and userKey which are only specific to rbd.

Closes: https://github.com/rook/rook/issues/5432
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-11 10:57:04 +02:00
Sébastien Han 1a87d484de Merge pull request #5428 from travisn/test-pool-default-size
Set test default pool size to one
2020-05-11 09:47:25 +02:00
Madhu Rajanna e8a999daea CSI: fix typo in operator.yaml and operator-openshift.yaml
there was a typo in operator.yaml and operator.openshift.yaml
file for priorityclass , This PR fixes the typo.

Resolves #5442

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-05-09 08:46:21 +05:30
Travis Nielsen dc7802e369 ceph: set test default pool size to one
In test environments there may only be a single node, so we set
the default pool size in the test example to one.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-05-07 16:26:30 -06:00
Travis Nielsen f82a07d441 Merge pull request #5394 from Madhu-1/csi-prio
CSI: Set PriorityClassName for CSI pods
2020-05-06 07:08:54 -06:00
Madhu Rajanna ec3ab55d94 CSI: Set PriorityClassName for CSI provisioner pods
provide an option to set PriorityclassName on the
CSI provisioner pods to avoid pod eviction, as the CSI provisioner
pods a critical in system for storage. the default value
for the CSI provisioner pods is set to system-cluster-critical.

provisioner pods are less priority than plugin pods.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-05-06 15:45:06 +05:30
Madhu Rajanna cc6ec58891 CSI: Set PriorityClassName for CSI plugin pods
provide an option to set Priorityclassname on the
CSI plugin pods to avoid pod eviction, as the CSI plugin pods are
critical in system for storage. the default value
for the CSI plugin pods is set to system-node-critical.
more info can be found at
https://kubernetes.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-05-06 15:45:01 +05:30
Sébastien Han cecbfcfba6 Merge pull request #5372 from leseb/obc-independent-mode
ceph: add support for OBC on external cluster
2020-05-06 10:30:15 +02:00
Sébastien Han 511f16ca70 Merge pull request #5401 from cybozu-go/cleanup-the-integration-test-and-remove-the-description-of-a-removed-feature
Cleanup the integration test and remove the description of a removed feature
2020-05-06 10:15:22 +02:00
Satoru Takeuchi 22c5743656 cleanup: remove the descriptions of directory-based OSD
Directory-based OSD is not supported in v1.3.0 anymore. Let's remove
the descriptions of this feature. As an exception, it should still
be in the manifests of v1.2.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-05-06 00:44:31 +09:00
Madhu Rajanna 73c74d8a42 CSI: Update CSI version to v2.1.1
cephcsi v2.1.1 is released with fix for xfs formatting
issue. This PR updates the cephcsi image version to
v2.1.1

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-05-05 13:08:23 +05:30
Sébastien Han b86bb9c528 ceph: add support for OBC on external cluster
We can now consume an external s3 endpoint which is not managed by Rook.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-04 18:14:26 +02:00
Sébastien Han 656240831c ceph: remove leftover rbd mirror in cluster.yaml
Since the rbd mirror has been extracted to its own CR, it does not exist
in cluster.yaml anymore.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-05-04 13:55:58 +02:00
Dmitry Yusupov 9b6c1ede66 Merge pull request #5360 from dyusupov/master
edgefs: provide a way to configure ADS
2020-04-29 09:27:56 -07:00
Travis Nielsen f8e884d2ce Merge pull request #5287 from Madhu-1/resource-limit-csi
CSI: Add resource request and limit for CSI pods
2020-04-29 08:09:19 -06:00
Madhu Rajanna 8bb7df8374 CSI: Update operator template for CSI resource
Updated operator and operator-openshift yaml files
for the CSI resouce requirements.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-04-29 10:26:56 +05:30
Madhu Rajanna a0270c57ea CSI: rename attacher sidecar name to follow other sidecar names
Renamed the csi attacher sidecar container name
to follow the nameing convention of other
sidecar containers of the CSI

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-04-29 10:26:56 +05:30
Dmitry Yusupov 2746b2edee edgefs: provide a way to configure ADS
Signed-off-by: Dmitry Yusupov <dmitry.yusupov@nexenta.com>
2020-04-28 14:58:40 -07:00
Sébastien Han bb3c6bdf47 Merge pull request #5343 from travisn/enable-pg-autoscaler
Enable pg_autoscaler module in default examples
2020-04-28 19:01:39 +02:00
Sébastien Han f27fd207ce ceph: convert the CephCluster controller to the controller-runtime
This is the final conversion to controller-runtime conversion. This time the
CephCluster CRD has been converted to use the controller-runtime
library.
The controller incorporates all the previous watchers too, so the Node
and hot-plug configmap are been watched too.
Only the operator setting configmap is not being watcher since it's not
related to the CephCluster CRD.
Not only the patch converts to controller-runtime but also tries to
re-organize the tree of the repo to actually make the code more
readable and have better functions/methods/tests separations.

Closes: https://github.com/rook/rook/issues/4939
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-04-28 09:40:35 +02:00
Travis Nielsen d9ee447549 ceph: enable pg_autoscaler module in default examples
The pg_autoscaler is enabled by default in octopus. In nautilus
it was a new feature and was not enabled by default for that reason.
Now that the pg_autoscaler is more stable and is essentially
the same as the autoscaler in octopus, we can enable it by default.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-27 16:17:30 -06:00
Blaine Gardner 2bf340ff0b ceph: append 00 to rook-privileged PSP name
Adding seccomp annotations to the PSP has made Kubernetes start choosing
the recommended Kubernetes "default" PSP over the Rook privileged PSP,
causing operator start errors. Append 00 (double zero) to the beginning
of the PSP name to make sure it is one of the first PSPs checked by
Kubernetes and will be matched before the "default" one.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2020-04-24 10:21:19 -06:00
Travis Nielsen af09c308df Merge pull request #5297 from binoue/update-helm-chart
ceph: update helm chart manifests
2020-04-23 13:40:50 -06:00
Travis Nielsen 946673f3e1 Merge pull request #5305 from travisn/cluster-test-example
Restore the cluster-test.yaml example
2020-04-23 10:16:35 -06:00
Travis Nielsen 5789c2b197 Merge pull request #5289 from Madhu-1/csi-v2.1.0
CSI: update cephcsi to v2.1.0
2020-04-23 07:49:23 -06:00
binoue 18cde4596c ceph: update helm chart manifests
Currently, helm chart is little outdated and has differences with
example/common.yaml.
This commit modifies both manifests to use same resources.

Signed-off-by: binoue <banji-inoue@cybozu.co.jp>
2020-04-23 14:21:32 +09:00
Travis Nielsen 9d01f92d2c ceph: restore the cluster-test.yaml example
The cluster-test.yaml example is useful for small test clusters
where only one mon is required and certain settings can be disabled
when not running in production.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-21 15:41:39 -06:00
Travis Nielsen f8ffd2c2eb ceph: toolbox job for running a ceph script
As another option to run Ceph commands, a script can be executed
with Ceph commands as if running in the toolbox, but will instead
run in a job where the logs can be collected and analyzed
separately. This would be useful where automation is in place to collect
information about the cluster periodically or upon some failure
that is detected, without requiring an interactive shell.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-20 15:48:59 -06:00
Madhu Rajanna 5684c4cc37 CSI: update cephcsi to v2.1.0
cephcsi v2.1.0 is released and doesnot need any deployment
template changes. This PR updates the cephcsi image
version to v2.1.0

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-04-20 14:58:25 +05:30
Sébastien Han 7c994441c3 ceph: make admin key optional for external cluster
Currently, we need to configure the Ceph external Admin keyi
in the Rook deployment to be able to connect to an external Ceph cluster.
If we wanted to run in a multi-tenant fashion
were several K8s/Rook clusters wanted to connect to the same external ceph cluster,
each K8s deployment would have the access to the External Ceph Admin key
and could potentially access or delete the Data
from pools that belong to other k8s/Rook Clusters.

Now the admin key is optional but the helper script create-external-cluster-resources.sh
will help create the necessary keys/users to connect to that cluster.

Closes: https://github.com/rook/rook/issues/4917 and https://github.com/rook/rook/pull/5227
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-04-20 09:59:04 +02:00
Travis Nielsen 348690ea64 ceph: update defaults to the ceph v14.2.9 release
With the release of ceph v14.2.9 we set the default examples to this version.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-17 12:54:06 -06:00